ProxyHook
Integrations
Pricing Try Free
Log in →

Footer

ProxyHook Logo

Support

  • Pricing
  • Documentation

Company

  • Blog

Legal

  • Contact
  • Privacy
  • Terms

integrations

Route Jotform Submissions to Airtable with ProxyHook

June 22, 2026

Glowing form responses flowing as data streams into a structured database grid

Jotform fires a webhook every time someone submits a form. That event carries the respondent's answers, the form ID, and a submission timestamp. Airtable has no idea any of this happened unless something tells it. ProxyHook is that something: it receives the Jotform webhook, routes the payload to your Airtable base, and retries automatically if the write fails.

The alternative is periodic CSV exports that miss the gap between runs, or a third-party automation tool that costs extra, requires maintenance, and adds another point of failure between two systems you already trust.

What Jotform Sends on Every Submission

Jotform POSTs a webhook request each time a form is submitted. The payload includes the form ID, a unique submission ID, the form title, and one field per question using the naming pattern q{n}_{fieldname}, where n is the question's position in the form.

An event registration form produces something like this:

{
  "formID": "230812345",
  "submissionID": "5761234567890",
  "formTitle": "Event Registration",
  "q3_name": "John Smith",
  "q4_email": "[email protected]",
  "q5_company": "Acme Corp",
  "q6_role": "Marketing Manager",
  "ip": "203.0.113.45",
  "type": "WEB"
}

ProxyHook accepts this at the Source endpoint and acknowledges it immediately, which keeps Jotform's delivery reliable regardless of whether Airtable is responding slowly or temporarily down. The actual write to Airtable happens asynchronously, with retries handled by ProxyHook if the first attempt fails.

How to Wire Jotform to Airtable in ProxyHook

1. Create the Jotform Source

In your ProxyHook dashboard, create a new Source and select Jotform. ProxyHook generates a unique ingest URL:

https://go.proxyhook.com/A817GH

Copy that URL. You will paste it into Jotform in the next step.

2. Point Jotform at Your ProxyHook Endpoint

Open the form you want to connect in Jotform and navigate to Settings -> Integrations. Search for Webhooks, select it, and click Add webhook. Paste your ProxyHook Source URL and save.

Jotform will POST to that URL on every new submission from this point forward. If you have multiple forms, repeat this step for each one. All of them can point to the same ProxyHook Source URL, and you can then use filters in ProxyHook to route each form's submissions to a different Airtable table.

3. Create the Airtable Destination

Before configuring Airtable in ProxyHook, collect two things from Airtable:

  • A Personal Access Token with data.records:write scope for the workspace that contains your target base. Generate one under Account settings -> Developer hub -> Personal access tokens.
  • Your Base ID. It appears in the URL of any Airtable base: https://airtable.com/appXXXXXXXX/tbl.../viwXXX. The appXXXXXXXX segment is the Base ID.

In ProxyHook, open the Automations tab and create a new Automation:

  1. Select your Jotform Source.
  2. Add a Destination and choose Airtable.
  3. Enter your Personal Access Token, Base ID, and the name of the table where new rows should land.
  4. Save the Automation.

Submissions now flow from Jotform through ProxyHook into Airtable in real time. Each submission creates one new row in the table you specified.

Filter by Form ID to Route Multiple Forms Separately

If several Jotform forms all point at the same ProxyHook Source, every submission from every form reaches every Destination by default. An event registration form and a contact form both writing to the same Airtable table is usually not what you want.

Add a Payload Contents filter step in the Automation, positioned between the Source and the Airtable Destination:

  • Key: formID
  • Condition: does not equal
  • Value: 230812345

Submissions where formID does not match the event registration form are dropped before they reach Airtable. Only the submissions you intended land in the table.

To route each form to its own Airtable table, create a separate Automation for each form. Each Automation starts from the same Jotform Source, adds a Payload Contents filter for the specific formID, and delivers to a different Airtable Destination configured with a different table name. The Source is shared; the routing diverges at the filter step.

You can also filter by a field value inside the submission. To accept only submissions from respondents at a specific company, add a filter with Key q5_company, Condition equals, and the company name as the value. Anything that does not match is dropped before the Airtable write.

Debugging When Rows Stop Appearing

Check Automation Activity first. Open the Automation and look at the Airtable Destination's Activity view. It shows successful deliveries (2XX responses) and failures (non-2XX responses) as separate metrics, sliceable from 30 minutes to one month. A sustained run of non-2XX responses almost always means an authentication problem: the Personal Access Token expired, was revoked, or was scoped to the wrong workspace. Regenerate a fresh token under Airtable's Developer hub, update the Destination configuration in ProxyHook, and check whether the failure rate drops.

Use Source Logs for upstream gaps. If the Activity view shows zero total deliveries during a window when you know Jotform submissions happened, the webhook is not reaching ProxyHook at all. Open the Source's Logs view, which captures the raw request, headers, and response code for every event that arrived at the endpoint. If nothing appears in that window, the Jotform webhook is the likely culprit. Jotform silently removes webhook subscriptions when you delete and recreate a form. Open Jotform's webhook settings for the affected form and confirm the ProxyHook URL is still listed.

Replay to verify filter changes. After adjusting a formID filter, you don't have to submit a new test form to verify it. Find a historical submission in Source Logs that should pass the filter, hit Replay, and confirm the row appears in Airtable. Then find a submission from a different form and replay it to confirm it is dropped. The Replay button re-sends the original payload through the full Automation including all filter steps.

Get Started

Create a Jotform Source in ProxyHook, configure a webhook in Jotform pointing at that Source URL, add an Airtable Destination with your Personal Access Token and Base ID, and connect them in an Automation. If you have multiple forms sharing one Source, add a Payload Contents filter on formID for each Automation to keep each table clean.

View the Jotform integration | View the Airtable integration

← Back to blog