Routines
Routines are server-side automation hooks that spawn the orchestrator with a specific issue context — even when your desktop app is closed. Unlike Heartbeats (which require the app to be open), Routines fire from Agenties cloud automation via schedule, API call, or GitHub webhook.
Routine types
| Type | Trigger | Use case |
|---|---|---|
schedule | Cron expression handled by Agenties cloud automation | Daily summaries, dependency checks, end-of-week reports — fires even when app is closed |
api | HTTP POST to a unique fireUrl | CI/CD integration, custom tooling, external automations |
github | GitHub webhook (issues, PRs, comments) | Auto-assign issues from GitHub to the orchestrator, respond to PR comments |
Routine structure
API routines
API routines generate a unique fireUrl and fireToken. Any HTTP client can trigger the routine by posting to this URL:
Agenties creates an issue from the provided title and body, then sends it to the Agenties desktop app (if online) or queues it for delivery when the app next connects.
Response
The sessionUrl can be used to deep-link into the Agenties app and view the spawned session.
GitHub routines
GitHub routines connect a GitHub repository webhook to a routine's fireUrl. Supported webhook events:
| GitHub event | When it fires | What gets injected |
|---|---|---|
| issues.opened | New issue created | Issue title, body, labels, and URL |
| issue_comment.created | Comment mentioning @agenties | Comment body and parent issue context |
| pull_request.opened | New PR created | PR title, description, diff URL, and reviewer request |
| pull_request_review.submitted | Review requested changes | Review comments and diff context |
Setup
fireToken as the HMAC-SHA256 secret. Agenties rejects any webhook that fails signature validation.Manual fire
Every routine can be fired manually from the Routines tab by clicking the Fire nowbutton. You can optionally provide a custom issue title and body to override the routine's defaults. This is useful for testing routines before hooking them up to GitHub or a CI system.
How the orchestrator receives routine fires
When Agenties receives a routine fire, it:
If the desktop app is offline when the routine fires, the issue is queued by Agenties and delivered the next time the app connects and syncs.