5 Tips to Organize and Run Your Rules Efficiently
If you are a Gainsight admin, you probably spend a lot of time in Rule Engine. Here are some tips to help you keep things running smoothly, save time, and make your life a little easier.
1. Name Rules Logically
There is nothing worse than spending time hunting down a rule you know is there somewhere. The best way to avoid confusion is to keep your rules organized! There are many ways you can do this. You can use folders, add rules to rule chains, add descriptions, and deactivate rules if they are not in use.
In my opinion, the best way to organize rules is to have a strong and consistent naming convention. This will allow you, your team, and anyone else who will work on rules in the future to easily search for and locate the rules they need.
However you go about organizing your rules, make sure that your system is documented and that everyone working with rules is following that system.
For example, you could name a rule Load to Company: Onboarding Date using the structure [Action name]: [Description of rule].
2. Turn on Failure Notifications
Have you ever had a situation where a problem is reported to you and you realize it was caused by a rule failure…but you never received a notification? It’s pretty common, especially as teams transition over time, for rule notification settings to not get updated.
A great way to avoid this is to create a group email address and use that for rule notifications. Then you can set that email address up to forward to the individual members of the team that monitor rule failures. If you use Slack or another messaging app, you can also set up an integration that will forward these emails to a specific channel and alert you there.
It’s also a good idea to periodically review your active/scheduled rules and make sure you have failure notifications turned on, and the correct email in the “Mention Emails For Failure
box. Rules will become inactive automatically if they fail too many times, so it’s important to catch any failures as soon as possible.
3. Schedule Strategically
When building a new rule, it’s easy to just schedule the rule and not think about when you are scheduling it in relation to other scheduled rules. Some questions you can ask yourself when scheduling rules:
How often does this rule really need to run? How often is the source data updated?
Is it important for the rule to run at a specific time of day? (For example, you want your Company records to be updated from Salesforce at the beginning of the workday for CSMs)
Does it make sense to add this rule to a rule chain?
Although they have some limitations, I am a fan of using rule chains as much as possible. They help organize your rules in a way that is easier to understand, and allows you to run rules conditionally - run one rule after another has run without having to specifically schedule them to do so.
To get an idea of when your rules are scheduled, you can go to Analyzer → Schedules Analyzer. From here, you can see a visualization of your rule schedule. You can also download a CSV of all of your rules that includes the times they are scheduled.
4. Optimize Rule Setup
If you are finding that your rules take a long time to run and your rule queue is getting backed up, identify rules that you can optimize.
I have sometimes found the Rules Analyzer (found under Analyzer → Rules Analyzer) to give some helpful recommendations. In here you can scan your rules and it will give some suggestions to improve the rule’s efficiency.
In general, it’s a good idea to think about how you can add filters to only fetch the data you need in the rule. One common filter is to only bring in Company records that are Active, or are a specific customer type. If possible, you can also add date filters that only show records updated within a specific time period.
Another thing I like to think about is to envision coming back to this rule in a year to troubleshoot a failure. How simple will it be for you (or someone else) to understand how and why the rule is set up the way it is? If it is too broad, how can you make it more specific? If it is too complex, it could be a good idea to break the rule into multiple rules. This will allow you to troubleshoot points of failure much easier.
5. Perform Cleanups
Have you ever looked at the number of rules you have and wondered how that number got so high? You probably know that only a small percentage of those rules are actually running…
Although it’s sometimes a good idea to keep older rules around (especially if you’ve just rewritten one), these start to pile up quickly and don’t add any value. If you feel it’s important to keep a record of the rules you have had running in the past, I recommend a documentation system outside of Gainsight where you can include screenshots, explanations, etc.
Find some time to occasionally go through your rules and clean them up. This can include making sure all rules are following your naming convention, adding descriptions, adding rules to rule chains, reviewing the schedules of rules, checking failure scheduling, etc. This will make your life (and others that will work on your instance in the future) much easier.