You can set up automations that send issues to a configured destination when matching issues meet a trigger condition. Configure automations and destinations in the dashboard or with the Cloudflare CLI (cf).
| Trigger | Behavior |
|---|---|
| Occurrence threshold | Runs once when an issue's occurrence count crosses the configured threshold. |
| Recurrence after inactivity | Runs when an existing issue returns after the configured period without a newer occurrence. |
An occurrence-threshold automation does not run for every occurrence after the threshold. A recurrence automation requires at least one earlier occurrence.
-
Go to the Issues page.
Go to Issues ↗ -
Select Automations > Add automation.
-
Select an occurrence threshold or recurrence-after-inactivity trigger and enter its value.
-
Select an existing destination, or create a destination.
-
Turn on Enabled, and then select Create.
| Destination type | Use |
|---|---|
| Coding agent | Send diagnostic context to an agent that can investigate a connected codebase. |
| Generic webhook | Send an issue event to your HTTPS endpoint. You can add a webhook secret or use mutual TLS. |
| Chat | Post an issue summary to a team channel for review and triage. |
| Incident management | Create an incident or notify an on-call workflow when an issue meets its trigger condition. |
Claude Code, Cursor, and Devin are supported prebuilt coding-agent integrations. An automation sends the selected agent an issue summary and captured diagnostic context. The agent can inspect a connected repository and propose code and test changes. You review and deploy those changes.
All coding-agent destinations require a display name. Configure the remaining fields for each integration:
| Integration | Required fields | Optional fields | Setup documentation |
|---|---|---|---|
| Claude Code | Routine ID and authorization token | None | Add an API trigger ↗︎ |
| Cursor | Automation webhook URL | Authorization header | Webhook triggers ↗︎ |
| Devin | Authorization token and organization ID | Repositories and playbook ID | Authentication ↗︎ and Create playbooks ↗︎ |
To bring your own coding agent, configure a generic webhook endpoint to receive the issue summary and diagnostic context. You can also use a generic webhook to connect an internal workflow. Treat destination URLs, webhook secrets, and access tokens as credentials.
Generic webhooks use the standard Cloudflare Notifications webhook payload. For payload and endpoint guidance, refer to Configure a webhook.
-
When you create a destination, select Generic Webhook.
-
Enter a name and an HTTPS endpoint URL.
-
Enter a webhook secret or turn on mutual TLS (mTLS).
-
Select Create destination, and then finish creating the automation.
An automation sends an issue to its destination. It does not give the destination permission to query your Cloudflare account.
To let an agent investigate related logs and traces, configure the Workers Observability MCP server separately. Review the agent's proposed code and test changes before deploying them.
Issue data can include error messages, stack traces, request metadata, logs, and application context. Before you configure a destination, review its access controls and data-handling policies. Do not include secrets, access tokens, or sensitive request content in telemetry. Handle application identifiers and personal data according to your privacy and data-handling policies.
You can send an issue to a destination without waiting for its trigger. Open the issue and select the destination from its available actions. The manual run appears in the issue's activity history.
Open an issue or automation to review recent runs. A run can be pending, succeeded, or failed. Cloudflare attempts to hand off each run up to three times before marking it failed. A succeeded run means Cloudflare Notifications accepted the event for delivery.