Skip to content

Automations

An automation is a flow that SquadOS runs on its own from an event, a schedule, or a button the team presses in a conversation. 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;
  • give the team a button that runs a routine on the open conversation.

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.

The module depends on the Manage automations permission, under General permissions → Automations and email, given to a department or a person. It covers the whole module, including automations created later: view the list, create, open the editor, configure, test, save, turn on or off, follow the Activity, and delete. The owner has access. See Departments and access.

Current limitation: someone with only automations.view sees clickable rows but cannot open the editor or Activity. Write permission is required to continue beyond the list.

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.

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 editor rail separates three concerns:

SectionWhat it is for
EditorBuild triggers, actions, and rules; selecting a node opens its configuration.
SettingsChange name, description, re-entry, activation, and deletion.
ActivityInspect 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.

The current catalog has seven triggers:

  1. Conversation event;
  2. No reply on conversation;
  3. Command;
  4. Contact tag;
  5. Contact added to list;
  6. Schedule;
  7. 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:

TabWhat it contains
TriggersThe seven entry points.
ActionsMessages, email, campaigns, AI, tags, private notes, assignment, handoff, contact, conversation, and external calls.
RulesConditions, 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.

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:

  1. opens a confirmation;
  2. validates the graph;
  3. highlights nodes that need correction when validation fails;
  4. 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.

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.

The slot belongs to the delivery, not the attempt. A run that ends as Failed or Canceled without having sent anything to the contact gives the slot back, and the contact can enter again. If something was already sent, or if the run ended as Completed, the slot stays taken. When an event is blocked by re-entry, the run holding the slot shows in Activity how many events were blocked and when the last one was.

Command ignores re-entry, and No reply on conversation has its own cycle rule; see Triggers.

Use Always carefully: every new run walks through the flow again, and AI nodes consume credits again.

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;
  • Call webhook makes the request for real;
  • Get the contact’s conversation reuses an existing real conversation, but does not create a new one in a test;
  • 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.

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.

SafeguardResult when it blocks
Opt-outThe contact receives no outbound action. The flow cannot override it.
Snoozed conversationThe step is skipped, and the automation does not write while the snooze is active.
Customer awaiting replyThe automation does not write over a reply your team still owes.
Frequency capBy default, at most 3 automated outbound actions per contact in 24 hours, across all automations in the organization.
Meta 24-hour windowFree-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. When the contact record cannot be read to check opt-out, however, the send does not go out and the step fails. 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.

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 an automation also deletes its versions and complete run history. It cannot be undone; the confirmation shows the name and requires automations.delete.

  • 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 — one structured variable with options, yes/no, score, or text; outputs configured on the canvas. New format validated in Dev, with production release pending; legacy nodes preserved.
  • Variables — data available at each point.
  • Runs and tests — run-by-run diagnosis.