Webhooks let Botdog push events to your own HTTP endpoint as they happen, so you can sync activity into your CRM, trigger downstream automations, or build internal dashboards without polling the API. When a campaign performs an action — visiting a lead’s profile, sending an invitation, receiving a reply — BotdogDocumentation Index
Fetch the complete documentation index at: https://docs.botdog.co/llms.txt
Use this file to discover all available pages before exploring further.
POSTs a JSON payload to the URL you configured. Each request is signed so you can verify it really came from Botdog.
When to use webhooks
| You want to… | Webhooks are a good fit |
|---|---|
| Mirror lead activity into a CRM or data warehouse | Yes |
| Notify a Slack channel when a lead replies | Yes |
| Pull a daily report of campaign performance | No — use the API or analytics |
| Build a no-code automation | Prefer the Zapier integration |
How it works
- You create a webhook in the Botdog dashboard at Settings → Integrations → Webhooks. You pick an endpoint URL, the events you want, and the scope (all campaigns or specific ones).
- Botdog generates a secret and shows it to you once. Store it — you’ll use it to verify signatures.
- When a subscribed event happens, Botdog
POSTs a signed JSON body to your endpoint. - Your endpoint responds with any
2xxstatus code to acknowledge receipt. Anything else is treated as a failure and retried.
Request format
Every delivery is an HTTPPOST with:
- Header
Content-Type—application/json - Header
X-Webhook-Signature— HMAC signature over the request body. See Signature verification. - Body — a JSON object whose shape depends on the event. See Events and payloads.
Responding to a delivery
- Reply with
2xxquickly — ideally under a few seconds. Do the heavy work asynchronously after acknowledging. - Treat deliveries as at-least-once — Botdog retries on failure, so your handler should be idempotent. Use the top-level
idfield to deduplicate. - Non-
2xxresponses are retried with exponential backoff. See Delivery and retries.
Managing webhooks
Webhooks are created and managed from the dashboard at Settings → Integrations → Webhooks. From there you can:- Create a webhook with a name, endpoint URL, event subscriptions, and scope.
- Pause or resume a webhook without deleting it.
- Send a test event to verify your endpoint receives and validates the request.
- Inspect recent deliveries, including status code, response body, and retry attempts.
- Rotate the secret if it may have been exposed.
Next steps
- Events and payloads — Every event type and the exact JSON shape Botdog sends.
- Signature verification — How to verify the
X-Webhook-Signatureheader. - Delivery and retries — Retry schedule, failure handling, and idempotency.