Documentation
...
- It takes the whole screen up - you can't quickly get back to other areas of setup. Open it in a new tab.
- You can't open multiple processes in a new tab from the main process builder screen - this is because the click event on the process builder heading is javascript code, and not a hyperlink. This is annoying. But get used to it, the whole of the new Lightning Experience is this way. (Well, apparently they are fixing this with the main Lightning Experience, but I have not heard for sure about Process Builder).
- You can't hyperlink to an individual process. This is completely shit for documentation. I have a document that outlines every single email that goes out and what triggers it. I can not specifically link to the process that triggers these emails in my documentation. NOT GOOD ENOUGH!. (I found one poorly worded idea in Success after much searching. This needs more points https://success.salesforce.com/ideaView?id=08730000000DmI7AAK)
Good Things
- Create a Chatter Post
- Create a Record
- Automate Publisher Actions
- Automate Flows
- Update Records
- Related Records - up the chain
- Related Records - update multiple records below the current record. (but I'm not sure how this would really work in practice)
- Related Records - update multiple records below the current record based on a criteria.
Things to Know
Processes are just Flows behind the scenes - see Process Builder Behind the Scenes for how you can tell.
Reuse, Re-do, Re-order
- You can't re-use field updates, email alerts etc - this may be things something that will stop you using Process Builder. https://success.salesforce.com/ideaView?id=08730000000DfNzAAK, https://success.salesforce.com/ideaView?id=08730000000DgFcAAK
Object
- You can't change the object that the Process runs from after you create the process. But workflow rules are like that too.
- You can't add new criteria in the middle of a process.
- You can't reorder criteria in the process.
- Why oh why can't you just go to the flow that is created by the process, modify that, and have it still open in Process Builder if it validates as a flow that works in Process Builder.
- The Name and description don't copy over. Vote for this idea! https://success.salesforce.com/ideaView?id=08730000000DqB7AAK
Emails
- You can use only email alerts that are associated with the same object that the process is associated with. The record that started the process is used as the starting point for any merge fields that are used in the email alert. Similar to workflows.
...
Lots of known issues https://success.salesforce.com/issues_index?tag=Process%20Builder
...
The Name and description don't copy over. Vote for this idea! https://success.salesforce.com/ideaView?id=08730000000DqB7AAK
Building a Process
It is really hard to see exactly what the criteria are, and you have to click into the diamond to see it - BEWARE! mistakes are going to be made.
...
Info | ||
---|---|---|
| ||
I want to enter values on the Contract that are stored on the Account. Default values from the account. One is the Primary Contact for that Account that the Contract is for - so that's a lookup value. Lookup values can now be set by Process Builder - Yay! So it should be easy, right? Wrong. The other defaults are picklist values - eg Contract Type and Contract Process I only want the defaults to be updated IF the Contract is not Activated yet, and IF the Account is changed. I don't want to override any values inadvertently that may have been changed from the default. It is not likely that the Account gets changed on a Contract, but you have to allow for this. So, my first criteria node (in pseudocode) is
Then my Immediate actions on that criteria are Update Record, set:
Now, I SHOULD be able to put in a third update here - update Primary Contact from Account.Primary Contact BUT we run into this issue. https://help.salesforce.com/apex/HTViewSolution?id=000212174&language=en_US - the Process Builder fails IF the Primary Contact on Account is blank. So, you would think, well, I will just add another criteria to my process to keep it all in the same process. Wrong. Yep, I did this - this is why I'm writing this example. Second criteria node
Now, let's think about this - we still don't want to set the primary contact on the Contract unless ALL those criteria are still true. HOWEVER, the process will NEVER get there because Process Builder is very dumb - it only handles TRUE/FALSE. After the first criteria node is executed it will ONLY execute the second criteria node IF the criteria in the first node is FALSE. No. I want to execute the process again (recursion) AND with the same criteria - just the one additional criteria. This help document comes into play https://help.salesforce.com/apex/HTViewHelpDoc?id=process_advanced_considerations.htm&language=en_US but I am not 100% sure I'm reading it right. "ISCHANGED always evaluates to false when a record is first created". Yes, I get that. I am also not changing the account in this (or any other) process, so I can be confident that ISCHANGED is correct for the first node, but I don't know whether the recursion on the process would mean that ISCHANGED will be true or false on the second node. But it doesn't matter because under no circumstances will anything get to the second node because I only want to do any of this stuff when ISCHANGED is true. So, my options are - create 2 processes both with the same criteria - Nope. Hard to maintain (and actually I want three or 4 lookup fields updated). So it's off to create a Flow for me!. Flows are going to contain all the logic in one place and be much easier to see the logic and build. |
...
- Can't post to chatter on the related record IF Feed Tracking is not enabled on this record.
- Can't post to the feed of a related record. See https://success.salesforce.com/ideaView?id=08730000000DftMAAS
Can't @ mention a user (eg Owner).See https://success.salesforce.com/ideaView?id=08730000000DfbNAAS (Apparently there is a magical fix for this now! Cool!).
Info | ||
---|---|---|
| ||
Want to send an email from Campaign Member and then update Chatter to say that it has been sent? Well you are out of luck. Campaign Member is one of those objects that is not a full Salesforce object, so it does NOT have a chatter feed. You can't post to the feed of a related record, so therefore you can't put a post on the Contact (or Lead) instead. No chatter posts for you! |
...