Actions
Automate Flax with trigger→effect actions — a control change, schedule, threshold, or button that fires webhooks, Slack, Discord, or email, with full run history.
Actions are Flax's automation framework. An action fires on a single trigger
and runs an ordered list of effects. Use them to notify a channel when a metric
crosses a threshold, to fan a dashboard control change out to an external system, or
to give viewers a button that kicks off a follow-up. Manage them at
/app/settings/automation.
Important
Actions never write to your data warehouse. They send notifications and call allow-listed in-app operations only — there is no path from an action to a warehouse write.
#Triggers
| Trigger | Fires when… |
|---|---|
| Manual | A viewer clicks an action button on a dashboard. |
| Schedule | A cadence elapses (hourly, daily, weekly — see Scheduled deliveries). |
| Threshold | A measure crosses a comparison you set (>, >=, <, <=, =, !=). |
| Control | A dashboard filter or parameter changes. |
#Effects
An action runs its effects in order. Effects are isolated — if one fails the rest still run, and the run is marked partial.
| Effect | What it does |
|---|---|
| Webhook | Signed HTTP POST (HMAC-SHA256 signature, SSRF-guarded, retried on 5xx). |
| Slack | Post to a Slack incoming webhook. |
| Discord | Post to a Discord incoming webhook. |
| Send email via Flax's mailer. | |
| Flax action | Run an allow-listed in-app operation. |
Control triggers are limited to webhook, Slack, and Discord effects, and are debounced, so a burst of filter changes can't spam a channel.
#Run history
Every fire is recorded. Open an action's History to see each run's overall
status — success, partial, failed, or running — with per-effect results (success,
failed, or skipped), the trigger, who triggered it, and timestamps. Runs are
retrieved from GET /api/actions/{id}/runs and de-duplicated so a retry doesn't
double-fire.
#Access and oversight
An action has an audience that governs who it applies to and who can manage it:
- Custom — owner-only.
- Team — managed by a team lead or an org admin.
- Org — managed by an org admin.
Admins and team leads see the actions they oversee under "Shared actions you oversee". A manual or control run authorizes by the caller's view access to the dashboard, then runs the effects under the action owner's identity, rate-limited per user.
#Related
- Scheduled deliveries — recurring deliveries and alerts.
- Interactivity — the dashboard controls that fire control triggers.
- Webhooks — receiving signed webhook effects.