Build a Typeform Response → Airtable Record + Team Email Alert Workflow with n8n
Your team just closed a lead-gen campaign. Two hundred people filled out your Typeform. Now what? Someone on your ops team is manually copying responses into Airtable, another person is forwarding the
Your team just closed a lead-gen campaign. Two hundred people filled out your Typeform. Now what? Someone on your ops team is manually copying responses into Airtable, another person is forwarding the "important" ones to sales over Slack, and the hot lead who submitted at 11 PM sits untouched until someone notices the next morning. By then they've booked a call with your competitor. This is the silent tax of form-to-action gaps — and it's entirely avoidable.
The Problem: Form Submissions That Go Nowhere Fast
Typeform is excellent at collecting responses. It is terrible at doing anything with them. Out of the box you get an email digest, a growing list inside Typeform's own dashboard, and a native Airtable integration that is limited, rigid, and breaks the moment you need conditional logic or a second destination.
For a busy ops team, the real cost isn't the data entry — it's the latency. A lead's intent decays by the minute. Research on lead response consistently shows that contacting a prospect within five minutes versus thirty minutes changes conversion odds by an order of magnitude. When your pipeline depends on a human refreshing a tab, you're not running an operation, you're running a lottery.
The failure modes stack up quickly:
- No single source of truth. Responses live in Typeform, some get copied to Airtable, some get pasted into a spreadsheet. Nobody trusts any of them.
- No real-time alerting. The team finds out about submissions in batches, hours late.
- Manual re-keying. Copy-paste introduces typos, missed fields, and duplicated records.
- Zero routing logic. Every response is treated identically — the enterprise inquiry and the tire-kicker land in the same undifferentiated pile.
The Solution: One Workflow, Two Destinations, Zero Manual Work
The fix is a single n8n workflow that fires the instant someone hits submit. It takes the Typeform response, writes a clean record to Airtable, and emails your team a formatted alert — in real time, every time, with no spreadsheet juggling and no human in the loop.
n8n is the right tool here because it sits between your apps as a programmable middle layer. Unlike Typeform's native integrations, you control exactly how fields map, what gets filtered, and how many destinations fire. Self-host it or run it on n8n Cloud; either way the workflow is portable and yours to modify.
The architecture is deliberately simple: a Typeform Trigger node listens for submissions, an Airtable node persists the record, and a Send Email node notifies the team. Three nodes, one job, done reliably thousands of times without touching it.
Step-by-Step Setup in n8n
Here's how to build it from scratch. Budget fifteen minutes for the first run.
1. Add the Typeform Trigger node
Create a new workflow and add the Typeform Trigger node as your starting point. Authenticate using the Typeform OAuth2 or API token credential — generate a personal access token in your Typeform account under Settings → Personal tokens with forms:read and responses:read scopes. In the node, select the form you want to watch from the Form dropdown. n8n registers a webhook with Typeform automatically, so submissions are pushed instantly rather than polled — this is what gives you real-time behavior.
Click Listen for event, submit a test response in your form, and n8n captures a live payload. You'll see each answer exposed as a field you can reference downstream, typically under {{ $json.answers }} or flattened by question label depending on your Typeform configuration.
2. Map fields into the Airtable node
Add an Airtable node and set the operation to Create (or Upsert if you want to dedupe on email). Authenticate with an Airtable Personal Access Token — create one at airtable.com/create/tokens with the data.records:write and schema.bases:read scopes, and grant it access to your target base.
Select your Base and Table from the dropdowns. Then map each column to the matching Typeform answer using expressions. For example, set the Name field to {{ $json.answers.find(a => a.field.ref === 'name').text }} or, if you're using the simplified label mapping, {{ $json['What is your name?'] }}. Repeat for email, company, message, and any hidden fields you pass through Typeform's URL parameters. Add a Submitted At column mapped to {{ $json.submitted_at }} so every record is timestamped at the source.
Tip: if your field references feel brittle, drop a Set (Edit Fields) node between the trigger and Airtable. Use it to rename raw Typeform answers into clean, stable keys once. Every downstream node then reads from those keys, so a change to your form's question order never breaks the mapping.
3. Send the team email alert
Add a Send Email node (SMTP) or the Gmail node if your team runs Google Workspace. For SMTP, enter your host, port 587, and credentials — an app-specific password or a transactional provider like Postmark or SendGrid is more reliable than a personal mailbox.
Set the To field to your team distribution list (e.g. sales@yourcompany.com). Write a Subject that carries the signal at a glance: New lead: {{ $json.name }} — {{ $json.company }}. In the HTML body, template the key fields so the alert is actionable without anyone opening Airtable:
<b>{{ $json.name }}</b> just submitted.<br>Email: {{ $json.email }}<br>Message: {{ $json.message }}
Connect the nodes in order — Typeform Trigger → Airtable → Send Email — then toggle the workflow to Active. From this point on, every submission writes to Airtable and pings your team automatically.
4. (Optional) Route hot leads with an IF node
Insert an IF node before the email to escalate high-intent responses. Set a condition like {{ $json.budget }} greater than a threshold, or company field is not empty. Route the "true" branch to an urgent alert (Slack node or a separate email to a manager) and let everything else flow to the standard team notification. Now your workflow doesn't just record — it triages.
Why This Pays Off Immediately
The moment this workflow goes live, three things change measurably:
- Speed to lead collapses to seconds. The webhook fires on submit, so your team sees the alert before the respondent has closed the tab. That five-minute window becomes trivial to hit.
- Airtable becomes the single source of truth. Every response lands in a structured, timestamped record with consistent fields. No more reconciling three half-complete lists.
- Zero manual re-keying. You reclaim the hours your ops team spent copying data and eliminate the transcription errors that came with it. The workflow runs identically at 3 PM and 3 AM.
Because it's built in n8n rather than a closed native integration, it also compounds. Adding a Slack notification, a CRM record in HubSpot, or a lead-scoring API call later is a matter of dropping in one more node — not rebuilding the whole pipeline.
Common Pitfalls (and How to Avoid Them)
A few traps catch people building this for the first time:
- Field references break silently. Typeform answers can be addressed by field
ref, byid, or by question label. Labels change when someone edits the form copy. Address fields by their stableref, and normalize them in a Set node early so a wording tweak never corrupts your Airtable records. - Airtable field type mismatches. Sending a text string into a Number or Single Select column throws an error and the record fails to create. Confirm your Airtable column types match the data, and cast values explicitly (e.g.
{{ Number($json.budget) }}) where needed. - No error handling. If Airtable's API rate-limits you or SMTP hiccups, a submission can vanish. Attach an Error Trigger workflow or enable Retry On Fail on the Airtable and Email nodes (3 retries, 5-second wait) so transient failures self-heal instead of dropping leads.
- Testing against production. Point your first builds at a staging Airtable base and a personal inbox. Only swap in the live base and team distribution list once you've confirmed a full submission flows end to end.
- Forgetting to reactivate. Every time you edit a workflow, n8n may deactivate it. If submissions stop showing up, check the Active toggle first — it's the single most common "it broke" cause.
Build it once, test it properly, and this becomes infrastructure you stop thinking about — which is exactly the point. Your form stops being a data graveyard and becomes the front end of a pipeline that runs itself.
Ja construimos isso pra voce
Nao comece do zero. O Typeform Response → Airtable Record + Team Email Alert e um workflow n8n pronto para instalar — conecta suas ferramentas em minutos, sem codigo.
Instalar por $29.0 →