We can modularize the sections of our processes with more logic using Invocable processes.
The invocable process is the process that starts when another (normal) process invokes it. To invoke the (invocable) process from another (normal) process, we need to configure this with the process action in the main process. The main process passes the record into the invocable process, then the invocable process does the action/logic defined on that record. Because the record is passed from one process to another it receives a certain version of the object record. That depends on when the process executed (Immediate OR Scheduled Action).
When Should I Use The “Invocable Process”?
If you are using the same action for the multiple actions group. Then configure that action only one time in the invocable process and then invoke it in the (normal) process actions.
Another scenario to use invocable process is – Nesting the logic. The normal process handles simple ‘if/then’ statement. If you have the requirement where you need to nest the if inside another if else, in that case, the invocable process does our work perfectly.
Example:
Object: Case
Custom field: Support Level (Picklist): Level 1, Level 2.
Custom field: Support Region (Picklist): IND, AME.
Queue: Level 1, Level 2
Chatter Group: Level 1 – IND, Level 1 – AME, Level 2 – IND, Level 2 – AME
If the user updates “Support Level” to Level 1 OR Level 2, automatically assign (change the owner) the record to the respective queue (Level 1, Level 2) and post the chatter to chatter group based on the “Support Region” field selection.
Go To | Setup | Seach “Process Builder” in the quick find box | Create a New Process.
Invocable Process.
Save and activate the process.
Now create another process.
Select Object.
Add Criteria.
Update record owner to queue.
Click on add action link | select the action type as “Processes” | Enter action name | Select the “Invocable Process” that was created before.
Save and activate the process.
🙂
Thanks
Arun