Aller au contenu

Quickstart — Make

Ce contenu n’est pas encore disponible dans votre langue.

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.

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.

  1. Open the SynapsAI invite link and Install the app in your organisation.
  2. In a scenario add any SynapsAI module → Create a connection → paste the API key → Save. Make checks it with GET /v1/me and shows the key name and plan (below GROWTH it refuses with PLAN_FEATURE_UNAVAILABLE).

Create it first, so it is listening when the first answer comes back.

  1. 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).
  2. Add what to do with the answer — e.g. Slack → Create a message with {{1.text}}.
  3. 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.

  1. 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 the messageId instead.
  2. 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.

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.

TriggerRe-readsKey scope
Agent repliedGET /v1/messages/{messageId}messages:write (+ conversations:read to subscribe)
Operator repliedGET /v1/conversations/{chatId} — operatorText is its last operator messageconversations:read
Conversation ended, Human requestedGET /v1/conversations/{chatId}conversations:read
Lead capturedGET /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).