Why Connect Airtable to Inbound Email
Airtable stores structured data, but a surprising amount of business data still arrives via email — form submissions, order confirmations, sensor reports, and CSV attachments. JsonHook acts as the extraction layer, parsing incoming emails and pushing the relevant fields into Airtable as new rows or updated records without any manual intervention.
Connecting your inbound email to Airtable through JsonHook unlocks a range of high-value automation scenarios:
- Insert a new row for every inbound form-submission email
- Update existing records when a status-change email is received
- Store complete email metadata alongside extracted field values
- Aggregate daily report emails into a time-series table automatically
- Sync external order data from email confirmations into your database schema
Airtable supports Airtable Automations webhook trigger or API POST, which makes it a natural target for JsonHook's outbound POST requests. Every email that hits your JsonHook address is parsed within milliseconds and delivered to Airtable as a clean JSON object — no polling, no manual export, no middleware server to maintain.
Setting Up Airtable with JsonHook
The following steps walk you through connecting JsonHook to Airtable. The entire setup typically takes under ten minutes.
- Step 1: In Airtable, open the base where you want to store incoming emails. Create a table with fields: Subject (Single line text), From (Email), Body (Long text), Received At (Date/time), and Raw JSON (Long text).
- Step 2: Open Automations in your Airtable base and create a new automation. Choose "When a webhook is received" as the trigger and copy the automation webhook URL.
- Step 3: In JsonHook, create an inbound address and set the destination to the Airtable automation webhook URL.
- Step 4: In the Airtable automation, add a "Create record" action. Map the trigger fields to your table columns:
subject→ Subject,from.address→ From,text→ Body,date→ Received At.
Once the connection is active, every email sent to your JsonHook address will be automatically parsed and forwarded to Airtable. You can test the integration by sending a plain-text email to your JsonHook address and verifying that the payload appears in Airtable within a few seconds.
JsonHook supports Airtable Automations webhook trigger or API POST on the Airtable side, so no additional configuration is needed in Airtable beyond the steps above. If Airtable requires header-based authentication for incoming webhooks, add the required headers in the JsonHook endpoint configuration under Advanced Settings.
Automate Airtable with Email Webhooks
Free tier: 100 emails/month. Set up in minutes.
Get Free API KeyExample Workflow: When a form submission email arrives, add the extracted data as a new row in an Airtable base
This walkthrough demonstrates one concrete way to use JsonHook with Airtable. The scenario: When a form submission email arrives, add the extracted data as a new row in an Airtable base.
When an email matching this scenario arrives, JsonHook parses the raw SMTP message and constructs the following JSON payload before POSTing it to your Airtable endpoint:
{
"messageId": "",
"from": {
"name": "Jane Smith",
"address": "[email protected]"
},
"to": [
{ "address": "[email protected]" }
],
"subject": "When a form submission email arrives, add the extracted data as a new row in an Airtable base",
"text": "Hi, I need help with my account. Please contact me at your earliest convenience.",
"html": "Hi, I need help with my account...
",
"date": "2026-03-15T10:32:00.000Z",
"attachments": [],
"headers": {
"x-priority": "1"
}
}
Airtable Automations expose the webhook body as variables in the action editor. Map subject to the Subject field, from.address to the Email field, text to the Long Text body field, and date to the Date field. You can also store the entire raw JSON payload in a Long Text field for reference.
Once Airtable receives this payload, it can execute any downstream action — whether that is posting a notification, creating a record, updating a field, or triggering an entire multi-step workflow. The key advantage is that the data arrives as structured JSON, so Airtable never needs to parse raw email text or deal with MIME encoding.
Payload Mapping for Airtable
JsonHook delivers a consistent JSON schema for every parsed email. The table below shows which JsonHook fields map to the equivalent fields in Airtable. Use this as a reference when configuring your Airtable Airtable Automations webhook trigger or API POST.
| JsonHook Field | Description | Airtable Field |
|---|---|---|
from.address | Sender email address | Sender / Contact email |
from.name | Sender display name | Sender / Contact name |
subject | Email subject line | Title / Subject / Name |
text | Plain-text email body | Description / Body / Message |
html | HTML email body | Rich text field / Notes |
date | Timestamp of receipt (ISO 8601) | Created date / Received at |
attachments[n].filename | Attachment filename | File name / Attachment label |
attachments[n].content | Attachment content (base64) | File content / Binary field |
headers.* | Raw email headers | Metadata / Custom properties |
messageId | Unique message identifier | External ID / Deduplication key |
Not every field will be present in every email. Always check for null or missing values before mapping to required fields in Airtable. For text-only emails, html will be empty; for HTML-only emails, text may be empty or auto-generated from the HTML. The attachments array will be an empty array when no files are attached.
Best Practices for Airtable Email Integration
Following these best practices will make your Airtable email integration more reliable, easier to debug, and simpler to scale as your email volume grows.
- Use dedicated addresses per workflow. Create a separate JsonHook inbound address for each distinct Airtable workflow you want to trigger. This makes routing explicit and avoids a single endpoint becoming a bottleneck for all email types.
- Validate the payload before acting. In Airtable, add a conditional check at the start of your workflow to confirm that required fields like
from.addressandsubjectare present and non-empty before executing downstream actions. - Test with real emails first. Use JsonHook's delivery log to inspect the raw JSON payload before wiring up Airtable. Confirm that all the fields you plan to map are actually populated by your email source.
- Handle errors gracefully. Configure Airtable to catch webhook delivery failures and send an alert. JsonHook will retry failed deliveries, but your Airtable endpoint should return a 2xx status promptly to acknowledge receipt.
- Keep secrets out of email content. Avoid routing emails that contain passwords, API keys, or PII through workflows unless you have appropriate data-handling controls configured in Airtable. Use JsonHook's HTTPS delivery to protect data in transit.