# OneForm for Zapier | OneForm

> OneForm's Zapier app: instant triggers for submissions, reports, payments, bookings and hot leads, actions to email a form or make a prefilled link, and…

Source: https://oneform.si/developers/zapier/

---

1. [Home](https://oneform.si/)
2. [Developers](https://oneform.si/developers/)
3. Zapier

[View as Markdown](https://oneform.si/developers/zapier.md)

Developers

# OneForm for Zapier

Connect OneForm to thousands of apps without code, above all practice-management tools with no public API of their own, such as TaxDome. Zaps react to OneForm events the moment they happen, and can email a client a form.

## Status

In review with Zapier · not yet public

The OneForm app (version 1.0.0) is built and waiting for Zapier's review, so it isn't in Zapier's app directory yet. Until it's public you can reach the same events with Zapier's own Webhooks app and a OneForm workflow's “Send a webhook” step, or with the [REST API](https://oneform.si/developers/api/).

## Connecting

1. In OneForm, open [Settings → API keys](https://app.oneform.si/settings/api) and make a key (owners and admins can). It starts with `of_`.
2. In Zapier, add OneForm as an account and paste the key. The connection is named after your firm.

Revoking the key in OneForm disconnects Zapier and removes every subscription it made.

## Triggers

All instant: OneForm sends each event to Zapier as it happens. Each one has an optional Form filter, to run for one form only.

| Trigger                                 | Fires when                                                                                                                            |
| --------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
| New Submissionform\_submitted           | Triggers when someone submits one of your OneForm forms. Use it to find or create the client in TaxDome, Canopy or Karbon.            |
| Form Left Unfinishedpartial\_submission | Triggers when someone answers some questions, then stops for an hour without submitting (once per visit). Good for a follow-up nudge. |
| Report Approvedreport\_approved         | Triggers when someone at your firm approves a client report.                                                                          |
| Report Sentreport\_sent                 | Triggers when a report email goes out to the client.                                                                                  |
| Report Openedreport\_opened             | Triggers when a client first opens their report email or report page (once per report).                                               |
| Payment Receivedpayment\_received       | Triggers when a client pays for a report or a consultation through OneForm (Stripe).                                                  |
| Call Bookedbooking\_made                | Triggers when someone books a call with your firm from a form's thank-you screen.                                                     |
| Call Rescheduledbooking\_rescheduled    | Triggers when a booked call moves to a new time (each time it moves), whether the client or your team moved it.                       |
| Call Cancelledbooking\_cancelled        | Triggers when a booked call is cancelled, by the client or your team.                                                                 |
| Lead Turns Hotlead\_hot                 | Triggers when a person's lead score first reaches Hot (once per person; checked after a submission, or an email open or click).       |

Each trigger delivers the standard [webhook payload](https://oneform.si/developers/webhooks/#payload) (form, response, respondent, answers, fields, hidden values, report, and the booking when there is one), with an `id` added because Zapier wants one on every item.

## Actions

### Send a Form

Emails someone a link to one of your OneForm forms, in your firm's branding. Pair it with TaxDome's New Contact trigger to send every new client your intake form.

Inputs

| Name                     | Type            | Description                                                                                 |
| ------------------------ | --------------- | ------------------------------------------------------------------------------------------- |
| Formrequired             | form\_id        | Which OneForm form. Only published forms can be emailed.                                    |
| Emailrequired            | email           | Who gets the form.                                                                          |
| First nameoptional       | first\_name     | Used in the greeting ("Hi Maya").                                                           |
| Full nameoptional        | name            |                                                                                             |
| Personal messageoptional | message         | A short note shown in the email, up to 1,000 characters.                                    |
| Languageoptional         | lang            | The form's language. Leave empty for the form's default.                                    |
| Hidden fieldsoptional    | hidden\_\_<key> | One input per hidden field the chosen form declares; they refresh when you change the form. |

Returns

`status` (status (sent or skipped)), `reason` (why it was skipped), `url` (form link sent), `email_id` (email id), `ignored` (ignored hidden fields).

### Create Prefilled Link

Makes a link to one of your OneForm forms with hidden fields filled in (a TaxDome client ID, a referral source...), to send from TaxDome, your CRM or email tool. Nothing is emailed.

Inputs

| Name                  | Type            | Description                                                                                 |
| --------------------- | --------------- | ------------------------------------------------------------------------------------------- |
| Formrequired          | form\_id        | Which OneForm form. A link to a draft form only works once it is published.                 |
| Languageoptional      | lang            | The form's language. Leave empty for the form's default.                                    |
| Hidden fieldsoptional | hidden\_\_<key> | One input per hidden field the chosen form declares; they refresh when you change the form. |

Returns

`url` (prefilled link), `form_id` (form id), `published` (form is published), `ignored` (ignored hidden fields).

Only keys the form declares, and the five UTM tags, are kept; anything else comes back in `ignored`. Send a Form needs a published form and sends at most one invite per person per form a day; skipped sends come back as `status: skipped`, not as errors.

## TaxDome recipes

TaxDome's Zapier app works with accounts and contacts: create, update or find them, and New, Updated or Deleted contact triggers. It can't create jobs, tasks, documents or organizers, and tags set from Zapier must already exist in TaxDome.

### Before you start

1. A TaxDome firm owner or admin opens TaxDome → Settings → Integrations → Zapier, clicks Connect, and accepts the invite TaxDome sends.
2. Create the tags you want Zaps to apply in TaxDome (for example “OneForm lead”).
3. Connect OneForm in Zapier with an API key.

### A submission becomes a TaxDome contact

1. Trigger: OneForm → New Submission. Pick your intake form, or leave the filter empty for every form.
2. Action: TaxDome → Find Account/Contact by email, creating it when it doesn't exist (or Create Account/Contact). Map the respondent's email, first and last name, phone and company.
3. Choose an existing TaxDome tag, then turn the Zap on.
4. Optional: a second Zap on Report Sent or Call Booked that updates the contact's tag.

### A new TaxDome contact gets your intake form

1. Trigger: TaxDome → New Contact.
2. Action: OneForm → Send a Form. Pick the published form, map the contact's email and first name, and add a personal message if you like.
3. If the form has a hidden field such as `taxdome_id`, map the TaxDome id into it. It comes back with the submission, under `hidden`, so the first recipe can match the account.

Use Create Prefilled Link instead if you'd rather send the link from TaxDome's own email or client portal.

## How it works underneath

The app only uses OneForm's public REST API with your key, so anything it does, your own code can do too:

- Turning a Zap on subscribes Zapier's URL with [POST /hooks](https://oneform.si/developers/api/#create-hook); turning it off calls [DELETE /hooks/{id}](https://oneform.si/developers/api/#delete-hook).
- Testing a trigger loads [GET /triggers/{trigger}/sample](https://oneform.si/developers/api/#trigger-sample): your latest submission, or sample data.
- The Form dropdown comes from [GET /forms](https://oneform.si/developers/api/#list-forms); the connection test is [GET /me](https://oneform.si/developers/api/#get-me).
- The actions call [POST /forms/{id}/send](https://oneform.si/developers/api/#send-form) and [POST /forms/{id}/links](https://oneform.si/developers/api/#create-link).

Deleted Zaps clean up after themselves

If a Zap is deleted without unsubscribing, Zapier answers 410 Gone. After 2 in a row OneForm removes the subscription, and records it in your audit log.

[← PreviousOAuth](https://oneform.si/developers/oauth/)[Next →Form schema](https://oneform.si/developers/form-schema/)

Questions about the API, webhooks or embeds? [Ask a developer](https://oneform.si/contact/?topic=developers).

DevelopersZapier
- [Overview](https://oneform.si/developers/)
- [REST API](https://oneform.si/developers/api/)
- [Webhooks](https://oneform.si/developers/webhooks/)
- [Embed](https://oneform.si/developers/embed/)
- [AI agents (MCP)](https://oneform.si/developers/mcp/)
- [OAuth](https://oneform.si/developers/oauth/)
- [Zapier](https://oneform.si/developers/zapier/)
- [Form schema](https://oneform.si/developers/form-schema/)

Developers

- [Overview](https://oneform.si/developers/)
- [REST API](https://oneform.si/developers/api/)
- [Webhooks](https://oneform.si/developers/webhooks/)
- [Embed](https://oneform.si/developers/embed/)
- [AI agents (MCP)](https://oneform.si/developers/mcp/)
- [OAuth](https://oneform.si/developers/oauth/)
- [Zapier](https://oneform.si/developers/zapier/)
- [Form schema](https://oneform.si/developers/form-schema/)

[OpenAPI spec](https://oneform.si/developers/openapi.json)[Ask a developer](https://oneform.si/contact/?topic=developers)
