The flow canvas: building a record-triggered flow step by step
Start, condition, branches, actions and scheduled paths: a walkthrough of building an automation on the canvas.
How to read the canvas#
The flow canvas shows your automation as nodes flowing top to bottom: Start, Condition Check, two branches depending on the outcome, and an End at the tip of each branch. Open it from Setup > Flows > + New Flow > Record-Triggered Flow. The canvas is not a separate window: it opens inside the page, and the Flows link at the top left returns to the list.
1. Record-Triggered Start#
The start node asks for two things:
- Object: your org's licensed objects plus any custom objects you created in Object Manager.
- Event: When a record is created or When a record is updated.
The flow engine is not limited to the UI: writes from the API, web forms and webhooks trigger flows too. Wherever a record comes from, your automation runs.
2. Condition Check#
The decision node holds up to 10 conditions. The field list combines core fields, the custom fields you added in Object Manager and the Owner field. With more than one condition you pick the logic: All (AND), Any (OR) or a Custom expression such as 1 AND (2 OR 3).
| Field type | Operators |
|---|---|
| Text | contains, does not contain, equals, not equal, starts with, is filled, is empty |
| Picklist | equals, not equal, is filled, is empty |
| Number | equals, not equal, greater than, greater or equal, less than, less or equal, is filled, is empty |
| Date | after this date, before this date, on this date, is filled, is empty |
| Update events only | changed, changed to |
The changed to operator catches the moment a field newly reaches the target value: a record whose stage is already Won will not re-run the flow when some other field changes. With no conditions at all, every record travels down the Met branch.
3. The Met and Not met branches#
Below the condition node sit two columns: Met on the left and Not met on the right. In update flows they are labelled "new" and "no longer met": the left branch runs when a record newly satisfies the condition, the right one when it stops satisfying it. Each branch carries its own action sequence, executed top to bottom.
4. Actions#
| Action | What it does | Where it runs |
|---|---|---|
| Show Notification | In-app bell notification (everyone or the record owner) | App + server |
| Push Notification | Sends a push notification to the phone or browser | Server |
| Send Email | Sends a templated or free-text e-mail to the address on the record | Server |
| Send Survey | E-mails the survey; opens a send task when there is no address | App + server |
| Create Task | Opens a task on the record for its owner (subject, type, due days) | App + server |
| Update Field | Updates a field on the triggering record with a value, placeholder or formula | App + server |
| Update Related Record | Updates the parent record (a case's account, a task's related record) | App + server |
| Update Child Records | Updates all child records at once, up to 200 records | App + server |
| Create Record | Creates a record on another object and links it back through a lookup | App + server |
| Assign Owner | Assigns the record to a user or a queue | App + server |
| Post to Feed | Posts to the record's timeline | App + server |
| Call Webhook | Sends the record to an external system as a signed POST | Server |
5. Scheduled Paths#
The Scheduled Paths section under the canvas carries actions that run with a delay after the Met branch. A path has three settings: a number of days, a direction (before / after) and a reference (the trigger moment or a date field on the record). Paths based on a date field run on the server at 09:00 Türkiye time that day. Just before a path fires, the condition is re-evaluated: a record that no longer matches is skipped.
Value or formula?#
Actions that write a field accept the value two ways. On the Value tab you use plain text and placeholders: {kayıt} for the record name, {sahip} for the owner, {bugün} for today, plus any field name of the record. On the Formula tab you get field names, + - * / &, comparisons and the IF AND OR NOT ISBLANK TODAY DAYS ROUND ABS MIN MAX functions, with a live preview of the result underneath.
The library: templates and the action guide#
The Library at the bottom of the canvas has two tabs. Action Guide reproduces the table above inside the app. Templates offers 17 ready-built flows: press Use on a card and the object, conditions and actions arrive prepared, leaving you only the wording to adapt. If the canvas already holds content, you are asked to confirm before it is replaced. Templates are filtered by flow type and by your org's licensed objects.
| Template | Object | Type |
|---|---|---|
| Critical case: urgent call task and notification | Case | Record-Triggered |
| Satisfaction survey when a case closes | Case | Record-Triggered |
| Case open for 3 days: notify the manager | Case | Record-Triggered |
| Won opportunity: celebration and account type update | Opportunity | Record-Triggered |
| Reminder 3 days before the close date | Opportunity | Record-Triggered |
| Large opportunity: push to the manager | Opportunity | Record-Triggered |
| Web lead: call within 1 day | Lead | Record-Triggered |
| Lead untouched for 7 days: reminder | Lead | Record-Triggered |
| New account: welcome e-mail | Account | Record-Triggered |
| Push the new owner when ownership changes | Account | Record-Triggered |
| Reminder 1 day before the appointment | Appointment | Record-Triggered |
| Appointment completed: patient status update | Appointment | Record-Triggered |
| Reminder 1 day before check-in | Reservation | Record-Triggered |
| Check-out day feedback survey | Reservation | Record-Triggered |
| Overdue invoices: collection task | Invoice | Scheduled |
| Overdue open tasks: push the owner | Task | Scheduled |
| Opportunities closing this week | Opportunity | Scheduled |
The Appointment and Reservation templates appear only when the matching industry edition is enabled.
Watching the Run History#
The Run History card at the bottom of Setup > Flows lists recent runs: Time (Türkiye time), Flow, Related Record (clickable), Actions, Source (App, API, Web form, Webhook, Scheduler, Scheduled path) and Result (Done or Error). This is where you confirm whether a flow actually ran. For the Preview Matches and Run Now buttons, which belong to scheduled flows, see Scheduled and screen flows.
Example: a reminder 3 days after the quote#
- Setup > Flows > + New Flow > Record-Triggered Flow. Name it "Quote follow-up".
- Start: object Opportunity, event When a record is updated.
- Condition: field Stage, operator changed to, value your quote stage.
- On the Met branch add Show Notification: "Quote sent: {kayıt}".
- + Add Path: name "After 3 days", days 3, direction after, reference trigger moment.
- Under the path add Create Task: subject "Follow up the quote: {kayıt}", type Call, due in 0 days.
- Save. New flows are active by default; clear the Active checkbox in the list to stop one.
If the stage moves on within those three days, the re-check finds no match and no task is opened. For the wider map of automation tools, see Automation.