Skip to content

SynapsAI in n8n and Make

Your workflow stays the orchestrator; SynapsAI becomes one step in it. A form, a CRM, a spreadsheet or your messaging provider sends a message to an agent, the agent answers with your knowledge base, catalog and tools, and the reply comes back into the same workflow.

You want to…Use
Ask an agent from a workflow and use the answerAsk agent (n8n node / Make module), with Wait for Reply on n8n
React when the agent replies, an operator replies, a chat ends, a person is requested or a lead is capturedSynapsAI Trigger (n8n) / the Make instant triggers
Read conversations (filter by CSAT), contacts and leadsthe list and get operations
Create or update a contact from your own dataCreate or update contact

Start here:

Your workflow connect.synapsai.app SynapsAI agent
│ POST /v1/agents/{agent}/messages ──► 202 {messageId} ──► queued turn (same engine as WhatsApp / web chat)
│ │
│ ◄── signed POST message.replied (to your callbackUrl or your "Agent replied" subscription)
│ ◄── signed POST message.operator (a console operator answered)
│ ◄── signed POST message.failed (e.g. INSUFFICIENT_CREDITS)
│ GET /v1/messages/{messageId} — read the status and reply at any time
  1. Your workflow posts the message. SynapsAI answers 202 at once with a messageId: the agent works asynchronously, exactly as on every other channel.
  2. When the agent answers, SynapsAI posts a signed message.replied to the callbackUrl you sent — on n8n, the node’s own resume URL — or, when you sent none, to every Agent replied subscription of that agent. Never both.
  3. Failed deliveries are retried (30 s, 1, 2, 4, 8 min). The reply always stays readable with GET /v1/messages/{messageId}.

The same externalUserId continues the same conversation, so a customer keeps their history and memory. SynapsAI never merges that contact with a WhatsApp or web-chat contact on its own — even when the phone matches. To unify them, call Create or update contact or send the existing contactId.

  • Plans: GROWTH, PRO and ENTERPRISE. Each API message is priced like a message on any other channel.
  • API keys: mint one in the console, Account → API keys. Pick only the scopes the workflow needs:
ScopeAllows
messages:writesend messages (Ask agent), read their status
conversations:readlist and read conversations; subscribe to message.replied / message.operator; the conversation sections of subscriptions (intel, lead, handoff, operator, messages, transcript, memory)
contacts:readlist and read contacts; the contact and operatorEmail sections of subscriptions
contacts:writecreate or update contacts; send contactId with a message
leads:readlist leads; subscribe to lead.captured
hooks:writesubscribe and unsubscribe triggers
agents:readthe agent picker
  • Agent API channel: turn it on per agent on the agent’s Extensions page, card Workflow API (n8n · Make) → Turn on. Turning it on creates the agent’s signing secret (shown once; Rotate secret there). Ask agent with Wait for Reply uses it to check each reply.
  • Rate limits: 60 requests per minute per key and 600 messages per minute per account, plus edge limits per key and per IP (all 429 RATE_LIMITED; wait Retry-After). At most 20 messages per minute for one externalUserId (a loop guard) — answered 429 LOOP_GUARD for that user only.
  • Subscriptions: up to 20 API subscriptions (triggers) per agent. They appear on the agent’s hooks page with an API badge; you can delete them there.
  • Callbacks: HTTPS on port 443, a public host name — never an IP address, a private network or a redirect.
  • Text only in this version: attachments are not accepted.