Webhook
Overview
Webhooks allow you to trigger Background Agents automatically when external events occur. When a webhook receives data, it kicks off an agent session with the webhook payload appended to the prompt, executing your chosen agent in a specified repository.Quick Start
1. Create a Webhook
Navigate to Settings β Webhooks and click Create Webhook. SCREENSHOT - Settings webhooks page showing the βCreate Webhookβ button in the top-right corner2. Configure Your Webhook
Fill in the required fields:- Name: A descriptive name for your webhook (e.g., βZapier Bug Reportsβ)
- Agent: Select which agent to kick off when triggered
- Repository: Choose the repository where the agent will run
- Advanced Settings (Optional):
- Secret Header Name: Custom HTTP header for authentication (e.g.,
X-Webhook-Secret) - Secret Value: Secret token used to verify incoming request headers.
- Secret Header Name: Custom HTTP header for authentication (e.g.,
3. Copy Your Webhook URL
After creating the webhook, copy the unique webhook URL from the webhooks table. SCREENSHOT - Webhooks table showing a webhook entry with the URL column highlighted and a copy button Format:https://api.continue.dev/webhooks/ingest/{webhook-id}
4. Use Your Webhook URL
Configure your external service (Zapier, Make, GitHub Actions, etc.) to POST data to this URL.Integration Examples
Zapier
- Create a new Zap with your desired trigger (e.g., βNew Email in Gmailβ)
- Add a βWebhooks by Zapierβ action
- Choose βPOSTβ as the method
- Paste your webhook URL
- Configure the payload data (e.g., email subject, body, sender)
- (Optional) Add a custom header with your secret if configured
GitHub Actions
Trigger agents from CI/CD pipelines:cURL (Manual Testing)
Test your webhook directly:How It Works
What Happens When Triggered
- Validation: Continue validates the webhook exists and is enabled
- Authentication: If configured, verifies the secret header matches
- Agent Creation: Spawns a new agent session with:
- The agent you selected
- The repository you specified
- The entire webhook payload (JSON) as the agentβs prompt
- Execution: The agent processes the data and performs its configured tasks
Managing Webhooks
View All Webhooks
Navigate to Settings β Webhooks to see all configured webhooks. SCREENSHOT - Webhooks table showing multiple webhooks with columns: Name, Agent, Repository, URL, Status (enabled/disabled), Created date, and ActionsEnable/Disable Webhooks
Use the toggle switch to temporarily disable webhooks without deleting them. SCREENSHOT - Close-up of webhook table row with enabled toggle switch highlightedEdit Webhooks
Click the edit button to modify webhook configuration. You can change:- Name
- Agent
- Repository
- Authentication settings (optional)
Delete Webhooks
Click the delete button and confirm. This permanently removes the webhook and invalidates the URL.Troubleshooting
Webhook Not Triggering
- Check webhook is enabled - Look for the toggle in the webhooks table
- Verify URL is correct - Copy the URL directly from the table
- Test with cURL - Use the manual testing example above
- Check authentication - Ensure header name and value match exactly
Authentication Failures
- Header names are case-insensitive but must match exactly
- Secret values are case-sensitive
- Both header name and value must be provided together
- Re-save the webhook if you recently changed secrets
Agent Not Running as Expected
- Verify the agent works when triggered manually
- Check that the repository is accessible
- Examine the agent session logs for errors
- The webhook payload is passed as JSON to the agentβs prompt
Where to Find Logs
Agent sessions triggered by webhooks appear in Agents β Sessions with the name format:Webhook: {webhook-name}
SCREENSHOT - Agent sessions list showing a session with name βWebhook: Zapier Bug Reportsβ and webhook source icon
Use Cases
Bug Tracking Integration
Automatically investigate and create PRs for bugs reported via external systems.Customer Support
Trigger agents when support tickets are created to gather context and suggest solutions.Monitoring Alerts
Respond to production issues automatically when monitoring tools detect problems.Form Submissions
Process form data, validate inputs, and execute follow-up actions.Scheduled Tasks (via Zapier Schedule)
Run agents on a schedule by using Zapierβs scheduler as the trigger.CI/CD Integration
Trigger agents on build failures, deployment events, or test results.Limits and Considerations
- Each webhook creates a new agent session
- Agent sessions consume organization resources
- Webhook URLs are unique and non-guessable UUIDs
- Payloads are stored as part of the agent session
- Maximum payload size: Follows standard HTTP request limits (~10MB)
- Rate limiting may apply to prevent abuse
API Reference
Endpoint
Request Headers
| Header | Required | Description |
|---|---|---|
Content-Type | Yes | Must be application/json |
{Your-Secret-Header} | Conditional | Required if webhook has authentication enabled |
Request Body
Any valid JSON payload. This will appended to the Agentβs prompt.Response Codes
| Code | Description |
|---|---|
| 200 | Success - Agent session created |
| 401 | Authentication failed - Invalid secret |
| 403 | Webhook is disabled |
| 404 | Webhook not found |
| 500 | Server error |
Success Response
Error Response
Creating Agents for Webhooks
When a webhook triggers an agent, the incoming JSON payload is stringified and appended to your agentβs prompt. Design your agent prompts to handle this structured data. Agent files consist of YAML frontmatter and a markdown prompt. When triggered, the final prompt becomes:Example: Bug Report Handler
Hereβs an agent designed to handle bug reports from webhooks:username/bug-investigator) when setting up webhooks.
Next Steps
- Create your first webhook in Settings β Webhooks
- Design an agent to handle your webhook data
- Test with cURL to verify it works
- Connect to your favorite automation tool
- Monitor agent sessions to see results