Skip to main content
Webhooks let external systems push events into CloudThinker. Each webhook gives you a unique URL; POST to it and CloudThinker starts an agent conversation or opens a DRE incident.
Webhooks are inbound only. CloudThinker does not POST events out to your endpoints. To send results outward, use notifications, Slack, or Microsoft Teams.

How it works

  1. You create a webhook and choose what it does: start a Conversation or open a DRE incident.
  2. CloudThinker issues a unique URL containing the webhook token, plus a signing secret shown once.
  3. Your system POSTs a JSON body to that URL.
  4. CloudThinker authenticates the request, checks the rate limit, records the event, and returns 202 Accepted in under 100 ms.
  5. A worker dispatches the payload and writes the final status.

Create a webhook

1

Open Webhooks

Navigate to Webhooks in the sidebar, or open Chat Settings (the gear icon beside the + button in the chat prompt box) and select Webhooks under Integrations.
2

Click Create Webhook

The wizard has four steps: Basic Info, Type, Configure, and Advanced.
3

Fill in the fields

  • Name — a descriptive identifier
  • Description — optional
  • TypeConversation or DRE
  • Rate limit — requests per hour, default 100. Set 0 or below for unlimited
  • Prompt structure — optional template that must contain {{message}}
  • Auth — bearer token, HMAC, API key, or none
4

Copy the URL and secret

Save the webhook, then copy its URL and signing secret.Success state: the webhook appears in the list as active.
The signing secret is shown only once, when you create the webhook. Store it before you close the dialog.

Action types

For a DRE webhook, automatic RCA is on by default with a minimum severity of Medium. See webhook integrations.

Request body

Unknown top-level fields are silently dropped. Put every custom field inside metadata.
The response returns success, request_id, and — depending on the action type — conversation_id, incident_id, rca_run_id, and signal_id.

Authentication

Choose one auth mode per webhook. CloudThinker verifies each incoming request before it accepts the payload. The header name is configurable for HMAC and API key. Sign the raw request body with HMAC-SHA256 and send sha256=<hex digest>:

Limits

A request over the rate limit is recorded with status rate_limited.

Review triggers

Navigate to Webhooks > Triggers to see every webhook trigger in the workspace. Each event carries one of four lifecycle statuses: accepted, processed, failed, or rate_limited.
Triggers never expose stored request headers, bodies, or client details. That data is retained internally for 90 days and redacted from the interface.

Pause a webhook

Set the webhook to paused to stop it accepting requests. A webhook is active, paused, or disabled. While paused, the endpoint rejects incoming requests rather than queueing them.

Troubleshooting

The auth mode does not match what you send. Check the header name and confirm you are signing with the webhook’s own secret. A failed attempt appears in Triggers as Auth Failed.
Sign the exact raw body bytes, before any reformatting, and send the digest as sha256=<hex>. Re-serializing JSON changes the bytes and breaks the signature.
Unknown top-level keys are dropped. Move them inside metadata.
The webhook is over its hourly rate limit. Raise the limit, or set it to 0 for unlimited.
The body is over the 1 MB cap. Send a reference instead of the full document.

DRE Webhook Integrations

Route alerts from monitoring platforms into incidents

Notifications

Deliver CloudThinker results to email, Slack, and Teams