Rule sets
Overview
Rule sets allow you to radically simplify your list of rules. Instead of crowding your rule list with duplicate rules, you can use a single rule powered by a simple table. Your rule structure stays the same while all the different values for each condition are managed in an easy-to-use table. When the rule set is triggered, each row of the table is evaluated one after another as if they were separate rules.
Use rule sets to easily manage your rules and declutter in your rule list. You can also mass update the table via CSV upload to quickly modify your rule set values.
When to use rule sets
Rule sets can be used when you need multiple copies of a rule with the exact same rule condition structure that can run without too much consideration for rule order. Rule sets work best with rules focusing on keywords, tags, move actions, or assign actions.
Example keyword rule:
When Inbound
If Subject contains Billing
Then add tag Billing
You could have dozens or even hundreds of similar rules for additional keywords like “Bug”, “Refund”, “Urgent”, etc. Rather than creating duplicate rules, you could create a single rule set supported by a table to manage all your keywords.
Example use cases for rule sets:
Rule category | Example use case | Prevalence | Notes |
Keyword condition | Ex. 1: If body contains “billing”, then tag Billing Ex. 2: If subject contains “invoice” and body contains “billing”, then add tag Billing | Most common | Keyword conditions are always a good fit for rule sets, regardless of rule actions |
Tag action | If subject contains “late delivery”, then tag Urgent | Common | Tagging actions are often a good fit, regardless of rule conditions |
Move action | If subject contains “billing” or has tag Billing, then move to Finance inbox | Least common | Custom fields may be a better solution |
Assign action | When tag Billing is added, then assign to Bill. When tag Urgent is added, then assign to Jane. | Least common | Custom fields may be a better solution |
When not to use rule sets
Here are some instances when we may want to think twice about using rule sets:
When using custom fields is more scalable
If you can create your rules with only custom fields and dynamic variables, use them instead of rule sets. Custom fields are more scalable and easier to maintain in the long run. e.g. “If account X, then assign to Charlie”. You can quickly have thousands of accounts, requiring multiple rule sets. It’s much more efficient to use the rule action “then assign to [account manager]” with your custom account field.
As a reminder, you can use custom fields with Inboxes, Teammates, Contacts, and Accounts. Contacts and Accounts can be synced with third party systems such as a CRM.
A good rule of thumb: if you need thousands of rows in your table, you could probably use custom fields instead of a rule set.
When your rule order really matters
Rule sets will try to apply rules row by row using the table. All the rows in the table will be evaluated before moving on to the next rule in your rule list. However, sometimes you may need to have another rule in between the rules in the rule set. For example:
Rule 1: If body contains “billing”, then add tag Billing
Rule 2: When tag Billing is added, then move to Billing inbox
Rule 3: If body contains “bug”, then add tag Engineering
Rule 4: When tag Engineering is added, then move to Engineering inbox
You could not use a rule set here.
Instructions
Part 1: Create a rule blueprint
In this example, we will create a rule that adds a tag to a conversation if it’s in any shared inbox and has specific keywords. e.g. IF an inbound message is received any shared inbox AND the subject contains “billing”, THEN add the tag Billing.
Step 1
Click the gear icon on the top right of Front and into the Company or Personal settings tab, depending on which space you are working with, and click Rules and macros or Rules, depending on your view.
Step 2
Click Create rule, then select a template or create from scratch. Create your rule blueprint by filling in your When, If, and Then values.
Step 3
Click Convert to rule set at the top. Your initial rule values will automatically convert into dynamic variables.
Part 2: Add table values
Step 4
Click the Rule set data tab at the top to add additional values to your rule set table.
Step 5
To manually manage your rule set table, click Add row or the plus (+) icon at the bottom to add more rows. Fill in the rows and columns with your values. If you need to add a new column, see additional instructions here.
If you have multiple items you want to include in the same cell, use semicolons to separate the words or phrases.
Step 6
Click Create when finished.
Column types
When managing your rule set columns, you can select a column type that supports the information you’d like to add.
Supported column types:
Text: Enter keywords to match on in each cell. Separate keywords with semicolons.
Yes or no: Select yes or no per cell.
Number: Enter 1 number per cell.
Message template: Select 1 message template per cell.
Tag: Select 1 tag per cell.
Tag list: Select up to 10 tags per cell.
Inbox: Select 1 inbox per cell.
Inbox list: Select up to 10 inboxes per cell.
Teammate: Select 1 teammate per cell.
Teammate list: Select up to 10 teammates or teammate groups per cell.
Language: Select 1 language per cell. See supported languages here.
Manage rule set values via CSV upload
Step 1
Click the gear icon on the top right of Front and into the Company or Personal settings tab, depending on which space you are working with, and click Rules and macros or Rules, depending on your view.
Step 2
Click on the rule you’d like to manage, then click the Rule set data tab.
Step 3
Click Export CSV if you’d like to download the current table contents. Otherwise, click Import CSV if you have a file ready.
Step 4
Drag and drop your file into the pop-up window, or click Choose file to select your file. Click Import CSV, then click Import CSV to confirm.
Step 5 (optional)
If you imported tag IDs, teammates IDs, inbox IDs, etc., click the three-dot menu in a column and select the matching column type. This will convert the imported text into the matching value in Front.
Step 6
Click Save when finished.
Important to know
Importing a new CSV file will replace all the existing data in the rule set table. To add to the table (rather than overwrite), download the existing data using the Export CSV feature, enter your new data to the file, then import the updated file.
Files can include a maximum of 500 rows.
Cells can contain numeric or text values.
If you have multiple items you want to include in the same cell, use semicolons to separate the words or phrases.
Existing rules containing dynamic variables or teammate groups cannot be converted into a rule set.
FAQ
Are there row and column limits?
Yes. Rule set tables have a 500 row and 25 column limit.
How are rule sets ordered in the rule list?
Rule sets are displayed as a single rule in the rule list. You can change the sort order for the rule set, but other rules in your list cannot be placed between the rows in your rule set table. e.g. You cannot have your SLA rule apply between rows 5 and 6 in your rule set table.
Can I use the same rule set table across multiple rules?
No. A rule set table can only be used in a single rule. You can export the rule set table contents and import the CSV file into a separate rule set if needed.
Can multiple rows in the rule set apply to a conversation?
Multiple actions can be performed on a conversation as long as the IF conditions in the rule set are met. Example:
Desired workflow: Your rule set adds a tag to a conversation based on a keyword.
Rule blueprint: IF an inbound message is received AND the subject contains “billing”, THEN add the tag Billing. You have multiple keyword and tag combinations for keywords such as “billing” and “urgent”
Conversation subject line | Resulting action |
Billing question | Billing tag is added |
Urgent request | Urgent tag is added |
Urgent billing question | Billing AND Urgent tags are added |
Pricing
Rules are available on all plans. See this article to review triggers, conditions, and actions included in each plan.