Guide to dynamic variables
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¶meter2=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.
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
Smart Rules: Get an introductory orientation on Smart Rules and the related resources.
Smart Rules use cases: Gain inspiration from common ways to leverage Smart Rules to supercharge your workflows.
Understanding dynamic variables: Get the breakdown on how exactly the dynamic variables, which are what enable rules to be smart, work.
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.