Webhook / Server

Use Narakim inbound webhooks to start automations from any service that can send HTTP POST requests (GitHub, Stripe, your backend, cron jobs, etc.).

Setup

  1. Add a Webhook Trigger (webhook_trigger) node to your bot's automation graph.
  2. Open the bot in Studio → Webhooks tab.
  3. Click Generate Endpoint to create a URL and X-Narakim-Webhook-Token.
  4. Send POST requests to the URL with the token header and a JSON body.

Webhook URL

Production bots use the bot's public subdomain host (same host as published Custom UI, different paths):

https://{bot-subdomain}.bots.narakim.cloud

PathPurpose
POST / (host root)Inbound webhook → automation
GET /p/{slug}Published Custom UI page

The subdomain is shown on the bot overview and in the Webhooks tab. It must match BOT_SUBDOMAIN_SUFFIX on the API server and DNS (*.bots.narakim.cloud → your ingress).

Management API

Studio uses authenticated routes (not the public host):

  • GET /api/bots/:botId/webhooks — current endpoint + token
  • POST /api/bots/:botId/webhooks — create or refresh (resolves webhook_trigger node id)
  • POST /api/bots/:botId/webhooks/rotate — rotate token

Authentication

Every request must include:

X-Narakim-Webhook-Token: <token from Webhooks tab>

Payload in the graph

The POST body and request metadata are available on the trigger output as webhookTriggerData (body, headers, query, method).

Example

curl -X POST "https://my-bot.bots.narakim.cloud" \
  -H "Content-Type: application/json" \
  -H "X-Narakim-Webhook-Token: YOUR_TOKEN" \
  -d '{"event":"order.created","id":"123"}'
Was this helpful?
historyLast updated: May 10, 2026