Overview
Automations run tasks on a schedule - daily cleanups, weekly reports, nightly builds, or anything else you’d want an agent to do on repeat.Creating an automation
- Open a project and go to the Automations tab
- Click New automation
- Configure the automation:
| Field | Description |
|---|---|
| Name | A descriptive name (e.g., “Weekly dependency updates”) |
| Prompt | What the agent should do - same as a task prompt |
| Trigger | Schedule (cron), GitHub webhook (PR/review events), or Incoming webhook (external HTTP POST) |
| Schedule | Pick a preset (daily, weekly, custom) or write a cron expression |
| Timezone | Which timezone the schedule runs in |
| Agent type | Build (for coding) or Captain (for planning and delegation) |
| Model | Which AI model to use |
| Base branch | The branch to work from |
Schedule options
You can use presets or write a custom cron expression:| Preset | Schedule |
|---|---|
| Daily | Every day at a set time |
| Weekly | A specific day and time each week |
| Custom | Any valid cron expression (e.g., 0 9 * * 1-5 for weekdays at 9 AM) |
How runs work
When a schedule triggers:- Capy creates a new task in the project
- The agent runs with your prompt, on the base branch you configured
- The run appears in the automation’s Run history
Incoming webhooks
Every automation has a unique webhook URL. Use it to trigger the automation from any external service - CI/CD pipelines, monitoring alerts, Zapier, custom scripts, or anything that can make an HTTP POST.Triggering an automation
Passing context
Any JSON fields in the request body are available as template variables in your automation prompt:| Variable | Value |
|---|---|
{{payload}} | Full JSON body as a string |
{{payload.field}} | Top-level field value |
{{payload.nested.field}} | Nested field via dot notation |
{{trigger.timestamp}} | ISO 8601 trigger time |
HMAC signature verification
For additional security, configure a webhook secret on the automation. Sign your requests using HMAC-SHA256 and include the signature in theX-Capy-Signature header:
X-Hub-Signature-256).
Rate limits
60 requests per minute per webhook URL. Requests over the limit receive a429 response with a Retry-After header.
Managing automations
- Enable/disable - toggle an automation without deleting it
- Edit - update the prompt, schedule, model, or branch
- Webhook URL - copy or rotate the webhook URL for any automation
- Webhook secret - configure optional HMAC signature verification
- Run history - view past runs with status and timestamps
- Delete - remove the automation entirely