Docs Menu

Webhooks

Receive HTTP requests from external services and trigger your workflows automatically.

What are Webhooks?

Webhooks give your OpenClaw gateway callable HTTP endpoints. When an external service sends a POST request to one of these URLs, it triggers a workflow that runs your defined steps.

This is perfect for connecting services like GitHub, Stripe, CI/CD pipelines, monitoring tools, or anything that supports webhook notifications.

How It Works

🔀
Create a webhook workflow

Define a workflow with a webhook trigger and a unique path (e.g. /hooks/github-push).

📋
Copy the endpoint URL

ClawManager generates the full URL by combining your gateway address with the webhook path.

🔗
Paste it into the external service

Add the URL to GitHub, Stripe, or whatever service should trigger the automation.

Workflow runs on each POST

When the service sends a POST request, your workflow steps execute automatically.

Where to Find It

In Standard View, click the Globe icon in the top bar, open the ⚡ Automate category, and select the 🪝 Webhooks tab.

In Advanced View, go to the Automation page and select the Webhooks sub-tab.

Creating a Webhook Endpoint

Click Create Webhook Workflow. This opens the Workflow Editor with the trigger pre-set to Webhook. You need to configure:

NameA descriptive name for the workflow (e.g. "GitHub Push Handler").
Webhook PathThe URL path for this endpoint. Paths are auto-prefixed with /hooks/ so entering "github-push" becomes /hooks/github-push.
HMAC SecretAn optional shared secret for request signature verification. Strongly recommended for production use.
StepsWhat should happen when the webhook fires. Add one or more steps: send to agent, notify a channel, run a command, or call another webhook.

The Webhooks Dashboard

Once you have webhook workflows, the Webhooks tab shows a table with all your endpoints:

ColumnWhat it shows
WorkflowName and description
EndpointThe path (e.g. /hooks/github-push) with a copy button for the full URL
HMACGreen "Set" or amber "None" indicating whether a secret is configured
Last TriggeredWhen this webhook was last called (e.g. "3h ago")
DeliveriesTotal number of webhook invocations
EnabledToggle switch to enable or disable the endpoint
ActionsTest (fire a synthetic POST) and History (view delivery log)

Delivery Log

Click the expand arrow or the History button on any webhook to see its delivery log. This shows the last 50 webhook-triggered runs with:

  • Timestamp — when the webhook was called
  • Status — success ✅ or failed ❌
  • Duration — how long the workflow took to execute
  • Output — any text output or error messages

Use the Test button to fire a synthetic POST request to your endpoint. This is helpful for verifying your workflow works before connecting a real external service.

🔒 Security

Without an HMAC secret, anyone who knows your webhook URL can trigger it. ClawManager shows an amber warning banner when any enabled endpoint has no secret configured.

⚠️ Recommendation: Always set an HMAC secret for production webhooks. This ensures only requests signed with your secret can trigger the workflow.

To set a secret, edit the webhook workflow and fill in the HMAC Secret field under the Webhook trigger settings. The external service also needs to be configured with the same secret so it can sign its requests.

For additional access control, see the Security docs, including domain allowlists and gateway exposure settings.

Common Use Cases

🐙 GitHub

Trigger a workflow on push, PR opened, or issue created. Have your agent review the PR, summarize changes, or run tests.

💳 Stripe

React to payment events. Notify a channel when a subscription starts, or have your agent log revenue data.

🔧 CI/CD

Connect your CI pipeline (GitHub Actions, GitLab CI, Jenkins) so your agent gets notified on build success or failure.

📊 Monitoring

Wire up Grafana, Datadog, or UptimeRobot alerts. When an incident fires, your agent can investigate and notify you.

Next Steps

Learn about the full Workflow system for more trigger types and step options, or head to Security to lock down your endpoints. See Automation for heartbeats and cron jobs.