Quickstart — Make
You need: a SynapsAI account on GROWTH or above and a Make account. The SynapsAI app is available by invitation while it is in review — ask support for the invite link.
1. Key and API channel
Section titled “1. Key and API channel”Do steps 1 and 2 of the n8n Cloud quickstart: mint an sk_live_ key (scopes
messages:write, agents:read, hooks:write, plus what your scenario reads — leads:read for Lead
captured, contacts:read for a trigger’s contact) and turn on Workflow API (n8n · Make) on the agent’s
Extensions page.
2. Install the app and connect
Section titled “2. Install the app and connect”- Open the SynapsAI invite link and Install the app in your organisation.
- In a scenario add any SynapsAI module → Create a connection → paste the API key → Save. Make checks it with
GET /v1/meand shows the key name and plan (below GROWTH it refuses with PLAN_FEATURE_UNAVAILABLE).
3. Scenario B — receive the reply
Section titled “3. Scenario B — receive the reply”Create it first, so it is listening when the first answer comes back.
- New scenario → SynapsAI → Agent replied → pick the agent → Save. The trigger subscribes itself to SynapsAI (an API badge appears on the agent’s hooks page).
- Add what to do with the answer — e.g. Slack → Create a message with
{{1.text}}. - Turn the scenario on (Immediately as data arrives).
Agent replied also fires when a turn fails (status = FAILED, with errorCode, e.g. INSUFFICIENT_CREDITS):
add a filter on status when the two need different handling.
4. Scenario A — ask the agent
Section titled “4. Scenario A — ask the agent”- New scenario → SynapsAI → Ask agent.
- Agent: yours. External user ID:
demo-1. Text:Hi! What are your opening hours? - Optional Metadata (e.g.
dealId) travels with the reply to n8n and your own endpoints; Make’s trigger does not pass it on (see below) — keep themessageIdinstead.
- Agent: yours. External user ID:
- Run once. The module returns
{messageId, status: "QUEUED"}; within seconds scenario B runs with the reply.
Correlate the two on messageId (the one Ask agent returned) or conversationId.
Every event is re-read with your key
Section titled “Every event is re-read with your key”Make sees the parsed webhook body, not its raw bytes, so it cannot check SynapsAI’s signature. The app does not trust the delivery at all: it is a notification. Each trigger re-reads the event by id with your connection’s API key and outputs only what it read back — from the posted body it keeps just the event type and delivery id.
| Trigger | Re-reads | Key scope |
|---|---|---|
| Agent replied | GET /v1/messages/{messageId} | messages:write (+ conversations:read to subscribe) |
| Operator replied | GET /v1/conversations/{chatId} — operatorText is its last operator message | conversations:read |
| Conversation ended, Human requested | GET /v1/conversations/{chatId} | conversations:read |
| Lead captured | GET /v1/leads (newest 100 of the agent) | leads:read |
An id from anywhere else does not resolve with your key (404), so a forged POST to the webhook URL cannot inject
data: that run stops at the trigger with EVENT_NOT_VERIFIED and nothing reaches the next module. Add an Ignore
error handler on the trigger to keep such runs quiet. For the person behind a lead or a conversation, add Get a
contact (contacts:read).
- Templates — import a ready blueprint.
- API reference.