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

Team rules are applied to any shared inbox and can only be created by Team Admins or Company Admins. Team rules can be accessed from the Company settings tab by clicking Rules under the team name.

Individual rules

Individual rules will apply to your individual inbox (but not internal discussions). Your individual rules can be accessed from the Rules section in your Personal settings tab.
Company rules 

Company rules can apply to all individual and/or shared inboxes and can only be created by Company Admins, by clicking Rules under the Company section of the Company settings tab.

SLA rules

SLA rules are a type of Team rule, and need to set up by a 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

You have the option for whether sequential rules continue to run when conversations move from one Team to another, or when moving from an individual to a team inbox. By default, the option to continue running the rules in the destination team will be turned on, but you can turn this setting off in each rule where you do not want it to run after it moves to another team. The setting is located in the rule's Then section — click the dropdown arrow next to your Move action to show the checkbox for Trigger automated rules if moved to another Team

In the destination inbox, the rule trigger that would continue the sequence of rules would be When conversation moved. For example, if you have the Trigger automated rules option checked off:

Rule #1 in the original team or private inbox

  • WHEN: Conversation tagged
  • IF: Contact is in Finance
  • THEN: Move to inbox Billing*

*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 those rules have the Trigger automated rules option checked off. 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

  • New comment is added
  • Teammate is mentioned
  • Snooze expired
  • Assignee is changed
  • Assignee is removed
  • Conversation is reopened
  • Conversation is archived
  • Conversation is deleted
  • Conversation is restored
  • Tag is removed
  • Conversation is moved
  • Message delivery fails

IF

  • Conversation is in specific channels...
  • Assignee currently is one of...
  • Assignee currently is not one of...
  • Conversation has no tags
  • Conversation does not have specific tag(s)…
  • Message HTML Body contains…
  • Message language is…
  • Headers contain…
  • Message has attachment
  • Message has no attachment
  • Message type is...
  • Message direction is…
  • Custom contact field contains…
  • Time is between specific hours…
  • Day of the week is…
  • Message unreplied after…
  • Conversation unassigned and open after…
  • Delay since trigger...
  • Time is during business hours…
  • Time is after business hours…
  • Contact is in specific group…
  • Contact is not in specific group…

THEN

  • Assign to teammates...
  • Assign based on a contact field...
  • Unassign
  • Reopen conversation
  • Delete conversation
  • Forward to...
  • Notify assignee (if any)
  • Add contact to a specific group...
  • Remove contact from a specific group...
  • Send to Hipchat
  • Log message in Hubspot
  • Trigger in PagerDuty
  • Create activity in Pipedrive
  • Create lead in Salesforce
  • Send email to Salesforce
  • Send task to Salesforce
  • Send to Slack
  • Send to a Webhook
  • Send to Zapier 

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.

22replies Oldest first
  • Oldest first
  • Newest first
  • Active threads
  • Popular
  • I cant get rules to work.  Simple one that when I assign a tag it should move boxes - anything I am missing?

    Like
  • Hi Chris,

    Sorry I'm just now seeing this. Did you ever get it to work?

    Like
  • I'd love an option for 'Stop processing further rules'. I need to have a lot of extra clauses in rules further to the end to stop from triggering for earlier rules. This is really simple in Freshdesk (which we use while evaluating Front)

    Like 1
  • Jean-Paul Horn can you explain this a bit more? Are you looking for something like "if this rule is triggered, override other rules" or what?

    Like 1
  • 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.

    Like
  • Is there an action to follow a conversation?

    Like
  • 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?

    Like
  • ddofborg Unfortunately not!

    Like
  • Thanks for the reply  Cori Morris - I added a delay to the second rule to check if the message is assigned and that makes it work properly.

    Like
  • Is there a way to make a rule be case-sensitive?

    Like
  • roundedbygravity Not at this time. I will share this request with our product team, though.

    Like
    • Rolf Dröge
    • co-founder of kollekt.fm
    • Rolf_Droge
    • 3 yrs ago
    • Reported - view

     Cori Morris , I can add a personal tag to the messages in our shared team inbox but is it also possible to create a team rule that adds this (personal) tag to a message received in our team inbox?

    Like
  • Rolf Dröge Not at this time. I'd be happy to share your request with our Product team, though.

    Like
  • Hi. After the update, when we send outgoing emails, they are not archived in our team inboxes. We have a rule that moved send email to shared inboxes. But the are opened again, when moved. Even if we send and archive.

    How do we get the sendt email to be archived in the shared inbox?

    Like
  • Hi Søren Rynkebjerg please send us a request (as we'll likely need some information sensitive to your account) you can use the contact form on our Help Center thanks!

    Like
  • 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?

    Like
  • 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?

    Like
  • What is the difference between Does not contain vs Does not contains full word/phrase?

    I'd like to exclude some receipients in rule filter (IF) and I'm not sure which option to choose.

    Like
  • Is there a way to bulk create rules? I'd like to auto-assign all of my client's inbound emails to myself. I am wondering if there is a more efficient way than doing it one by one. 

    Like
  • Mackenzie Davids Hi! You can certainly simplify this. Please send us an email so we can look at your specific use case and help you get set up!

    Like
  • My rules keep getting disabled? Any reason?

    Like
  • 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

    Like
Like3 Follow
  • 3 Likes
  • 2 wk agoLast active
  • 22Replies
  • 26087Views
  • 19 Following