In short
- Use before-save flows to set fields on the same record. Use after-save flows to touch other records or send alerts.
- Add an entry condition so the flow only runs when the field it cares about changed.
- Use $Record__Prior to compare the old value with the new one.
- Add fault paths and error emails. A flow that fails quietly is worse than no flow.
Record-triggered flow basics
- Trigger: when a record is created, updated, or both, or deleted.
- Optimize for Fast Field Updates (before save) to change the record itself.
- Optimize for Actions and Related Records (after save) to update other records, send emails or create records.
- Entry conditions decide which records run the flow. Set them tight.
Example 1: set a field from another field (before save)
A rep picks a projected facility on the opportunity. The level of care should follow. A before-save flow on Opportunity runs when the facility field changed, decides the level of care, and assigns it to the record. No second save.
The same pattern sets the website field from the first landing page URL on a new lead, for first click attribution.
Example 2: stamp a date when something happens
Managers want the last time a lead or opportunity was contacted. An after-save flow on the activity record (a task, a call or a text) runs on create and writes the activity time to a Last Activity Date/Time field on the parent. Add a check so older activities do not overwrite newer ones.
Example 3: update related records
When an account’s type or owner changes, the contacts under it should show the same type and the owner’s email. An after-save flow on Account runs when either field changed, gets the related contacts and updates them in one Update Records element.
Watch for validation rules on the related records. If one contact cannot save, the whole update fails. Build the fault path before you need it.
Talk through your project
A free call about your integration, your CRM or whatever you are stuck on. Honest advice, even if you never hire us. No obligation.
Example 4: send an alert on a stage or status change
When an opportunity moves to "Scheduled for Admit", the intake team needs to know. An after-save flow on Opportunity checks that the stage changed to that value ($Record__Prior shows the old stage), then sends an email alert to the team.
The same pattern sends an alert when a contact is marked as alumni, so the alumni team can reach out.
Example 5: create a follow-up record
Reps forget to log the next step. An after-save flow creates it for them: when a lead status changes, the flow creates a task for the owner with a subject and due date from the new status. The team gets consistent activity logging without extra clicks.
Tips for record-triggered flows that hold up
- One flow per object and timing where you can, with clear Decision branches inside.
- Name flows by object and job, like "Opportunity - After Save - Stage Alerts".
- Use counters (like call count or attempt count) carefully. Test them with bulk loads from integrations.
- Set the error email to an admin who will act on it.
- Write down what each flow does. Your next admin will need it.
Want help with this?
Book a free call about your CRM, integrations or reporting, or map your systems first with our free tech stack diagram builder.
