Skip to content

Automations Overview

Automations are trigger-and-action workflows. When something happens (a trigger), PrimoCRM runs a series of actions, such as send an email, add a tag, wait, or branch on a condition. They run in the background as contacts move through your funnel.

  • Trigger: the event that starts the flow, for example contact created, tag added, form submitted, or order placed.
  • Steps: the actions that follow, executed in order. Steps can include waits (delays) and conditional If/Else branches.

The full catalog is in Triggers and Actions, and branching is covered in Conditions and Branching.

  1. Go to Automations then Create Automation.
  2. Choose a trigger.
  3. Add steps on the canvas. Drag actions into the flow, insert waits, and add branches where the path should split.
  4. Activate it.
  1. Trigger: Contact created.
  2. Wait: 5 minutes.
  3. Send email: a welcome message using {{contact.first_name}}.
  4. Add tag: welcomed.

New contacts now receive a personalized welcome automatically, and the welcomed tag lets you avoid welcoming them twice.

Automations execute through the same background-worker engine as campaigns and sequences. Each contact advances step by step, waits are honored precisely, and long-running work never blocks a page request. A contact’s position in the flow is tracked individually, so two people who enter at different times each get the correct timing.

There is no limit on how many automations you can build, and nothing in the builder is locked. Pro brings extra triggers and actions with it: when they are installed they appear in the picker like any other, and when they are not, the picker does not pretend they are there. A trigger that needs a plugin you do not have is shown as unavailable, naming what it needs, rather than hidden. See Triggers and Actions for the catalog and Licensing for what Pro adds.

  • Keep automations focused. Several small, single-purpose flows are easier to reason about and debug than one giant branching tree.
  • Use a tag to mark that a contact has been through a flow, so you can prevent duplicates and use it as a condition elsewhere.
  • Test with a single contact before activating a flow for everyone.