Why Connect IFTTT to Inbound Email
Automation platforms like IFTTT are designed to connect apps and trigger actions automatically. Email remains one of the most universal communication channels, yet most automation tools have no built-in way to receive email as a trigger. JsonHook solves this by turning any inbound email into a structured JSON event that IFTTT can act on immediately.
Connecting your inbound email to IFTTT through JsonHook unlocks a range of high-value automation scenarios:
- Trigger a multi-step automation every time a support email arrives
- Route emails from different senders to different automation branches
- Parse order confirmation emails and sync data to a spreadsheet automatically
- Send a follow-up SMS or email whenever a specific keyword appears in the subject line
- Create calendar events from email-based meeting requests without any manual input
IFTTT supports Webhooks service (Receive a web request), 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 IFTTT as a clean JSON object — no polling, no manual export, no middleware server to maintain.
Setting Up IFTTT with JsonHook
The following steps walk you through connecting JsonHook to IFTTT. The entire setup typically takes under ten minutes.
- Step 1: Log in to IFTTT and create a new Applet. For the "If This" trigger, select the "Webhooks" service and choose "Receive a web request". Enter an event name such as
new_email. - Step 2: Open the IFTTT Webhooks documentation page at
ifttt.com/maker_webhooksto find your personal webhook key. Construct your trigger URL in the format:https://maker.ifttt.com/trigger/new_email/with/key/YOUR_KEY. - Step 3: In JsonHook, create an inbound address and enter this full IFTTT Webhooks URL as the destination. JsonHook will POST the parsed email JSON to this endpoint on every incoming email.
- Step 4: For the "Then That" action, choose any IFTTT-supported service — send a notification to your phone, add a row to a Google Sheet, or post a tweet. Map IFTTT's
Value1,Value2, andValue3to JsonHook fields using the payload transformation setting in JsonHook.
Once the connection is active, every email sent to your JsonHook address will be automatically parsed and forwarded to IFTTT. You can test the integration by sending a plain-text email to your JsonHook address and verifying that the payload appears in IFTTT within a few seconds.
JsonHook supports Webhooks service (Receive a web request) on the IFTTT side, so no additional configuration is needed in IFTTT beyond the steps above. If IFTTT requires header-based authentication for incoming webhooks, add the required headers in the JsonHook endpoint configuration under Advanced Settings.
Example Workflow: When a newsletter email arrives, save the subject and sender to a Google Sheet
This walkthrough demonstrates one concrete way to use JsonHook with IFTTT. The scenario: When a newsletter email arrives, save the subject and sender to a Google Sheet.
When an email matching this scenario arrives, JsonHook parses the raw SMTP message and constructs the following JSON payload before POSTing it to your IFTTT endpoint:
{
"messageId": "",
"from": {
"name": "Jane Smith",
"address": "[email protected]"
},
"to": [
{ "address": "[email protected]" }
],
"subject": "When a newsletter email arrives, save the subject and sender to a Google Sheet",
"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"
}
}
IFTTT's Webhooks service reads up to three values from the POST body: value1, value2, and value3. Use JsonHook's field mapping feature to populate these: set value1 to {{subject}}, value2 to {{from.address}}, and value3 to {{text}} (truncated to 255 characters if needed).
Once IFTTT 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 IFTTT never needs to parse raw email text or deal with MIME encoding.
Payload Mapping for IFTTT
JsonHook delivers a consistent JSON schema for every parsed email. The table below shows which JsonHook fields map to the equivalent fields in IFTTT. Use this as a reference when configuring your IFTTT Webhooks service (Receive a web request).
| JsonHook Field | Description | IFTTT 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 IFTTT. 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 IFTTT Email Integration
Following these best practices will make your IFTTT 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 IFTTT 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 IFTTT, 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 IFTTT. Confirm that all the fields you plan to map are actually populated by your email source.
- Handle errors gracefully. Configure IFTTT to catch webhook delivery failures and send an alert. JsonHook will retry failed deliveries, but your IFTTT 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 IFTTT. Use JsonHook's HTTPS delivery to protect data in transit.