Flows
A flow is automation you draw step by step: it starts when a record is saved, can look up and change other records, branch on conditions, repeat for each record it finds, and wait before carrying on. Admins build flows in Settings → Flows. For simple “when this, do that” automation, a workflow rule is quicker.
Flows or workflow rules?
| Workflow rule | Flow | |
|---|---|---|
| Update the saved record | Yes (before save) | Yes |
| Email, task, webhook | Yes | Yes |
| Find and change other records | No | Yes (Get Records, Update Records, Create Record) |
| Branch on conditions | No | Yes (Decision) |
| Repeat for many records | No | Yes (Loop) |
| Wait, then carry on | Delay per action | Yes (Wait, anywhere in the flow) |
| Versions, test runs and run history | History of actions | Yes |
Create a flow
- Go to Settings → Flows, choose New Flow, give it a name and choose its object: cases, leads, opportunities, accounts or contacts. Create and open builder opens the canvas.
- Set the trigger: when the flow starts.
- Add elements with the + buttons on the canvas, and fill in each one in the panel on the right.
- Choose Save as you go; a flow is a draft until you activate it.
- Debug it on a real record.
- Choose Activate. CRMSix checks the whole flow first and tells you what to fix.
The trigger
- When: a record is created, updated, or either.
- Entry conditions: conditions the record must meet, combined with all, any or custom logic, just like a workflow rule’s criteria.
- How often: every time the record is saved and meets the conditions, or only when it starts to meet them.
Flows start after the record is saved, and run as the system: they can change records the person who saved the record can’t. A flow doesn’t start again from its own changes, and at most three flows can lead to one another.
Elements
| Element | What it does |
|---|---|
| Decision | Branches into outcomes, each with its own conditions, plus a default outcome when none match |
| Get Records | Finds up to 200 records of any object that match filters, for example the account’s open cases |
| Loop | Runs the elements inside it once for each record a Get Records found |
| Update Records | Changes fields on the triggering record, or on the records found |
| Create Record | Creates a case, lead, opportunity, account or contact |
| Send Email | From an email template or written in the flow |
| Create Task | Adds a to-do on the triggering record |
| Call Webhook | Sends the record to another system, signed with the flow’s secret |
| Wait | Pauses from 1 minute to 30 days, then carries on |
| End | Stops the flow on this path |
Values in Update Records and Create Record can be typed in, blank, today or a number of days from today, the current user, a field of the triggering record, or (inside a loop) a field of the current record.
Debug before you activate
Debug runs the flow on a record you choose and shows each element’s result, then undoes everything: no records change, no email is sent. Use it after every change. At a Wait, Debug notes how long the flow would wait and carries straight on.
Versions
- Each flow has versions. Only one is active; the others are drafts or obsolete.
- Editing the active version saves your changes as a new draft version; the active one keeps running until you activate the new one.
- The Versions tab lists them, so you can go back to an earlier one.
- Deactivate stops the flow starting; runs already waiting can be cancelled from the Runs tab.
Runs
The Runs tab lists each time the flow ran: the record, when, and how it went (done, waiting, failed or cancelled), with the element that failed and why. A waiting run can be cancelled. Records a flow changes show Flow: name in their field history.
If an element fails, the changes since the last Wait are undone and the run stops; earlier stretches stay done. Webhooks are retried up to 3 times.
Limits
| Elements in a flow | 100 |
| Records per Get Records or Update Records | 200 |
| Elements run in one go | 500 |
| Loops inside loops | 3 deep |
| Decisions inside decisions | 8 deep |
| Wait | 1 minute to 30 days; not inside a loop |
| Flows leading to one another | 3 |
Tips
- Keep entry conditions specific, so the flow only starts when it has work to do.
- Build and test in a sandbox; a change set brings it to production as an inactive version for you to activate.
- Name elements clearly (“Find open cases”, “Escalate VIP”) so the Runs tab is easy to read.