Scheduled Routines and Interval Workflows
Run governed routine graphs on schedule.tick with timezone-aware intervals, retention sweeps, connector health checks, and the same toolkit as event-driven automations.
Routines use the same executor as automations but start on schedule.tick with interval expressions, explicit timezones, and next_run_at bookkeeping—ideal for retention sweeps, connector health checks, and periodic export prep.
Run governed checks on a clock—not only on events.
Routines share the same graph engine as automations but start on schedule.tick with interval expressions, timezone-aware next_run_at, and publish gates. Use them for retention sweeps, connector health pings, and periodic export prep.
Value
Schedule-first triggers
Routines bind trigger.schedule nodes to cron-like intervals (minimum five minutes) with explicit timezone storage and scheduler bookkeeping.
Same toolkit, different entry
Reuse data, flow, API, and Composio nodes—only the trigger kind and /routines API surface change.
Operational hygiene
Disable without deleting, duplicate templates across tenants, and audit routine.* lifecycle events alongside automation.run.*.
How it works
Define schedule metadata
POST /routines with timezone and interval expression (minimum five minutes between ticks).
Attach schedule trigger graph
Graphs must include trigger.schedule; validate before publish.
Publish and monitor
Track next_run_at and last_run_at; disable seasonal routines without deleting history.
Correlate lifecycle events
routine.run.* events align with automation run feeds for SIEM dashboards.
Use cases
Legal & compliance
Weekly retention sweeps that list holds nearing expiry and open review tickets before escalation.
Integration ops
Nightly connector health pings when HMAC deliveries fail repeatedly.
Finance & audit
Periodic export prep ahead of regulator-facing deadlines—on a visible schedule.
Security guarantees
Explicit timezones
Schedule metadata is stored with the routine—not inferred from the server clock alone.
Publish gates
validateGraphForPublish enforces schedule triggers before production ticks enqueue.
Shared executor
Runs use the same pipeline as automations—one place for steps_log and cancel semantics.
For operators
- Issue routines:read and routines:write scopes; keep scheduler traffic on keys that cannot mutate unrelated modules.
- Publish only after validateGraphForPublish passes for routine graphs (schedule trigger required).
- Monitor next_run_at and last_run_at on GET /routines/:id to explain missed windows to compliance stakeholders.
For buyers
- Separate “when something happens” from “every Tuesday review retention”—buyers see both patterns without two products.
- Scheduled work inherits encryption, profiles, and export posture from the same API key that owns the routine.
- Reduces shadow IT cron jobs that call production keys from unaudited servers.
What is the minimum interval?
Five minutes between ticks. Use automations for immediate system_action reactions.
Can routines call Composio steps?
Yes. The toolkit is shared—only the trigger kind and /routines API differ.