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
- The API channel is in your workspace plan; create a connection in Channels → API (leave the webhook URL empty for now).
- Keep the Channel secret (rspch_…) and copy the inbound message endpoint. These recipes write it as …/ch_YOUR_KEY/messages — use your own.
- 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
- Create a Zap. Trigger: the app your messages come from (e.g. Discord → New Message Posted to Channel).
- Action: Webhooks by Zapier → Custom Request. Method POST, URL = the inbound message endpoint.
- Data: paste the flow A JSON body and map user_id, name, text, and message_id from the trigger step.
- Headers: Authorization = Bearer <Channel secret>, Content-Type = application/json. Test the step — Rspond answers {"ok": true}.
Flow B — replies
- Create a second Zap. Trigger: Webhooks by Zapier → Catch Hook. Copy its webhook URL.
- In Rspond: Channels → API → Reply webhook URL → paste the URL → Save.
- Send one test message through flow A so Zapier receives a sample reply.
- 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
- Trigger: Google Sheets → New Spreadsheet Row (or a new order in your online store).
- Action: Webhooks by Zapier → Custom Request, Method POST, URL = the same endpoint with /messages replaced by /send.
- 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
- Create a scenario. First module: the app your messages come from (e.g. Slack → Watch Public Channel Messages).
- Add HTTP → Make a request. URL = the inbound message endpoint, Method POST.
- Headers: Authorization = Bearer <Channel secret>. Body type: Raw, Content type: JSON (application/json).
- Request content: the flow A JSON body, mapped from the first module. Run once — Rspond answers {"ok": true}.
Flow B — replies
- Create a second scenario. First module: Webhooks → Custom webhook → Add → copy its address.
- In Rspond: Channels → API → Reply webhook URL → paste the address → Save.
- Click Run once in Make, then send a test message through flow A so Make learns the data structure.
- 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
- First module: Google Sheets → Watch New Rows.
- HTTP → Make a request to the …/send endpoint (Method POST, same headers and body type as flow A).
- 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
- Download the template below, then in n8n: Workflows → Import from File.
- 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).
- 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
- Activate the workflow, open the Balasan dari Rspond node, and copy its Production URL.
- In Rspond: Channels → API → Reply webhook URL → paste → Save.
- 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
- Replace the manual trigger in flow C with a Google Sheets Trigger (or your online store).
- Adjust the body in the Kirim pesan proaktif node to your columns.
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