Guide to rule conditions

Overview

Rules are made up of three types of conditions:

  1. When: trigger events that qualify a rule to start scanning for the filter conditions
  2. If: filter conditions that need to exist in order for the rule to run the actions
  3. Then: resulting actions that occur from the rule once conditions are met

We'll go through each specific condition within each of the three categories. Most rule conditions are available on the Starter and Plus plans, with a few Advanced conditions on the Prime plan or above (denoted with an * below). Also, most rule conditions work with all triggers, with some exceptions.

For more about how rules work, see Understanding Rules.


Trigger events

The When section contains triggering events that will cause Front to start evaluating the conditions of your rule and see if they are met.

*Asterisks below denote Advanced rule conditions available on the Prime plan or above.

When - Message

  • Inbound message is received: A new message arrives, either a brand new conversation or within an existing thread.
  • Conversation is moved: A conversation is moved from one shared inbox to another shared inbox within the same Team (Teams are available with the Enterprise add-on).
  • Outbound message is sent (new conversation): The first outgoing message in a new thread is sent (not a reply in an existing conversation).
  • Outbound reply is sent (existing conversation): A reply is sent in an existing thread.
  • Message delivery fails: A message fails to be delivered.

When - Status

  • Conversation is archived: A conversation is archived.
  • Conversation is reopened*: A conversation is un-archived.
  • Conversation is deleted: A conversation is deleted.
  • Conversation is restored: A conversation is restored from the trash.
  • Snooze expired: When a reminder or snooze expires and conversation is reopened.

When - Teammates

  • New comment is added: An internal comment is posted in a conversation, excluding internal discussions (updating an existing comment does not count). You can optionally input the comment author and the comment body content.
  • Teammate is mentioned: When one or more teammates are @mentioned in a comment. Select who the teammates are.
  • Assignee is changed: A conversation is assigned or re-assigned to a teammate.
  • Conversation is unassigned*: A conversation is un-assigned from a teammate.

When - Tags

  • Tag is added: A conversation is tagged.
  • Tag is removed: A tag is removed from a conversation.

Filter conditions

The If section contains the filters you've set that must exist in order for the actions to run.

*Asterisks below denote Advanced rule conditions available on the Prime plan or above.

If - Status

  • Conversation is currently archived: Conversation is in an archived state.
  • Conversation is open: Conversation is in an open state.

If - Inbox

  • Conversation is in specific inboxes: Check off the inboxes the rule should apply to.
  • Conversation is in specific channels: Check off channels the rule should apply to.

If - Recipient

  • "From" field contains: Specific requirements of the text in the From field, which has sub-filters**.
  • "To" field contains: Specific requirements of the text in the To field, which has sub-filters**.
  • "Cc" field contains: Specific requirements of the text in the Cc field, which has sub-filters**.
  • "Bcc" field contains: Specific requirements of the text in the Bcc field, which has sub-filters**.
  • "To" or "Cc" field contains: Specific requirements for either the To or the Cc field, which has sub-filters**.
  • Any recipient field contains: Specific requirements of the text in any of the From, To, Cc, Bcc fields, which has sub-filters**.

**Sub-filters in this group: Contains, Starts with, End with, Is equal to, Is in domain, Does not contain, Is not in domain. You can use a semicolon (;) as an or separator to list several domains as follows: Is not in domain "domain.com; anotherdomain.com" - this will be true if at least one recipient is not from domain.com or anotherdomain.com.

If - Contact

  • Contact is in specific group: Choose the contact group that the contact is in.
  • Contact is not in specific group: Choose the contact group that the contact is not in.
  • Custom contact field*: Choose the custom contact field you have created.

If - Tags

  • Conversation has specific tag(s): Conversation already has the chosen tag(s).
  • Conversation does not have specific tag(s): Conversation does not have the chosen tag(s).
  • Has no tags: Conversation has no tags at all.

If - Content

  • Email subject contains: Specific requirements of the text in the conversation subject line, which has sub-filters**.
  • Headers contain: Specific requirements for certain text or elements that the headers contain, which has sub-filters**.
  • Email body contains: Specific requirements of the text in the conversation body, which has sub-filters**.
  • HTML message body: Specific requirements of the HTML text in the conversation body, which has sub-filters**.
  • Message language is: Language of the conversation body (if the text is too short or contains multiple languages, Front's language detector will not detect the language).
  • Message has attachments: Conversation has attachments.
  • Message has no attachments: Conversation does not have attachments.

**Sub-filters in this groupContains, Contains full word/phrase, Starts with, Ends with, Is equal to, Does not contain, Does not contain full word/phrase. The text that you enter here should not be in quotes. Note that *Contains *****also includes partial matches; for example, specifying *Contains ****"order" *****will match on "reorder." If you only want to match "order," use the Contains full word/phrase selection.

If - Message

  • Message type is: Filter the type of message, options being Email, Tweet, Retweet, Direct Message, SMS, Facebook, Intercom, Yalo/WhatsApp.
  • Message direction is: Choose whether conversation is inbound or outbound direction.

If - Time*

  • Unreplied after*: Set the amount of time that the message (inbound or outbound) is unreplied, options being Minutes, Hours, Days, Weeks, Months, Years.
  • Unassigned after*: Set the amount of time that the message (inbound or outbound) is unassigned, options being Minutes, Hours, Days, Weeks, Months, Years.
  • During business hours*: Compares time to Business hours defined in Analytics.
  • Outside business hours*: Compares time to Business hours defined in Analytics.
  • Time is between*: Define the time frame.
  • Day of the week is*: Choose the day(s) of the week you want the rule to apply to.

If - Teammates

  • Assignee currently is one of: Conversation is assigned to one of the people listed.
  • Assignee currently is not one of: Conversation is currently not assigned to one of the people listed.
  • Conversation is unassigned: Conversation is in an unassigned state.

FAQs about filters

How do the And/Or filters work?

You are able to create conditions using And and Or types. Using And will require all the listed conditions to be true in order for the rule to take action. Using Or will require only one of those conditions to be true. You can also use a combination of these two types. More on how to use And/Or statements can be found in this article.

How do I list multiple keywords within a filter?

Some conditions allow you to type in your own text for the condition (such as Subject, Body, To, From), and you can actually list multiple keywords within one condition if these options are all Or type. You would simply separate the words with a semicolon (;).

For example, if you wanted your condition to be for the Subject to contain the keywords Urgent or SOS; then instead of creating 2 separate Or conditions, you would just create one condition and list the two keywords as:


Resulting actions

The Then section contains the list of actions that will result when all filters are met.

*Asterisks below denote Advanced rule conditions available on the Prime plan or above.

Then - Teammates

  • Assign to teammate(s): Assign conversation to a specific teammate (only if conversation is not already assigned) or assign to a group of teammates. If you select more than 1 teammate, a new sub-menu will show to choose the assignment Randomly, Round-robin*, or Load balancing**. Conversations will not be assigned to a teammate who currently has their status set to Unavailable or teammates who do not already have access to that conversation.
  • Assign based on a contact field*: Choose from one of the contact fields for this contact.
  • Unassign: Unassign the conversation.
  • Notify teammates (if any): This will show the conversation in their Shared with me section. Notifying teammates who don't have access to the conversation will grant them access.
  • Notify assignee (if any)*: this will notify the teammate assigned to the conversation, and bump the conversation up in their Assigned to me folder.

Then - Status

  • Archive conversation: Archive the conversation.
  • Reopen conversation: Unarchive the conversation.
  • Delete conversation: Move the conversation to Trash. Note: you cannot set a rule to permanently delete messages automatically.

Then - Organization

  • Add tag: Add a specific tag.
  • Remove tag: Remove a specific tag.
  • Move to a specific inbox: Move conversation to a specific inbox. Note: moving a conversation to a different inbox breaks the sync between Front and Google/Office365 for that conversation.

Then - Message

  • Reply with a canned response: Reply with a specific canned response, either Once or Always (if the conversation already has an outbound message or outbound reply in it, reply Once will not send anything).
  • Forward to: Forward the email to other addresses (only for email conversations).

Then - Contacts

  • Add contact to a specific group: Add the contact to specific contact groups.

  • Remove contact from a specific group: Remove the contact from specific contact groups.

  • Send to Hipchat: Send the conversation to a specific Hipchat room.

  • Log message in Hubspot: Log the message to the contact in Hubspot if the contact exists.

  • Trigger in PagerDuty: Trigger an alert in PagerDuty.

  • Create activity in Pipedrive: Add content of the message as a new activity for the contact, if the contact exists.

  • Create lead in Salesforce: Create lead in Salesforce for the contact if it does not exist already.

  • Send to Salesforce: Log message as an activity in Salesforce. The assignee in Salesforce is the author of the message or the assignee of the Front conversation if they're a Front teammate who has signed into the Salesforce integration. After checking the message author and then the assignee, if no owner is found, the activity defaults to assigning the activity in Salesforce to the Front teammate who first enabled the Salesforce Integration.

  • Send to Slack: Send the message to a specific Slack channel or user.

  • Send to a Webhook: Send the message to your webhook URL.

  • Send to Zapier: Send the information to Zapier.

Stop processing other rules

The rule engine runs sequentially by default, meaning that the rule actions in one rule can trigger subsequent rules to run more actions. You have the option to check off Stop processing other rules if you don't want this to happen.


Rule conditions on conversation vs. message level

Some rule triggers and conditions apply to the whole conversation, and some apply to a specific message within the conversation. For example, the From condition applies to a specific message, and not the thread as a whole where the sender may change from message to message. Likewise, a tag can only apply to the whole conversation, and not an individual message.

Here are some specific cases:

Rule #1

  • When: Tag is added
  • If: To contains @company.com
  • Then: Assign to Andersen

This rule will check the To recipient of the last message in the tagged conversation.

Rule #2

  • When: Snoozed expired
  • If: Body contains example
  • Then: Move the conversation

This rule will check the body of the last message for the word example.

Rule #3

  • When: Inbound message is received
  • If: Subject contains Urgent
  • Then: Add tag Urgent

This rule will add the tag to the whole conversation, as tags cannot be added to individual messages.

12replies Oldest first
  • Oldest first
  • Newest first
  • Active threads
  • Popular
  • is it possible to CC an email address automatically on all outbound messages or replies from a specific channel? we have just set up a new channel in our inbox and i was under the impression that we should be able to achieve the CC condition above, but i can't work out how to do it.

    Like 1
  • worked this out with the BCC rule in preferences, but thanks

    Like 1
  • Hi Jem Wilkinson glad you figured that out! Sorry we missed your comment here initially!

    Like
  • Hi, is there a way to trigger a rule on inbound message but only if it's a new conversation and not a reply to an existing conversation?

    Like
  • Eduardo Guerra Hi there! Simple answer is no, but there might be a workaround utilizing tags. Will you send us an email with your desired workflow so we can further assist?

    Like
  • Cori Morris Hi I managed to get the desired result using a tag. Thanks!!

    Like 1
  • I'm hoping there is a way to create a template rule that I can apply to multiple inboxes. I currently manage separate inboxes for 10 academy locations, and each one needs the same rules applied. 

    Something like this, but in 9 other inboxes for 9 separate brick-and-mortar locations. 

    https://docs.google.com/document/d/1YDwWOUcohPjfO9ezTZHpZVUsRuuK3439BrsZCNZ2l4k/edit?usp=sharing

    Any ideas for me? :)

    Like
  • Kevin O'Neal Hey Kevin, sounds like Front's company rules feature may help: https://help.frontapp.com/t/h441h2/company-rules

    Like
  • Lemuel Chan Thank you! 

    Like
  • Hey again! Another question for you guys: If I have a rule set up to automatically assign a team member for a certain automatically generated email, if I set the THEN to also "archive conversation," that will only archive in the team inbox and not in the assignee's inbox, correct? Is that a good way to keep team inboxes clear while still ensuring that the email gets followed up on? 

    Like
  • Kevin O'Neal Hi there! If your rule is assigning a conversation to a teammate, then you shouldn't add the archive action as that will archive it for the assignee. Assigning will automatically remove the conversation from the "Unassigned" tab in the team inbox, but will it will remain in the "Assigned" or "Open" tabs. Does that make sense?

    Like
  • Cori Morris Hi! Thank you for the quick reply! Yes, that does make sense. I basically have a team member who isn't good at archiving emails that don't require a email reply but do require follow-up in another system (notifications., auto-generated emails, etc), so I am trying to find an easy way to have them be in her inbox but also take them out of the "open" tab in my team inbox. I guess the easiest way is to just train her to click archive! 

    Like 1
Like2 Follow
  • 2 Likes
  • 2 days agoLast active
  • 12Replies
  • 5526Views
  • 10 Following