Skip to main content
Poku needs a public URL to forward inbound events to your agent. How you set this up depends on where your agent is running.

Step 1: Get a public URL

Option A — Local machine (via ngrok)

If your agent is running on your local machine, use ngrok to create a public tunnel.
  1. Create an account at ngrok.com.
  2. After logging in, follow the installation instructions for your operating system. On macOS you can install via Homebrew:
  3. Grab your authtoken from the ngrok dashboard and authenticate:
  4. Start a tunnel pointed at the port your agent is listening on:
    ngrok will output a forwarding URL:
    Copy this URL — you’ll need it in Step 3.

Option B — VPS (no ngrok needed)

If your agent is hosted on a VPS, it’s already on the public internet — no tunnel required. Recommended: Set up HTTPS using a reverse proxy such as nginx or Caddy with a free Let’s Encrypt certificate. This gives you a clean, secure URL:
If you are not using a reverse proxy, open the port your agent is running on in your cloud provider’s security group or firewall dashboard. Your webhook URL will be:

Step 2: Configure your agent

Set up your agent to accept incoming POST requests at your chosen path. Poku sends a JSON body for each event. All events share the same wrapper:

message.received

Fired when an inbound SMS, WhatsApp, or Slack message is received on your number or workspace.

form.received

Fired when a recipient submits a form sent via SMS or WhatsApp.

call.conversation.ended

Fired when an outbound call completes.

Using OpenClaw? See the OpenClaw installation guide for the openclaw.json webhook config.

Step 3: Register your webhook with Poku

Register your public URL from Step 1 with Poku so events get forwarded to your agent. Specify which event types you want to receive:
If your agent requires an authorization header on incoming requests, include it via the optional headers field:
See the Create Webhook API reference for all available parameters.

Verify your webhook

You can check which webhooks are currently registered on your account:
See the List Webhooks API reference for the full response schema.

Delete your webhook

See the Delete Webhook API reference for details.