Automations
Automations let you trigger Nimbus tasks automatically — on a schedule, via webhook, or when a CI pipeline fails.
Trigger types
| Type | Trigger |
|---|---|
webhook | Incoming POST request matching a pattern |
cron | On a schedule (cron expression) |
github_ci_fail | When a GitHub Actions workflow fails |
Create an automation
curl -X POST https://api.get-nimbus.com/automations \
-H "X-API-Key: $NIMBUS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"repo_id": "your-repo-id",
"trigger_type": "cron",
"trigger_config": {
"schedule": "0 9 * * 1"
},
"task_template": "Run the dependency-cve agent on this codebase",
"enabled": true
}'
Webhook trigger
For webhook automations, you can match on any field in the incoming payload:
{
"trigger_type": "webhook",
"trigger_config": {
"match": {
"action": "opened",
"issue.labels[0].name": "nimbus"
}
},
"task_template": "Fix the bug described in: {{issue.title}}\n\n{{issue.body}}"
}
Webhook receiver endpoint
POST https://api.get-nimbus.com/automations/webhook
Send any JSON payload. Nimbus evaluates all enabled webhook automations and fires the matching ones.
Task template interpolation
Use {{field}} syntax to inject values from the webhook payload into the task description:
"task_template": "Fix the P1 incident: {{alert.title}}\n\nError: {{alert.details.message}}"
Nested paths use dot notation. Array access uses bracket notation ({{labels[0].name}}).
Managing automations
# List automations
curl https://api.get-nimbus.com/automations \
-H "X-API-Key: $NIMBUS_API_KEY"
# Update (e.g., disable)
curl -X PATCH https://api.get-nimbus.com/automations/<id> \
-H "X-API-Key: $NIMBUS_API_KEY" \
-d '{"enabled": false}'
# Delete
curl -X DELETE https://api.get-nimbus.com/automations/<id> \
-H "X-API-Key: $NIMBUS_API_KEY"
You can also manage automations in the dashboard at get-nimbus.com/dashboard under Automations.
Example: PagerDuty P1 auto-fix
Configure PagerDuty to POST to your webhook receiver when a P1 alert fires:
{
"trigger_type": "webhook",
"trigger_config": {
"match": {
"event.severity": "critical"
}
},
"task_template": "A P1 production incident is active: {{event.title}}\n\nLogs: {{event.details}}\n\nInvestigate the likely root cause and implement a fix."
}
Example: weekly dependency audit
Every Monday at 9am UTC:
{
"trigger_type": "cron",
"trigger_config": {
"schedule": "0 9 * * 1"
},
"task_template": "Run the dependency-cve agent and open a PR with all safe dependency upgrades."
}