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.