An inbound hook gives another service an address to call. When it does, Pawabase checks the request is genuine, then starts a flow or emits an event that your subscriptions react to. Use one when something outside Pawabase should make something happen inside it: a payment succeeded, a pull request opened, an order shipped, a form was submitted.

Create one

1

Open Webhooks → Inbound hooks → New inbound hook

Fill in the fields below.
2

Save and copy the address

It looks like https://<your-api>/hooks/v1/<environment>/<slug>. It needs no API key: the signature is the credential.
3

Give the address and secret to the other service

Paste them where that service asks for a webhook URL and signing secret.

Verification methods

Match Verification and Signature header to what the sender does, and check the sender’s own documentation. If the signature is missing or wrong, the request is refused with 401 and nothing runs.
Choose None only for testing. A hook without verification lets anyone who learns the address trigger your flow or event.

What your flow receives

The flow’s input is an envelope, not just the body:
So in the flow you read {{ input.body.action }} and {{ input.body.issue.title }}, and the sender’s event name from {{ input.headers['x-github-event'] }}. When Then is Event, the same envelope is the event’s payload, and subscriptions can react to it.

What the sender gets back

Because the sender is answered immediately, your flow can take as long as it needs. Failures are visible under Activity → Jobs.

Example: a GitHub issue starts a flow

  1. Create a hook github-issues, Verification HMAC SHA-256, Signature header x-hub-signature-256, secret from secret://GITHUB_WEBHOOK_SECRET, Then a flow triage-issue.
  2. In GitHub: Settings → Webhooks → Add webhook, paste the address, content type application/json, and the same secret.
  3. In triage-issue, use {{ input.body.issue.title }} to create a record, post to a channel or ask a model to classify it.

Example: Stripe payment emits an event

  1. Create a hook stripe, Verification Pawabase signature, Signature header stripe-signature, secret from secret://STRIPE_WEBHOOK_SECRET, Then an event stripe.received. Stripe signs <timestamp>.<body> and sends t=…,v1=…, which is the same format Pawabase checks.
  2. Subscribe a flow to stripe.received and branch on {{ input.body.type }}.

Manage it from code

Test it

Send a request yourself while the hook is set to a known secret:
Then open Activity → Flow runs to see the run and what it received. Each hook also shows how many requests it has received and when the last one arrived.

Troubleshooting