Skip to content

Automations API

Iron’s automations engine fires rules on triggers (lead created, message received, appointment no-show / showed, and more). All endpoints are org-scoped via X-Org-Id.

Method Path Description
GET /automations/rules Get the org’s automation rules.
PUT /automations/rules Replace the org’s automation rules.
GET /automations/workflows Get branching workflows (DAG).
PUT /automations/workflows Replace branching workflows.
GET /automations/scheduled List scheduled / pending automation runs.

Triggers include lead_created, message_received (keyword-matched, whole-word, case- insensitive; STOP-class opt-outs are hard-excluded — DNC owns STOP), appointment_no_show, and appointment_showed. Template tokens like {{start}} render timezone-aware and friendly (for example, “Friday 1pm CT”); {{custom_values.x}} resolves from the custom-value store, and a per-booking value (such as a fresh Meet link) overrides the org default of the same key.

A small trusted-service action surface (under /api/v1/automation) is used by internal callers to apply actions like adding a tag or sending an SMS as part of a flow. These are authenticated as a service seam, not a user-facing API.

Automation capabilities (branching workflows, object associations, conversation SLA, team inbox, server-side contact filters, weighted forecast, lost reasons, calendar resources, health nudges) are gated by per-org feature flags — the staged-rollout control plane:

Method Path Description
GET /feature-flags Resolve the acting org’s flags (any member; used for UI gating).
PUT /feature-flags Set flag overrides (agency-only; optional target_org_id to stage-roll to a client org).

Flags default off; overrides live in the org’s settings (no migration). Unknown keys or non-boolean values are rejected with 422.