Salesforce news

Salesforce Flow Error Handling: 4 Practical Tips for Admins

Salesforce Flow error handling in four steps: fault paths, rollback, Custom Error and error emails that reach the right people.

A record-triggered flow silently fails on Friday evening. On Monday, a sales rep reports that new opportunities "did not save", and the only clue is a cryptic email that landed in the inbox of whoever last edited the flow, possibly someone who left months ago. Sound familiar? Salesforce Flow error handling is one of the most neglected parts of automation, yet it takes very little effort to get right. This guide shows four techniques you can apply today: fault paths, rollback, custom errors, and routing error emails to the right people.

Why unhandled Flow errors hurt the business

When a flow element fails and nothing handles the failure, the flow simply stops. According to the Trailhead unit Handle Flow Errors with Fault Paths, the user then sees a generic message stating that an unhandled fault has occurred, and has to start over. Salesforce emails the technical details, but the user who hit the problem learns nothing useful.

Trailhead lists the usual causes, and almost all of them are predictable:

  • the running user cannot create or edit the record;
  • a required field is missing;
  • a record ID is malformed or an email address is invalid;
  • a validation rule rejects the change.

For decision makers, the consequence is not technical: lost data entry, frustrated users, support tickets, and slowly declining trust in the CRM. For admins, it means debugging from vague reports instead of precise messages.

Tip 1: add a fault path to every data and action element

A fault path is a secondary connector that runs only when its source element fails. Trailhead confirms it is available on Get Records, Create Records, Update Records, Delete Records and Action elements. In Flow Builder, open the element's menu and choose to add a fault path, then build what should happen next.

Salesforce Flow Builder canvas showing a fault path leaving a Create Records element
A fault path leaving a Create Records element in Salesforce Flow Builder — image: Salesforce Trailhead

What should go on the fault path depends on the flow type:

| Flow type | What to put on the fault path | Why |
|---|---|---|
| Screen flow | Roll Back Records, then a screen showing the error | The user understands what failed and nothing is half-saved |
| Record-triggered flow | Custom Error element | The triggering change is rolled back and the user sees a clear message |
| Autolaunched or scheduled flow | Notification or log record for the admin | No user is watching, so someone must be told |

In screen flows, the global variable $Flow.FaultMessage holds the detailed error. Trailhead's example displays it on a "fault screen" together with the values the user entered, which immediately revealed a missing Close Date during debugging. To avoid rebuilding the same logic in every flow, Trailhead suggests placing common fault-path elements in a reusable autolaunched subflow.

Tip 2: roll back partial changes in screen flows

A fault path on its own does not undo what earlier elements already saved. If a flow updates an account and then fails to create the opportunity, the account update stays. The Trailhead unit Roll Back Changes After an Error explains that the Roll Back Records element reverses the database changes of the current transaction.

Three rules to remember:

  1. Roll Back Records is for screen flows only.
  2. Place it before the error screen, because users often close the window when they see an error, and later elements never run.
  3. A screen ends the current transaction, so the rollback cannot undo changes saved before an earlier screen.

Tip 3: use Custom Error in record-triggered flows

For record-triggered flows, the Custom Error element is the cleaner answer. Salesforce Help states that it works in before-save and after-save record-triggered flows, as well as flows that run before a record is deleted. When it fires, the triggering change is rolled back and the user sees your message, either in a window on the record page or inline on a specific field.

A few limits from the help page: one record-page message per element, one inline error per field, 255 characters per message, no compound fields, and no asynchronous paths. Messages can be translated with Translation Workbench, which matters for bilingual French and English teams.

Tip 4: send error emails to a team, not to the last editor

In many orgs, flow errors are still emailed to whoever last modified the flow. Salesforce Help explains how to select flow and process error email recipients: in Setup, open Process Automation Settings and set the process and flow error email option either to the user who last modified the flow, or to the Apex Exception Email Recipients. Choosing the second option lets you maintain one list, on the Apex Exception Email page in Setup, that can include a shared admin mailbox.

A woman looks at a laptop showing an email inbox while a man stands beside her.
Sales operations manager reading an automation error alert email on a laptop with a sales rep

To make those emails actionable, the Salesforce Admins blog describes a useful element naming convention: prefix each element label with a short code (for example S01 for the first screen, G02 for the second Get Records). When an error email mentions the code, you paste it into the Flow Builder search and land on the failing element in seconds.

What to do now: a 30-minute Flow error handling checklist

Run through this list on your five most-used flows this week:

  • Process Automation Settings point error emails to Apex Exception Email Recipients, and that list contains a monitored mailbox.
  • Every Get, Create, Update, Delete and Action element has a fault path.
  • Screen flows roll back before showing an error screen with $Flow.FaultMessage.
  • Record-triggered flows use Custom Error to block invalid changes with a clear message.
  • Autolaunched and scheduled flows notify an owner when they fail.
  • Element labels follow a naming convention that makes errors easy to trace.

If your org has dozens of flows built over the years by different people, error handling is often the tip of a bigger iceberg. Our article on CRM technical debt explains how to keep automation maintainable, and our recent guide to Salesforce duplicate rules covers the data quality side. When you want an outside view, our CRM audit reviews flows, data and security together, and our Sales Cloud services cover automation design from the start.

Conclusion

Good Flow error handling does not require code or new licences. A fault path, a rollback, a clear custom error and a shared error mailbox turn silent failures into messages people can act on. Start with the flows your sales and service teams use every day, and make error handling part of your definition of done for every new automation.

Sources

Read next

More on Salesforce news

All 10 articles

Got a CRM project in mind?

Tell us where you are. We will tell you honestly what it takes, in a 30-minute call.