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.
Automation rules (/automations)
Section titled “Automation rules (/automations)”| 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.
The action seam (/automation)
Section titled “The action seam (/automation)”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.
Feature flags
Section titled “Feature flags”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.