Skip to main content

Sneak Peek: Handle Record Delete triggers using Flow Automations

Traditionally, within Salesforce platform, only Apex triggers were equipped to handle record delete events. For any custom handling of delete actions, one had to create and maintain Apex code. Not to mention, be mindful of the best practices of handling deletions in bulk and displaying error messages.

Salesforce flows have been graduated to now handle on delete events for objects within Salesforce. So, now you can create a flow which gets triggered on record delete.

Step by Step Guide

Let's take a sample scenario (probably most used). Let's say you want to restrict any user to delete an Account of type Customer. Following are the steps to create flow

Step 1 : Create a flow of type Record Triggered Flow



Step 2 : Set Entry Criteria

  1. Set Trigger to A record is deleted
  2. Set Entry conditions to qualify only active customer accounts

Step 3 : Add new Custom Error

Add new element attached to Start element and select Custom Error element from the list

Step 4 : Setup Error Message

Add error message to the component and configure where error message should be displayed


Step 5 : Save and activate flow

(You probably don't need a screenshot for this)

Step 6 : Test and verify flow works



Tips

Error - while trying to deploy flow metadata

While retrieving metadata for flow, do ensure that you have correct API version, dependent on the components/features used within flow. For instance, if you create a flow which uses a Custom Error element but retrieve metadata using API version 56.0, you would notice Custom Error element metadata will be missing within flow metadata. 

Solution

Re-retrieve flow (example uses flow named test) metadata using API version 59.0 or above


sfdx force:source:retrieve -m Flow:test -a 59.0


Comments

Popular posts from this blog

Quick Tips: Salesforce default Images

Well, I'm sure a lot of you still rely on using out of the box salesforce images for displaying quick icons within formula fields or even using them within your Visualforce pages. Lately, I realized that a lot of earlier resources are no longer accessible, so I tried to quickly extract all images from Salesforce CSS files and provide a quick reference here. Please note, I've referenced all images from SF servers directly, so if anything changes, the image should stop rendering here. As these images are completely controlled by Salesforce, and in case they change anything, it might lead to image not being accessible. Image path Image /img/samples/flag_green.gif /img/samples/flag_green.gif /img/samples/flag_red.gif /img/samples/color_red.gif /img/samples/color_yellow.gif /img/samples/color_green.gif /img/samples/light_green.gif /img/samples/light_yellow.gif /img/samples/light_red.gif /img/samples/stars_100.gif /img/samples/stars_200.gif /img/samples/stars_300....

Lightning: Generate PDF from Lightning components with in-memory data

I'm sure as everyone is diving into lightning components development, they are getting acquainted with the nuances of the Lightning components framework. As well as, its current limitations. Being a new framework, this is bound to happen. Although we have our users still using salesforce classic, we have started using lightning components framework our primary development platform and Visualforce is considered primarily for rendering lightning components within Classic Service console. Recently, while re-architecting a critical module, we encountered a problem wherein we needed to generate PDF from lightning components. Now, being Javascript intensive framework, it has limited room for such features (may be included in future roadmap). As of now, there is no native feature within the lightning framework to do so (at least I didn't find anything). Common Scenario - Create Visualforce page to retrieve data and generate PDF For scenarios where the data exist within Sa...

Sneak Peek: Checkpoints (a.k.a. Simulated Breakpoints)

What? Simulated breakpoints a.k.a. checkpoints enable developers to assign breakpoints to assess stack values at that point of execution. Where? Simulated breakpoints are available in new Developer console.  Why? At many occasions developers need to assess variable/ instance values during execution. This comes in very handy especially when debugging something in production wherein developers cannot add "system.debug" statements at their will. With breakpoints, developers can very well place breakpoints at desired code locations and execute the code to get breakpoint results How? To create checkpoints, open a class/ trigger in developer console and click on left hand side (just next to line no.). Once added, you can view your breakpoints in "Checkpoint Locations" sub tab within Checkpoints tab.  Each execution of class/ trigger generates Checkpoint data in "Checkpoints" sub tab. Double click on the individual checkpoint log, to view correspondin...