We’re very excited to announce our latest release of BREeze – BREeze 3.0. When we launched BREeze over two years ago, the vision was to provide a Salesforce rules engine platform that could assign any field on any object at any time. Our original vision was to simply extend the existing assignment rules setup that salesforce provides and make it more powerful. With each new customer we add, we’re seeing new and more creative use cases for rule sets and we’ve become more convinced than ever that BREeze can be the platform to deliver these.
Many of these creative use cases are now features in BREeze 3.0. For a full list of features, check out our 3.0 release notes, but here are some of the highlights:
- Optional Stops on the First Match – Currently, BREeze works exactly like assignment rules do. When a record hits the rules set, it evaluates each rule in order until one evaluates as true. Once that rule is hit, BREeze doesn’t continue to the next rule. We’ve had multiple requests to be able to evaluate all rules in a set for a record and with the Optional Stops functionality this is now possible.
For example, if you when an Account is created, you had the following rules:
- If Industry = “High Tech” assign a new Account Team record to Joe (High Tech Specialist)
- If State = “MA” assign a new Account Team record to Mary (AE for New England)
- If State = “CA” assign a new Account Team record to Peter (AE for West Coast)
- If Number of Employees> 10,000 assign a new Account Team record to Paul (Strategic Success Manager)
If the new Account record was a High Tech Account in MA with 15,000 employees we want 3 Account Team records created from rules 1, 2 and 4. By de-selecting the Optional Stops field on the rules set, we’ll now review all 4 rules for processing, instead of stopping on the first true hit. There is a lot of potential with this feature.
- Dynamic Custom Functions – BREeze has always had the capability to be extended with Custom Functions as we saw this as a way to truly make this into an extendable platform. However, if you had a custom function that could have multiple end results, you need a function for each result. With BREeze 3.0, we now allow you to enter in dynamic values for the custom function.
For example, if we have a custom function that inserts a User record into a Public Group based on the criteria of the User:
- If User’s Account Level = “Gold”, add them to the “Gold” Public Group
- If User’s Account Level = “Silver”, add them to the “Silver” Public Group
- If User’s Account Level = “Bronze”, add them to the “Bronze” Public Group
Previously, this would have required 3 different custom functions to be built. Now, we can have one function and when entering in the rule, you have the ability to dynamically populate the value. This can also be extended to multiple values for use cases like automatic Task creation or Email alerts where multiple fields need to be set for the action.
- BREeze for Process Builder – Process Builder is an extremely powerful workflow engine and is a perfect complement to BREeze. (learn more about Process Builder in our Overview post). With BREeze, 3.0 you can now call a rules set from within a Process Builder step. This allows you to leverage a rules set without needing a trigger, and also gives you the flexibility to call different rule sets based on the flow of the process.
- Pre and Post Processing Custom Function – Custom functions now have the flexibility to be called pre and / or post processing of the BREeze rules. For more complicated rule sets, this allows you to reduce the total governor limit impact and most importantly, improve the overall performance of evaluating and processing the rules. BREeze still needs to be able to process within the governor limits of salesforce, so this new functionality greatly extended what can be done within those limits.
For example, let’s take the Public Group use cases above, and then let’s combine it with some of the new features from 3.0. If we wanted to remove the Optional Stop, and we wanted to process all rules for each user (which is the most likely scenario for this use case), we could leverage post processing to evaluate all Public Groups a user should be added to, and add them after all of the evaluation is completed in one query, vs. having to run a process each time the rule evaluates to be true.
With BREeze 3.0 we are extending the power of the leading native force.com rules engine. BREeze – Any field. Any object. Any time.