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.
Connecting
- In OneForm, open Settings → API keys and make a key (owners and admins can). It starts with
of_. - 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 (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 | 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
- A TaxDome firm owner or admin opens TaxDome → Settings → Integrations → Zapier, clicks Connect, and accepts the invite TaxDome sends.
- Create the tags you want Zaps to apply in TaxDome (for example “OneForm lead”).
- Connect OneForm in Zapier with an API key.
A submission becomes a TaxDome contact
- Trigger: OneForm → New Submission. Pick your intake form, or leave the filter empty for every form.
- 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.
- Choose an existing TaxDome tag, then turn the Zap on.
- Optional: a second Zap on Report Sent or Call Booked that updates the contact's tag.
A new TaxDome contact gets your intake form
- Trigger: TaxDome → New Contact.
- 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.
- If the form has a hidden field such as
taxdome_id, map the TaxDome id into it. It comes back with the submission, underhidden, 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; turning it off calls DELETE /hooks/{id}.
- Testing a trigger loads GET /triggers/{trigger}/sample: your latest submission, or sample data.
- The Form dropdown comes from GET /forms; the connection test is GET /me.
- The actions call POST /forms/{id}/send and POST /forms/{id}/links.