
Understanding rules

Overview
Front's rules engine allows you to automate your workflows. Rules can help you handle repetitive tasks to save time and increase your team's efficiency in Front.
This article will help you understand how rules work. After reading, check out our guide to rule conditions and try to create a rule. Or, utilize our Rules Library to browse and automatically create rules for your team.
Rules features vary based on your Front plan. Please see the pricing section of this article for more information.
Rules fundamentals
Rule types
There are four kinds of rules: team rules, individual rules, SLA rules and company rules.
Team rules are applied to any shared inbox and can only be created by Team Admins or Company Admins.
Individual rules will apply to your individual inbox, but not internal discussions.
Company rules can apply to all individual and/or shared inboxes and can only be created by Company Admins.
SLA rules need to set up by Company Admin or Team Admin in Front.
Parts of a rule
Rules are made up of three types of conditions: triggers, filters, and actions.
See here for a full Guide to rule conditions.
1. Triggers (WHEN)
Triggers specify the types of events that will cause Front to start evaluating the conditions of your rule and see if they are met. Triggers can be done manually by a teammate or via Front's API.
2. Filters (IF)
Filter conditions are the criteria that determine whether a rule will be actioned on. More on how to use and/or statements in your filters can be found in this article.
3. Actions (THEN)
Actions specify the actions that will result when the rule is processed successfully (when all filters are met). You have the option to check off Stop processing other rules to prevent the actions of the rule to trigger other rules.
Ordering of rules
You are able to order your rules if you want certain ones to take priority over others. This means that the one ordered higher will have its actions take precedence, and the lower rule may only apply some of its actions so as not to conflict with the other. Time-based rules are special, in the sense that they will only be processed if the conditions are met at the designated time.
Type in the desired position of the row, or the arrows to the left of each rule (upon hovering), to adjust rules up or down the list.
Company rules will always execute before individual or team rules.
Rules triggering other rules
Sequential rules
With Front's rule engine, an action of a rule can be used to trigger a subsequent rule, so you can build a sequence of rules to rule one after another. Here's an example sequence:
Rule #1
WHEN: Inbound Message
IF: From company.com
THEN: Add Company tag
Rule #2
When: Conversation tagged
IF: Added tag is Company
THEN: Assign to Andersen
Because Rule #1 is processed first, the Company tag will be added. This will create a conversation tagged action, which allows for Rule #2 to be triggered. And because the Company tag is present, the second rule is processed and the conversation is now assigned to Andersen.
Rule actions that do not trigger sequential rules:
- If a rule action assigns a conversation or if a conversation is already assigned, a sequential rule cannot re-assign it.
- A conversation being assigned by a load balancing rule will not trigger sequential rules with an Assignee is changed trigger.
When conversations move across teams
Sequential rules will continue to run when conversations move from one team to another, or when moving from an individual to a team inbox. The rule trigger in the destination inbox that continues the sequence of rules is When conversation moved. For example:
Rule #1 in the original team or private inbox
WHEN: Conversation tagged
IF: Contact is in Finance
THEN: Move to inbox Billing*
*The Billing inbox would be in the destination team that the conversation is moving to.
Rule #2 in the destination team
WHEN: Conversation moved
IF: Inbox is Billing
THEN: Assign to a specific teammate Helena
Keep in mind that when the conversation moves to the new team, all rules in the destination team that have a trigger When conversation moved will attempt to scan for matching conditions. If all conditions match, then the actions of those rules will run. Multiple rules may run if there are no conflicting actions, so you’ll want to ensure that you define your rules to be specific to your intended conversations.
Option to stop processing other rules
If after a rule is processed, and you don't want other rules listed below to apply, check the Stop processing other rules box. When this option is checked, subsequent rules will be ignored even if they would apply to the conversation.
The exception to stop processing are time-based, or scheduled, rules. Rules with Unreplied after or Unassigned after conditions are scheduled by time, and therefore are not taken into consideration as a rule to be stopped.
Rule exceptions
Most of the time, rules will work on both archived and open conversations. For instance, if you comment on an archived conversation and you have a rule set for When comment... and all the conditions match, then the rule will run.
However, there are some cases where rules will not run:
- Sending an auto-reply will not trigger a rule with a When outbound reply trigger.
- A conversation that is already assigned cannot be re-assigned by a rule.
- When messages are imported to your Gmail or O365 channel when you first add it, rules will not run on them.
- Vacation responder messages will not trigger any sequential When outbound reply rules.
- Conversations in the trash will not trigger any rules if you action on the conversations.
- The specific combination of using When inbound, if unreplied/unassigned after... and then you archive the conversation, then the rule will not run because you have manually marked it as complete.
- A conversation being assigned by a load balancing rule will not trigger sequential rules with an Assignee is changed trigger.
Rules and analytics
Actions made by rules are not counted into analytics. For instance, if you have a rule to auto-archive emails, the archive does not count as a reaction time. These actions are excluded from analytics.
Time-based rules and time zones
Front has powerful advanced rule conditions that are based on the amount of time that has passed after an inbound, outbound, or moved message: Unreplied after and Unassigned after.
The time zone that you are in when creating the rule is the timezone that the rule will act on. If any teammate modifies the rule in a different time zone, we will detect this and the time zone will update to the latest one.
To learn more about time-based rules, see here.
Advanced rules
Advanced rule conditions are used in more complex workflows.
The Advanced rule conditions are listed below. All other rule conditions not listed are Basic conditions. For an explanation of all Basic and Advanced rule conditions, see here.
Rule condition category |
Advanced condition |
WHEN |
|
IF |
|
THEN |
|
Pricing
Templates from our rule library are available on all Front plans.
Customized rules using the rule engine builder, advanced rules, SLA rules, and load balancing rules are available on the Prime plan or above.
Company rules are available on the Enterprise plan.
Some legacy plans with different names may also have the above features.
-
I have a rule that assigns a message to a teammate based on contents of the message, and another rule that notifies all team members if this message is not assigned.
However, it seems everyone on the team is still getting the notification even if the message is assigned to the teammate, using the first rule.
I have the rules ordered so that the "assign to teammate" rule is processed first. Considering the message is then "assigned" shouldn't that prevent the second rule "notify all teammates" from processing?
Thanks for the help.
-
Micah Kohne Hi, and sorry for the delayed reply. Can you please send an email with the names of these rules so that we can investigate?
-
I want to archive auto-replies and for this I want to use headers matching.
For example, if this header is present and one of the values is "OOF", I want to archive the message.
x-auto-response-suppress: DR, NDR, RN, NRN, OOF, AutoReply
So far I have not found a way to write:
IF has header-key "x-auto-response-suppress" AND header-value contains "OOF"
How can I do something like this?
-
Rule #1
WHEN: Outbound Message, Outbound reply
IF: unreplied after 1 min AND has tag "resend email1"
THEN: Reply email 1 AND Remove tag "resend email 1" AND Add tag "resend email 2"
Rule #2
WHEN: Outbound Message, Outbound reply
IF: unreplied after 1 min AND has tag "resend email 2"
THEN: Reply email 2 AND Remove tag "resend email 2" AND Add tag "resend email 3"
Rule #3
WHEN: Outbound Message, Outbound reply
IF: unreplied after 1 min AND has tag "resend email 3"
THEN: Reply email 3 AND Remove tag "resend email 3" AND Add tag "resend email 4"
In this case, if 3 of my "unreplied after" set to different mins, 3 rules will be triggered. If I set them all to same min, e.g. in this case, all set as 1 min, only my rule 1 will trigger, my rule 2 and rule 3 will not be trigger, may I know why is this the case? -
Hi Carlos Gonzalez! It looks like your rule utilizes an Advanced rule action. You're currently on a plan that does not include these actions. More information about these actions can be found here: https://help.frontapp.com/t/h429fb#then-teammates