Appearance
Automation Overview
FoxCLM automation is built around one central idea: status changes trigger actions. Sessions, invoices, clients, and payroll each have a status. When a status changes - manually or automatically - you can fire emails, webhooks, API calls, notifications, and share-link operations.
The building blocks
Statuses
A label on an entity. Every session has a status (Scheduled, Occurred, Cancelled). Every invoice has one (Draft, Sent, Paid). You define the set of statuses per entity type.
Transitions
A transition connects two statuses. Clicking "Send" on an invoice transitions from Draft to Sent. Auto-advance jobs can also fire transitions.
Conditions
An optional rule attached to a transition. "Only move to Overdue if due_date < today". Conditions support 9 operators (equality, comparison, null checks, substring), two value types (static or column comparison), and compound logic (and/or).
Actions
Side-effects that fire when a transition runs. FoxCLM ships with 25 action types - send email, call webhook, create notification, share link, and more. Each action has its own config.
Auto-advance
A background job runs every few minutes and checks every transition with a condition. When a condition becomes true, the transition fires automatically.
How it fits together
Entity (invoice)
|
+-- Status: Sent
|
+-- Transition: -> Overdue
|
+-- Condition: due_date < $NOW
+-- Action: send_overdue_noticeWhen the cron job runs, it sees an invoice stuck in Sent with a past due date. The condition is true, so the transition fires. The action sends an overdue email, and the invoice is now in Overdue.
No manual work required. This pattern scales to everything: auto-completing sessions, nudging leads, confirming bookings, paying out payroll.
Common automations
| Scenario | Setup |
|---|---|
| Auto-confirm new bookings | Session transition Pending -> Scheduled with action send_booking_confirmation |
| Overdue invoice reminder | Invoice transition Sent -> Overdue with condition due_date < $NOW, action send_overdue_notice |
| Welcome new clients | Client transition Lead -> Active with action send_welcome_email |
| Re-engage churned clients | Client transition Inactive -> Churned with condition updated_at < 90 days ago, action send_reengagement_email |
| Sync to external CRM | Any transition with action call_webhook or call_api |
| Lock invoices on approval | Enable Invoice Approval Lock in Settings -> Automation |
| Daily reminders before sessions | Session transition Scheduled -> Reminder Sent with condition start_date < 24h from now, action send_reminder_email |
Where to configure
- Statuses and transitions: Settings -> Workflows & Statuses (or
/workflow) - Actions per transition: same page, click a transition
- Webhooks: Settings -> Webhooks / API (or
/webhooks) - Automation settings (global toggles): Settings -> Automation
Next steps
- Workflows & Statuses - build transitions and conditions
- Workflow Actions - full reference of the 25 action types
- Webhooks & API - integrate with external systems
- Automation Settings - global auto-advance and lock settings
