Guide to dynamic variables

Edited

Overview

As you create your tailored, scalable workflows with Smart Rules, chatbots, macros, and more, you will uncover numerous dynamic variable options that enable powerful automated workflows. Use this guide as a glossary to review all the different options for dynamic variables.


Properties

Conversation properties

  • Conversation ID: Unique conversation ID of every conversation, e.g., cnv_123

  • Subject: Subject of the conversation

  • Assignee: Teammate the conversation is assigned to

  • Number of messages: Total number of messages in the conversation

  • Inbox owner: Teammate to whom the individual inbox belongs to. Undefined for shared inboxes.

  • Contact: Primary recipient of the most recent message of the conversation

  • Account: Account associated with the primary recipient of the most recent message of the conversation

  • Tags: Tags applied to the conversation

  • App objects: Application objects attached to the conversation

  • Inboxes: Inboxes in which the conversation is located

  • Channels: Channels in which the conversation is located

  • Participants: Teammates who comment, @mention a teammate, reply directly, or subscribe to a conversation. See this article to learn more about the participants menu.

  • Get summary: AI Summary for the conversation. Summaries are only available for email conversations and if it was previously generated.

  • Conversation custom fields: Custom fields created for conversations

Message properties

  • Message ID: Unique message ID of the message, e.g., msg_123

  • Date: Timestamp of the message

  • Subject: Subject of the message

  • Sender: Contact who sent the message

  • Author: Teammate who sent the message. Undefined if the message was not sent by a teammate.

  • Parent message: The original message in the conversation, if the current message is a reply to a previous message.

  • Body: Body of the message

  • Get recipients: List recipients of the message in the selected field (To:, From:, etc.)

  • Get header: List the value of the specified header name

  • Detect language: Language of the conversation body. If the text is too short or contains multiple languages, Front's language detector will not detect the language.

  • Front Chat visitor URL: Visitor URL associated with each message the visitor sends through the Front Chat widget

Comment properties

  • Comment ID: Unique comment ID of the comment, e.g., com_123

  • Date: Timestamp of the comment

  • Author: Teammate who wrote the comment

  • Body: Body of the comment

  • Mentions: All teammates @mentioned in the comment

Teammate properties

  • Teammate ID: Unique teammate ID of the teammate, e.g., tea_123

  • Full name: Full name of the teammate

  • First name: First name of the teammate

  • Last name: Last name of the teammate

  • Username: Front username of the teammate

  • Email: Email address the teammate uses to log into front

  • Is available: Reflects the current availability status of the teammate, i.e., whether they are currently set to available (true), busy (false), or out-of-office (false).

  • Is company administrator: Whether teammate is a company admin

  • Is guest: True if the teammate is a person outside your Front account who was invited to the conversation as a guest

  • Exists: True if the teammate exists

  • Does not exist: True if the previous field does not exist

  • Teammate custom fields: Custom teammate fields of the teammate

Contact properties

  • Contact ID: Unique ID of the contact, e.g., crd_123

  • Name: Name of the contact

  • Email: Email address of the contact

  • Phone number: Phone number of the contact

  • Twitter handle: Twitter handle of the contact

  • Handle: Contact information used in the conversation by this contact. It can be their email address for an email conversation, phone number for SMS, etc.

  • Account: Account associated with the contact

  • Contact custom fields: Custom fields created for contacts

Account properties

  • Account ID: Unique account ID of the account, e.g., act_123

  • Name: Name of the account

  • Description: Description of the account

  • Domains: List of domains associated with this account

  • Exists: True if the previous field exists

  • Does not exist: True if the previous field does not exist

  • Account custom fields: Custom account fields of the account

Tag properties

  • Tag ID: Unique tag ID of the tag, e.g., tag_123

  • Name: Name of the tag

  • Parent tag: If the tag is nested under a parent tag

  • Exists: True if the previous field exists

  • Does not exist: True if the previous field does not exist

Application object properties

  • App object ID: Unique ID of the application object, e.g., top_123

  • Name: Name of the application object

  • URL: Unique URL of the application object

  • Description: Description of the application object

  • Status: Status of the application object

  • Owner: Teammate who created the application object

  • Exists: True if the previous field exists

  • Does not exist: True if the previous field does not exist

  • Application object custom fields: Custom fields for the application object

Inbox properties

  • Inbox ID: Unique inbox ID of the inbox, e.g. inb_123

  • Name: Name of the inbox in Front

  • Exists: True if the previous field exists

  • Does not exist: True if the previous field does not exist

  • Inbox custom fields: Custom inbox fields of the inbox

Channel properties

  • Channel ID: Unique ID of the channel, e.g. cha_123

  • Name: Name of the channel in Front

  • Send Address: Address used when sending from this channel. Can be configured to be different from the receiving address.

  • Is Shared: A shared channel belongs to a workspace, while an individual channel belongs to a teammate

  • Owner: Teammate who owns the channel. Undefined if the channel is shared.

  • Default Inbox: Inbox where the messages coming from this channel are routed by default. Can be overridden using routing rules.

  • Exists: True if the previous field exists

  • Does not exist: True if the previous field does not exist

Triggers

  • Previous assignee: Teammate assigned to the conversation directly before an event that causes the assignee to change. Used with triggers that cause the assignee to change.

Use value

  • Create text: Start a variable by inputting free text

  • Create URL: Start a variable by inputting an URL

  • Create teammate list: Start a variable by inputting a list of existing teammates

  • Get teammate group: Start a variable by selecting a teammate group

  • Use result of variable: Use the value of a previously defined variable as a starting point


Transformations

Text

Properties

  • Length: Number of characters, in UTF-16 code units

  • Exists: True if the previous field exists

  • Does not exist: True if the previous field does not exist

Transform

  • Convert to upper case: Convert the text to all upper case

  • Convert to upper case: Converse the text to all lower case

  • Capitalize: Capitalize the first word of each sentence

  • Split by: Divide text into a list. Division is done by searching for a separator pattern. Choose line breaks, commas, semicolons, whitespace as the separator, or create a custom pattern.

Extract

  • Extract between indexes: Returns part of a text between start and end indexes. Indexes start at 0.

  • Extract text: Search for patterns matching the provided regular expression

  • Extract URLs: Extract and post the URLs found in the message

  • Extract email addresses: Extract and post the email addresses found in the message

Compare

  • Is equal to: Test if text is exactly equal to the value

  • Is not equal to: Test if text is not exactly equal to the value

  • Starts with: Test if text starts with the value

  • Ends with: Test if text ends with the value

  • Contains: Test if text contains the value

  • Does not contain: Test if text does not contain the value

Convert/Parse

  • ParseĀ as number: Convert from Type: Text to Type: Number. Undefined if invalid.

  • Parse as email: Convert from Type: Text to Type: Email. Undefined if invalid.

  • Parse as URL: Convert from Type: Text to Type: URL. Undefined if invalid.

  • Parse as JSON: Convert from Type: Text to Type: JSON. Undefined if invalid.

  • Convert to Tag: Convert from Type: Text to Type: Tag. Undefined if invalid.

  • Convert to Account: Convert from Type: Text to Type: Account. Undefined if invalid.

URL

Properties

  • Protocol: Protocol of the URL, e.g., http, https, etc.

  • Host name: Host name of the URL, e.g., www.front.com

  • Path: Path of the URL, e.g., /product-tour

  • Query string: Query string of the URL, e.g., ?parameter1=12345&parameter2=foo

  • Length: Number of characters, in UTF-16 code units

Transform

  • Convert to upper case: Convert the URL to upper case

  • Convert to lower case: Convert the URL to lower case

Extract

  • Query parameter: Specific parameter of the query string of the URL, e.g., 12345

  • Extract between indexes: Returns part of a text between start and end indexes. Indexes start at 0.

  • Extract text: Search for patterns matching the provided regular expression

Compare

  • Is equal to: Test if URL is exactly equal to the value

  • Is not equal to: Test if URL is not exactly equal to the value

  • Starts with: Test if URL starts with the value

  • Ends with: Test if URL ends with the value

  • Contains: Test if URL contains the value

  • Does not contain: Test if URL does not contain the value

Convert

  • Get account from domain: Returns the account matching the domain of the URL. Undefined if invalid.

Email

Properties

  • Domain: Domain of the email address. For example, the domain of charlie.doe@domain.com is domain.com. Do not include the @ symbol.

  • Local part: Local part of the email address preceding the @ sign. For example the local part of jon.doe@domain.com is jon.doe.

  • Length: Number of characters, in UTF-16 code units

Transform

  • Convert to upper case: Convert email address to all upper case

  • Convert to lower case: Convert email address to all lower case

Extract

  • Extract between indexes: Returns part of a text between start and end indexes. Indexes start at 0.

  • Extract text: Search for patterns matching the provided regular expression

Compare

  • Is equal to: Test if email address is exactly equal to the value

  • Is not equal to: Test if email address is not exactly equal to the value

  • Starts with: Test if email address starts with the value

  • Ends with: Test if email address ends with the value

  • Contains: Test if email address contains the value

  • Does not contain: Test if email address does not contain the value

Convert

  • Convert to Teammate: Convert from Type: Email to Type: Teammate, using the Front login email of the teammate. Undefined if invalid.

  • Convert to Contact: Convert from Type: Email to Type: Contact. Undefined if invalid.

  • Get Account from domain: Get the account matching the email address domain. Undefined if invalid.

Number

Transform

  • Add: Add to the value

  • Subtract: Subtract from the value

Compare

  • Is equal to: Test if value is equal to the number

  • Is not equal to: Test if value is not equal to the number

  • Is greater than: Test if value is strictly greater than the number

  • Is lower than: Test if value is strictly lower than the number

Contact

  • Convert to Teammate: Convert from Type: Contact to Type: Teammate, using the Front login email of the teammate. Undefined if invalid.

Date

Transform

  • Add: Add X seconds, minutes, hours, days, weeks, months, quarters, or years to the date

  • Subtract: Subtract X seconds, minutes, hours, days, weeks, months, quarters, or years from the date

  • Set to start of period: Change date to match the start of the second, minute, hour, day, week, month, quarter, or year. Click the down arrow on the right to select a time zone.

  • Set to end of period: Change date to match the end of the second, minute, hour, day, week, month, quarter, or year. Click the down arrow on the right to select a time zone.

Convert

  • Format: Convert date to human-readable format, e.g., April 25, 1988, 3:17 AM

  • Format as ISO 8601: Convert date to ISO 8601 standard, e.g., 1988-04-25T03:17:09Z

  • Format as Unix timestamp: Convert date to UNIX timestamp, e.g., 577937829

Lists

Properties

  • Length: Number of elements in the list

  • Is empty: List contains no elements

  • Is not empty: List contains at least one element

Pick list elements

  • First element: Return first element of the list. Index starts at 0.

  • Last element: Return last element of the list. Index starts at 0.

  • Nth element: Return Nth element of the list. Index starts at 0.

Transform

  • Filter: Restrict list to elements matching your filter conditions

  • Transform each element (map): Creates a new list populated with the results of applying the provided transformation on each element

  • Find: Returns the first element where the provided element is true

  • Sort by: Sort elements according to the provided transformation

  • Deduplicate elements: Returns a list with duplicate elements removed


Related guides

  1. Smart Rules: Get an introductory orientation on Smart Rules and the related resources.

  2. Smart Rules use cases: Gain inspiration from common ways to leverage Smart Rules to supercharge your workflows.

  3. Understanding dynamic variables: Get the breakdown on how exactly the dynamic variables, which are what enable rules to be smart, work.

  4. How to build a Smart Rule: Learn how to build a Smart Rule with step-by-step instructions and screenshots.


Pricing

This feature is available on theĀ Scale plan or above.