How to Connect SiliForm with Zapier
SiliForm sends form responses directly to Zapier via webhooks, letting you pipe data into Google Sheets, Slack, Notion, HubSpot, or any of Zapier's 7,000+ supported apps - without writing a single line of code.
Before you start
- A published SiliForm form (static or dynamic)
- A free or paid Zapier account at zapier.com
- Access to the form's builder - you need to be the owner or an editor
Step 1 - Create a Catch Hook trigger in Zapier
Zapier's Webhooks by Zapier app lets any service send data to a unique URL and trigger a Zap.
- Log in to Zapier and click + Create Zap.
- In the Trigger step, search for Webhooks by Zapier and select it.
- Choose Catch Hook as the trigger event and click Continue.
- Zapier generates a unique webhook URL - copy it. It looks like:
https://hooks.zapier.com/hooks/catch/12345678/abcdef/
Step 2 - Paste the webhook URL in SiliForm
- Open your form in the SiliForm builder and click the Integrations tab in the right-hand panel.
- Find the Zapier card and paste your webhook URL into the Webhook URL field.
- Click outside the field (or press Tab). SiliForm automatically generates a signing secret (HMAC-SHA256) and saves the URL.
X-SiliForm-Signature header to every webhook request. If you build a custom receiver later, use this secret to verify the payload hasn't been tampered with.Step 3 - Send a test payload
Before activating the webhook, confirm Zapier can receive data from SiliForm.
- In the SiliForm Zapier card, click Send Test.
- SiliForm POSTs a sample payload with your form fields to the webhook URL. The button turns green with Delivered! on success.
- Switch back to Zapier and click Test trigger. Zapier picks up the incoming payload and displays the field names and values.
- Click Continue with selected record to confirm and move to the Action step.
Step 4 - Enable the webhook and go live
- Back in SiliForm, toggle the webhook from Paused to Live using the switch next to the Send Test button. The status badge changes to Active.
- In Zapier, finish building your Action - e.g., add a row to Google Sheets, send a Slack message, or create a HubSpot contact.
- Publish the Zap. From this point, every completed form submission fires a
form.submissionevent to your Zap in real time.
Optional - Sync in-progress (partial) submissions
SiliForm autosaves responses as users fill out a form. You can send these partial saves to Zapier as well.
Once the webhook is live, a second toggle appears: Sync in-progress submissions. Enable it to fire a form.partial event on each autosave, so you capture drop-off data even when users don't finish.
What the webhook payload looks like
SiliForm sends a JSON body to Zapier. A typical form.submission payload contains:
event- form.submission or form.partialformId- unique identifier of your SiliForm formsubmittedAt- ISO 8601 timestampresponses- object mapping each field label to its answer
Zapier maps these fields automatically after you confirm the test payload, so you can reference any field in downstream Zap actions.
Troubleshooting
Send Test shows "Failed"
Double-check the URL starts with https://hooks.zapier.com/. Zapier URLs expire if you close the trigger setup screen before saving - regenerate a fresh URL if needed.
Zapier shows "Waiting for webhook..." but nothing arrives
Make sure the SiliForm webhook is toggled to Live, not Paused. A paused webhook does not fire even on form submission.
Data arrives but field names are missing
Field names in the payload match the labels you set in the SiliForm builder. If you rename a field after the Zap is live, re-send a test payload and re-map the fields in your Zap action.
The best integrations are the ones that just work - paste a URL, click test, go live.