Automations
An automation is a flow that SquadOS starts without someone having to press a button. One or more triggers say when to enter; actions and rules say what happens next.
Use an automation when the response should happen because of an event or a schedule, for example:
- follow up on a conversation that has gone quiet;
- act when a conversation changes state;
- react when a tag is applied or a contact joins a list;
- run a routine on a schedule;
- walk through an audience and send a campaign.
Automations live under CRM → Automations in the sidebar. They are not the old agent schedule or follow-up: those routines are built in this module.
Access and permissions
Section titled “Access and permissions”Access does not depend only on the role name. A team can receive granular permissions:
| Permission | What it currently allows |
|---|---|
automations.view | View the module and its list. |
automations.write | Create, open the editor, configure, test, save, and turn an automation on or off. The Activity section also sits inside this editing route. |
automations.delete | See the delete action and delete an automation. |
Write and delete permissions depend on view permission. Owners and admins retain broad access; custom roles and teams may have different combinations. See Users and roles.
Current limitation: someone with only
automations.viewsees clickable rows but cannot open the editor or Activity. Write permission is required to continue beyond the list.
What the list shows
Section titled “What the list shows”For each automation, the list shows:
- Name;
- Trigger;
- Re-entry;
- Runs (7 days);
- Status and, when applicable, the activation switch;
- delete, for someone with
automations.delete.
The Draft status means there is no saved version yet. An automation with a version can be Active or Off. If SquadOS turned it off after repeated configuration errors, the list adds Turned off automatically and shows the reason.
An automation can have several triggers, but the Trigger column shows only the first saved type. Open the Editor to check every entry point and its filters; do not use that column as a complete inventory of the flow.
What happens when you create one
Section titled “What happens when you create one”Click New automation and choose a starting point:
- Start from scratch creates a blank canvas;
- Follow-up on a stalled conversation fills in an editable starter flow.
The automation is created immediately with a name such as New automation #3. The starter flow still exists only in the editor. If you leave before saving, the row remains in the list as a Draft, with no version or published trigger.
You can rename it by clicking the title at the top or under Settings → Identification.
The three editor sections
Section titled “The three editor sections”The editor rail separates three concerns:
| Section | What it is for |
|---|---|
| Editor | Build triggers, actions, and rules; selecting a node opens its configuration. |
| Settings | Change name, description, re-entry, activation, and deletion. |
| Activity | Inspect runs, tests, entry trigger, status, cost, path taken, and each node’s input and output. |
The top bar also holds Undo, Redo, AgentMaker, Test, activation status, and Save. AgentMaker proposes graph changes, but you still review, apply, and save them; see Create automations with AgentMaker.
Triggers and steps
Section titled “Triggers and steps”The current catalog has six triggers:
- Conversation event;
- No reply on conversation;
- Contact tag;
- Contact added to list;
- Schedule;
- Audience.
An automation needs at least one trigger, and every trigger must lead to a step. You may add several triggers to the same flow. By default, a new trigger converges on the same first step; use Give this trigger its own path when it needs a different branch.
SquadOS refuses to save when two triggers cover the same event and filters, when a trigger has no outgoing path, or when a path requires data that its entry point does not provide.
After the triggers, the palette is split into:
| Tab | What it contains |
|---|---|
| Triggers | The six entry points. |
| Actions | Messages, email, AI, tags, assignment, handoff, contact, conversation, and external calls. |
| Rules | Conditions, waits, and ending the flow. |
Click an item to insert it at the next available point, or drag it to choose the exact point. An item is disabled when there is no valid place to insert it.
Local changes, saving, and versions
Section titled “Local changes, saving, and versions”The graph has no server autosave. While you edit, the state stays on the canvas and the top bar says Unsaved changes. The same browser keeps a local safety copy, scoped to the organization and automation, for up to 14 days. When you reopen it, SquadOS may offer Restore or Discard.
That local copy is not a published version, does not sync across browsers, and does not replace Save.
When you click Save or press Ctrl+S, SquadOS:
- opens a confirmation;
- validates the graph;
- highlights nodes that need correction when validation fails;
- creates a new saved version and points future runs to it.
There is no separate Publish button. If the automation is active, the new version immediately applies to future runs. If it is off, the version is saved but does not fire until you turn it on. Runs that were already queued, running, or waiting stay on the version they started with; the confirmation tells you how many are in that state.
Name, description, re-entry, and activation are automation properties, not graph properties. Changing them under Settings saves those values directly; they do not wait for the canvas Save button.
Activation and re-entry
Section titled “Activation and re-entry”The switch becomes available only after the first saved version. While the automation is off, no trigger creates a run, but you can still edit, save, and test it.
Under Settings → Re-entry, choose:
- Once per conversation — the same conversation enters at most once; this is the default;
- Once per contact — the contact enters once, even across different conversations;
- Always — every matching event may create another run for the same contact.
Use Always carefully: every new run walks through the flow again, and AI nodes consume credits again.
Test before turning it on
Section titled “Test before turning it on”Test can run the Current canvas, even before you save. When a live version exists, you can also choose Live version. If the graph has several triggers, choose which one to simulate; depending on its type, the dialog asks for a conversation, a contact, or a sample payload.
A test is not entirely inert:
- sending actions are simulated;
- AI nodes run for real and consume credits;
- Get the contact’s conversation may open a real conversation, although no message is sent;
- the result becomes a run marked Test under Activity.
Use a controlled target and inspect the path and output of every node. See Runs and tests for details.
Outbound safeguards
Section titled “Outbound safeguards”Safeguards are not nodes you have to add. Every outbound action checks opt-out and the frequency cap when a contact is available. A message sent into a conversation also checks snooze, whether the customer is waiting for your team’s reply, and the Meta 24-hour window when the channel is Official WhatsApp or Instagram Direct.
| Safeguard | Result when it blocks |
|---|---|
| Opt-out | The contact receives no outbound action. The flow cannot override it. |
| Snoozed conversation | The step is skipped, and the automation does not write while the snooze is active. |
| Customer awaiting reply | The automation does not write over a reply your team still owes. |
| Frequency cap | By default, at most 3 automated outbound actions per contact in 24 hours, across all automations in the organization. |
| Meta 24-hour window | Free-form text does not go out after the window closes. In Send message, an approved template may serve as a fallback; without one, the step is skipped. |
A block appears as a skipped step in Activity, not as an automation failure. The only safeguard the flow can waive is Customer awaiting reply: unchecking The contact replies in a Wait step’s exit conditions relaxes that guard on paths that must pass through that step. Opt-out, snooze, cap, and the Meta window remain in force.
Automatic deactivation
Section titled “Automatic deactivation”One configuration error does not immediately turn the automation off. When the same step fails five consecutive times with the same configuration code, SquadOS deactivates the automation. A successful run resolves the open alert and breaks that sequence.
Classified reasons include an incomplete step, content becoming empty after variable interpolation, missing organization setup or channel, rejected delivery, a blocked or repeatedly unavailable webhook URL, and a graph that lacks a required contact or conversation.
Open the automation and read the This automation needs a fix banner, correct the named step, save if the graph changed, and use Turn automation back on when the banner offers that action.
Deleting
Section titled “Deleting”Deleting an automation also deletes its versions and complete run history. It cannot be undone; the confirmation shows the name and requires automations.delete.
Where to go next
Section titled “Where to go next”- Creating an automation — from a starting point to the first active version.
- Automation triggers — types, filters, and entry contexts.
- Actions — effects available in the flow.
- Flow rules — branching and time.
- Analyze with AI — classification and structured data.
- Variables — data available at each point.
- Runs and tests — run-by-run diagnosis.