Rspond
Channel API guide

Zapier · Make · n8n

Channel API without code

No developer? Use an automation tool to connect apps Rspond doesn't support directly — Discord, Slack, Microsoft Teams, website forms, or spreadsheets. Incoming messages are served by your Rspond bot/AI and team like any other channel, and replies go back to the same app.

Before you start

  1. The API channel is in your workspace plan; create a connection in Channels → API (leave the webhook URL empty for now).
  2. Keep the Channel secret (rspch_…) and copy the inbound message endpoint. These recipes write it as …/ch_YOUR_KEY/messages — use your own.
  3. Attach a bot to the API connection in the Bots menu.

Three flows you can build

  • A. Incoming messages

    A new message in your app → sent to Rspond (POST …/messages).

  • B. Replies

    Rspond calls your automation tool's webhook URL → the reply is sent back to the same app.

  • C. Proactive notifications

    A new Google Sheets row / online-store order → Rspond messages the user first (POST …/send).

Fields used in every tool

Incoming message body (flow A):

POST https://rspond.id/api/channel/ch_YOUR_KEY/messages

{
  "user_id": "<sender id from the trigger step>",
  "name": "<sender name>",
  "text": "<message text>",
  "message_id": "<message id>"
}

Proactive notification body (flow C):

POST https://rspond.id/api/channel/ch_YOUR_KEY/send

{
  "user_id": "<customer ID column>",
  "text": "Hi {{name}}, order {{order_no}} has shipped (tracking {{tracking}}).",
  "message_id": "<row ID / order_no column>"
}

Headers on every request: Authorization = Bearer <Channel secret>, Content-Type = application/json. Keep user_id stable per person (e.g. the Discord user id) — Rspond turns it into one contact and one conversation.

Zapier

Needs a paid Zapier plan (the Webhooks by Zapier app is a premium feature).

Flow A — incoming messages

  1. Create a Zap. Trigger: the app your messages come from (e.g. Discord → New Message Posted to Channel).
  2. Action: Webhooks by Zapier → Custom Request. Method POST, URL = the inbound message endpoint.
  3. Data: paste the flow A JSON body and map user_id, name, text, and message_id from the trigger step.
  4. Headers: Authorization = Bearer <Channel secret>, Content-Type = application/json. Test the step — Rspond answers {"ok": true}.

Flow B — replies

  1. Create a second Zap. Trigger: Webhooks by Zapier → Catch Hook. Copy its webhook URL.
  2. In Rspond: Channels → API → Reply webhook URL → paste the URL → Save.
  3. Send one test message through flow A so Zapier receives a sample reply.
  4. Action: the destination app (e.g. Discord → Send Channel Message). Message = text, recipient from user_id. Add a Filter if you only want message.reply events.

Flow C — proactive notifications

  1. Trigger: Google Sheets → New Spreadsheet Row (or a new order in your online store).
  2. Action: Webhooks by Zapier → Custom Request, Method POST, URL = the same endpoint with /messages replaced by /send.
  3. Data: the flow C JSON body; map the customer ID column to user_id and the row ID to message_id. Same headers as flow A.

Make

The HTTP and Webhooks modules are available on Make's free plan.

Flow A — incoming messages

  1. Create a scenario. First module: the app your messages come from (e.g. Slack → Watch Public Channel Messages).
  2. Add HTTP → Make a request. URL = the inbound message endpoint, Method POST.
  3. Headers: Authorization = Bearer <Channel secret>. Body type: Raw, Content type: JSON (application/json).
  4. Request content: the flow A JSON body, mapped from the first module. Run once — Rspond answers {"ok": true}.

Flow B — replies

  1. Create a second scenario. First module: Webhooks → Custom webhook → Add → copy its address.
  2. In Rspond: Channels → API → Reply webhook URL → paste the address → Save.
  3. Click Run once in Make, then send a test message through flow A so Make learns the data structure.
  4. Add the destination app module (e.g. Slack → Create a Message) with text = text. Filter on event = message.reply if needed.

Flow C — proactive notifications

  1. First module: Google Sheets → Watch New Rows.
  2. HTTP → Make a request to the …/send endpoint (Method POST, same headers and body type as flow A).
  3. Request content: the flow C JSON body using your Google Sheets columns.

n8n

Self-host for free or use n8n Cloud. An import-ready template with all three flows is available.

Flow A — incoming messages

  1. Download the template below, then in n8n: Workflows → Import from File.
  2. In the Kirim ke Rspond node: replace ch_KUNCI_ANDA in the URL and GANTI_DENGAN_CHANNEL_SECRET in the header (safer: a Header Auth credential).
  3. Replace the Pesan masuk dari aplikasi Anda node with your app's trigger, then adjust the user_id, name, text, and message_id expressions.

Flow B — replies

  1. Activate the workflow, open the Balasan dari Rspond node, and copy its Production URL.
  2. In Rspond: Channels → API → Reply webhook URL → paste → Save.
  3. Replace the Kirim ke aplikasi Anda node with your destination app's node; message {{ $json.body.text }}, recipient {{ $json.body.user_id }}.

Flow C — proactive notifications

  1. Replace the manual trigger in flow C with a Google Sheets Trigger (or your online store).
  2. Adjust the body in the Kirim pesan proaktif node to your columns.
Download the n8n template (.json)

Security & tips

  • Store the Channel secret in your tool's secret storage (Zapier/Make connection, n8n credential), not in notes or spreadsheets.
  • Webhook URLs from Zapier/Make/n8n are secret — don't share them. For full verification, check the Rspond-Signature header with the code samples in the main guide (Code by Zapier or n8n's Code node).
  • Rspond waits up to 8 seconds for your webhook and retries on failure — Catch Hook / Custom webhook / the n8n Webhook node answer right away.
  • Fill message_id with the message or row id so a trigger that runs twice doesn't create duplicate messages.
  • Every AI reply uses your workspace's AI reply quota; proactive messages don't use AI quota.

Need the technical details?

Full formats, response codes, buttons, photos, and polling are in the main Channel API guide.

Open the Channel API guide