Send 💬 iMessage
from n8n.
Six production-tested flows: webhook send, reply capture, fallback and failure routing, and AI-draft approval.
Sample payloads are pinned on every node, so you see real data in the n8n editor before anything sends.
No credentials inside — bring your own Tuco API key.
What's Inside
Six flows. Twenty-five nodes.
Each flow starts at a webhook and ends at the Tuco API. The only nodes you edit are the mappers.
3-Step Drip from Any App
Webhook → Map → E.164 Gate → Check iMessage → Create Lead → Text → Voice Note → Follow-up
Rejects non-E.164 numbers, verifies iMessage availability, then runs a 3-step drip with wait nodes. The opener is deliberately text-only — no attachments or links in a first message. The voice note and follow-up send with skipIfReplied and reuse step 1's line, so a reply anywhere stops the drip and the conversation never hops numbers.
Capture Replies in Real Time
Webhook → Map Reply
Tuco fires an HMAC-signed message.reply webhook the moment a lead answers — including photo and file replies, delivered as signed download URLs your workflow can fetch. The mapper flattens it to leadId, phone, replyText, and attachmentDownloadUrls.
Handle iMessage Fallback
Webhook → Map Fallback
If a contact's number can't receive iMessage, Tuco fires message.fallback with the exact text that didn't go out — send it through your SMS provider or queue a manual follow-up.
Catch Technical Send Failures
Webhook → Map Failed
message.failed fires on technical errors (server or network) — a separate webhook from fallback, so failure alerts and no-iMessage routing never mix. Alert your team or retry through another channel.
Approve AI Drafts from n8n
Webhook → Map Draft → Approve & Send
When Tuco's AI copilot drafts a reply, the message.ai_draft webhook delivers it with a replyId. Route it through your own approval step, then one API call approves and sends — or rejects it.
Track Every Draft Resolution
Webhook → Map Resolution
message.ai_draft_approved and message.ai_draft_rejected fire on every resolution — dashboard, Telegram, unibox, or API. approvalChannel tells you who actioned it, so your CRM log is always complete.
Bonus
Explore the API without sending.
Three disabled reference nodes ship with pinned real responses — inspect every shape before your first request.
GET /api/lines/by-userGet Lines. List your sending lines with live daily-usage counters.
GET /api/leads?search=Search for Lead. Find a lead by name, email, or phone.
GET /api/replies?leadId=Check Replies. Poll replies per lead, with hasReplied / hasEverReplied flags.
Setup
Live in about five minutes.
Download the template
Grab the .json file below — it is one self-contained workflow with 25 nodes.
Import into n8n
In n8n, open a new workflow, then choose the three-dot menu → Import from File and select the download. Works on n8n Cloud and self-hosted.
Add your Tuco API key
Create one Bearer Auth credential with your tuco_ API key (Dashboard → API Keys) and attach it wherever the placeholder “Tuco AI API Key” appears.
Map your fields
The nodes marked EDIT ME are the only ones you customize: point the Set-node fields at your own payload. Every node ships with a pinned sample payload so you can see real data before sending anything.
Activate and connect webhooks
Toggle the workflow Active. Paste the send webhook URL into your app, and register the reply, failed, fallback, AI-draft, and draft-resolution URLs in Tuco under Integrations → Webhooks.
FAQ
Questions, answered.
Can n8n send iMessages?
Not natively — n8n has no iMessage node. This template connects n8n to the Tuco AI iMessage API over plain HTTP Request nodes, so any n8n trigger (webhook, schedule, CRM event, form fill) can send a real blue-bubble iMessage from a dedicated line.
Do I need my own Mac or Apple ID to use this?
No. Tuco provisions and manages the iMessage line for you. The n8n template only makes authenticated HTTPS calls to app.tuco.ai — there is nothing to install and no Mac to maintain.
What happens if a contact can't receive iMessage?
Tuco checks availability before sending. When iMessage isn't available, the message is marked as fallback and the template's fallback webhook receives the exact text plus the reason, so you can route it to your SMS provider or a manual follow-up queue.
Is it safe to re-run the workflow for the same contact?
Yes. Creating a lead that already exists returns the existing lead ID instead of erroring, and sending identical text to the same recipient within 60 minutes is automatically de-duplicated. The whole chain is idempotent end to end.
How do I customize the template for my own payload?
Only the Set nodes marked EDIT ME need changes — they map your incoming fields (name, email, phone, message) to the flat fields the HTTP nodes read. Every node has a pinned sample execution, so you can inspect the exact request and response shapes in the n8n editor before going live.
Can I approve and send AI-drafted replies from n8n?
Yes. Subscribe a webhook to the message.ai_draft event and Tuco delivers every copilot draft with a replyId, the draft text, the inbound message it answers, and a confidence score. Your workflow adds whatever approval step you like, then calls POST /api/knowledge-base/auto-replies with action approve (sends the draft) or reject. First action wins, so a Telegram or dashboard approval can never double-send.
Why is the first message text-only?
Two guardrails: Tuco defers attachments on a first-ever outbound to a contact (the new-conversation guard means a file on step 1 would be dropped), and links in an opener hurt deliverability. The template's step 1 is plain text by design — attachments, voice notes, and links start at step 2, once a conversation exists. Phone numbers must be E.164 (+14155551234); the template gates on that before anything sends.
Does this work for cold outreach?
No — Tuco is built for conversations with people who already know you: inbound leads, existing customers, booked appointments, and opted-in contacts. Messaging purchased lists or contacts without consent violates our terms and TCPA rules.
Ready to send your first iMessage from n8n?
Import the template, add your API key, and go live in minutes.