Skip to content

Webhooks

Configure HTTPS endpoints that receive JSON when messages arrive or forms submit.

5 min read

Open Webhooks → Webhook.

What this page is for

Webhooks send real-time POST requests from Kirisan to URLs you control. Use them when your CRM, helpdesk, or custom backend should react to inbound messages or completed autoreply forms — without polling the dashboard.

This is a developer feature. If you only send from the dashboard, you can skip webhooks.

Webhooks — summary cards and endpoints table

Sample data shown.

ControlWhat it does
Add webhookOpen the editor for a new HTTPS endpoint
Summary cardsCount configured endpoints, device links, and Active rows
Developer noticeReminder that webhooks target your own server

Summary cards

CardMeaning
WebhooksDistinct endpoint groups (same name + URL + secret count as one)
Device linksTotal device attachments across all endpoints
ActiveEndpoints delivering live traffic after a successful test

Endpoints table

Each row is one logical webhook — one destination URL with its events and linked devices.

ColumnMeaning
WebhookDisplay name you chose in the editor
ChannelWhatsApp, Telegram, WABA, or Mixed channels when one URL spans more than one channel
DevicesCount of linked lines or bots — click to open the device list
DestinationHTTPS URL Kirisan POSTs to
EventsEnabled event badges (Incoming Message, Submission, Message status on WABA)
StatusActive (live) or Pending test (saved but not verified yet)
Row actionsEdit or Delete the whole endpoint group

Linked devices popup

Sample data shown.

Search appears when you have endpoints. Filter by Name or URL (minimum three characters).

Pagination shows when the list exceeds one page.

No webhooks yet

When you have not configured an endpoint, the page shows an empty state.

No webhooks yet

Sample data shown.

Click Add webhook to create your first endpoint, then complete Webhooks → Test so status becomes Active.

Add or edit a webhook

Click Add webhook or Edit on a row.

New webhook modal — URL, devices, events, and signing secret

Sample data shown.

The editor has four sections:

Endpoint

FieldRequiredMeaning
Display nameYesLabel shown in the table and logs
URLYesHTTPS endpoint on your server
DeliveryKirisan sends POST with application/json

Devices

Pick one or more lines or bots per channel tab (WhatsApp, Telegram, WABA).

ControlWhat it does
Channel tabsSwitch channel without losing selections on other channels
SearchFind devices in the current channel list
Select all / Select filtered / ClearBulk attach or detach devices
Selected chipsRemove individual devices

Each device can use only one inbound handler at a time. For Incoming Message events, set On incoming message → Webhook on the device (WhatsApp, Telegram, or WABA device settings). Submission events fire when a user completes an autoreply form on a linked device.

Events

EventWhen Kirisan POSTs
Incoming MessageA customer sends a message on a linked device with webhook inbound handling
SubmissionA user completes an autoreply submission form on a linked device
Message statusWABA only — delivery or read receipts for outbound WABA messages

Only checked events trigger delivery. Options depend on the channel tab.

Security

FieldMeaning
Signing secret (optional)When set, Kirisan adds an X-Webhook-Secret header on each POST so your server can reject unsigned traffic

After you click Save → test, Kirisan opens Webhooks → Test. The endpoint stays Pending test until a test returns 200 or 201. Edits reset status to Pending test until you test again.

Delivery format (quick reference)

The page footer summarizes the contract:

  • HTTPS only
  • Respond with 200 or 201 quickly — queue heavy work on your server
  • JSON body includes top-level keys such as event, device, channel, sender, message, and timestamp (exact shape varies by event)
  • Request headers include X-Kirisan-Event and X-Kirisan-Device; X-Webhook-Secret when you configured a secret

For the full payload reference (verification, retries, and per-channel JSON examples), see Webhooks integration docs. For {{…}} shortcuts in templates and autoreply, open Resources → Variables → Incoming.

Active vs pending

StatusMeaning
Pending testSaved but not delivering live traffic
ActiveLast test succeeded — live events POST to your URL

Check delivery attempts on Webhooks → Logs. Send sample payloads from Webhooks → Test.

Last updated: June 25, 2026
Was this page helpful?