Architect built-in variables
Built-in variables provide information about things the system tracks automatically, such as the caller’s phone number, or the contact list associated with an outbound flow. This article lists the default system variables built into Architect for each type of flow. You can also access descriptions in the embedded Function and Operator help.
Architect contains various system-scoped variables that begin with Min or Max. These variables hold the minimum and maximum value allowed for certain data types and are similar to constants in many programming languages. In Architect, they are built-in and read-only system variables. For example, the System.Min.DateTime variable holds the minimum allowed value of a DateTime data type, which is January 1st, 1800 at 12:00:00 a.m.
Name | Type | Collection? | Read Only? | Description |
---|---|---|---|---|
Call.Ani | String | No | Yes | The caller’s origination phone number for the active call (Automatic Number Identification). |
Call.CalledAddress | String | No | Yes | The called address that caused the caller to enter this flow. For a new inbound call, this value is the same as Call.CalledAddressOriginal, but changes for a flow entered by a transfer, for example.* |
Call.CalledAddressOriginal | String | No | Yes | The called address received when the call first entered the system; typically the phone number dialed by the caller to reach the system. For a specified call, this value never changes.* |
Call.ConversationID | String | No | Yes |
The conversation identifier for the active call. |
Call.CustomerExternalOrganizationID | String | No | Yes |
A unique identifier for the external organization. Note: To avoid activating error handling, before you use this variable confirm that it has a value. |
Call.ExternalTag | String | No | Yes |
The external tag for the active call. |
Call.Language | String | No | Yes |
The IETF language tag lowercase string value set on the current interaction. Note: Within call flows, construct comparisons with IETF language tag string values in a case-insensitive manner. |
Call.RemoteName | String | No | Yes | Remote name for the active call. |
Call.UUIData |
String | No | Yes |
Reflects the user-to-user call information (UUI) set on the call. Note: When you transfer a call from flow to flow, or when the flow disconnects, the variable value does not automatically follow to the next flow. |
Flow.IsTest | Boolean | No | Yes | Indicates whether the flow is running in debug mode. |
Flow.StartDateTimeUTC | DateTime | No | Yes | The UTC datetime when the flow started execution. |
Flow.Version | String | No | Yes | The version of the active flow. |
Interaction.ID | String | No | Yes | The IVR participant's communication ID (or Edge session ID). |
Menu.LastCollectionNoInput | String | No | Yes | The last menu invocation result was a No Input. |
System.MaxInt | Integer | No | Yes | Holds the maximum value allowed for an Integer, which is 999999999999999. |
System.MaxDateTime | DateTime | No | Yes | Holds the maximum value allowed for a Date Time, which is December 31, 2200 at 11:59:59 p.m. |
System.MaxDuration | Duration | No | Yes | Holds the maximum value allowed for a Duration, which is 999999999999999 milliseconds (11574074 days, 1 hour, 46 minutes, and 39.999 seconds). |
System.MinInt | Integer | No | Yes | Holds the minimum value allowed for an Integer, which is -999999999999999. |
System.MinDateTime | DateTime | No | Yes | Holds the minimum value allowed for a Date Time, which is January 1, 1800 at 12:00:00AM. |
System.MinDuration | Duration | No | Yes | Holds the minimum value allowed for a Duration, which is -999999999999999 milliseconds (-11574074 days, -1 hour, -46 minutes, and -39.999 seconds). |
System.Regions | Enum | No | Yes | Properties that have information made available as subproperties, such as dialing code and country code. |
System.Currencies | Enum | No | Yes | |
System.Languages | Enum | No | Yes |
A list of IETF language tags in Architect. Note: Like Interaction.Language, when accessing the tag property in flows to obtain the IETF language tag string value, construct comparisons to that value in a case-insensitive manner. |
- An inbound call arrives.
- A call transfers to a flow by another flow.
- A call transfers to a flow by a user.
Each flow makes available to the flow author two "called address" variables. Consumers typically see these addresses as phone numbers, but they can contain other identifies like a SIP address used for voice conversations over the Internet.
Name | Type | Collection? | Read Only? | Description |
---|---|---|---|---|
Call.Campaign | Campaign | No | Yes | The campaign for this flow. |
Call.Campaign.id | Campaign | No | Yes | The campaign identifier. |
Call.ContactList | ContactList | No | Yes | The contact list for this flow. |
Call.ContactList.id | ContactList | No | Yes | The contact list identifier |
Flow.WrapupCode | WrapupCode | No | Yes | The flow wrapup Code. |
Call.Contact | Contact | No | Yes | The contact that connects to the flow. |
Call.ContactId | Contact | No | Yes | The ID of the contact that connects to this flow. |
Call.UUIData |
String | No | Yes |
Reflects the user-to-user call information (UUI) set on the call. Note: When you transfer a call from flow to flow, or when the flow disconnects, the variable value does not automatically follow to the next flow. |
Name | Type | Collection? | Read Only? | Description |
---|---|---|---|---|
Flow.HoldPrompt | Prompt | No | Yes | The default hold prompt audio file for the flow. |
Call.ACDSkills | This variable holds the ACD skills for the interaction. | |||
Call.CurrentQueue | Queue | No | Yes | The current queue associated with the call. |
Call.EstimatedWaitTime | Duration | No | Yes |
The current queue's estimated wait time for the call. Note: If Architect encounters a problem retrieving the estimated wait time, the value could be a NOT_SET duration or NOT_SET integer. Also, if zero agents exist in the queue, the system returns a NOT_SET result for this value. |
Call.LanguageSkill | String | No | Yes |
This variable holds the current language skill of the conversation. |
Call.PositionInQueue | Integer | No | Yes |
The call's current position in the queue. Note: If Architect encounters a problem retrieving the position in queue, the value could be either a NOT_SET duration or NOT_SET integer. |
Call.Priority | Integer | No | Yes |
This variable holds the current priority of the conversation. The priority value will be greater than or equal to -25,000,000 and less than or equal to 25,000,000. If the priority cannot be determined, this returns a NOT_SET integer. |
Call.UUIData |
String | No | Yes |
Reflects the user-to-user call information (UUI) set on the call. Note: When you transfer a call from flow to flow, or when the flow disconnects, the variable value does not automatically follow to the next flow. |
Name | Type | Collection? | Read Only? | Description |
---|---|---|---|---|
Email.Campaign | Campaign | No | Yes | The campaign for this email flow. |
Email.ContactList | Contact | No | Yes | The contact that connects to the email flow. |
Email.ContactID | Contact | No | Yes | The ID of the contact that connects to the flow. |
Email.ConversationID | String | No | Yes | The identifier of the active email interaction. |
Email.ExternalTag | String | No | Yes |
The external tag for the active call. |
Email.Language | String | No | Yes | The IETF language tag lowercase string value set on the current interaction. |
Email.LanguageSkill | String | No | Yes | The language skill associated with the active email. |
Email.Message | No | Yes | The content of the email body. | |
Email.Message.autoGenerate | Boolean | No | Yes | Whether the email was generated automatically; for example, an out-of-office reply. |
Email.Message.attachments | Collection | Yes | Yes | The collection of email attachments on this email. |
Email.Message.bcc | Collection | Yes | Yes | The collection of email addresses specified in the email's bcc (blind carbon copy) list. |
Email.Message.body | String | No | Yes | The email body as plain text. |
Email.Message.cc | Collection | Yes | Yes | The collection of email addresses specified in the email's cc (carbon copy) list. |
Email.Message.dateTimeUtc | DateTime | No | Yes | The Coordinated Universal Time (UTC) datetime for the email. |
Email.Message.direction | String | No | Yes | The email direction (inbound, outbound, or unknown). |
Email.Message.from | String | No | Yes |
The email "from" address. Retrieve the email address from it by using .id. Retrieve the name from it by using .name. |
Email.Message.htmlBody | String | No | Yes | The email body as HTML. |
Email.Message.id | String | No | Yes | A unique identifier for the email. |
Email.Message.replyTo | String | No | Yes | The raw address to which to route replies to this email. |
Email.Message.route | Contact | No | Yes | The email address of the email rout that receives this email. If not received by an email route, this is NOT_SET. |
Email.Message.route.id | String | No | Yes | The full email address ID. |
email.message.route.name | String | No | Yes | The friendly name for the email address. |
Email.Message.subject | String | No | Yes | The email subject. |
Email.Message.to | Collection | Yes | Yes | The collection of email addresses specified in the email's "to" list. |
Flow.IsTest | Boolean | No | Yes | Indicates whether the flow runs in debug mode. |
Flow.StartDateTimeUTC | DateTime | No | Yes | The UTC datetime when the flow started execution. |
Flow.Version | String | No | Yes | The version of the active flow. |
System.MaxInt | Integer | No | Yes | Holds the maximum value allowed for an Integer, which is 999999999999999. |
System.MaxDateTime | DateTime | No | Yes | Holds the maximum value allowed for a Date Time, which is December 31, 2200 at 11:59:59 p.m. |
System.MaxDuration | Duration | No | Yes | Holds the maximum value allowed for a Duration, which is 999999999999999 milliseconds (11574074 days, 1 hour, 46 minutes, and 39.999 seconds). |
System.MinInt | Integer | No | Yes | Holds the minimum value allowed for an Integer, which is -999999999999999. |
System.MinDateTime | DateTime | No | Yes | Holds the minimum value allowed for a Date Time, which is January 1, 1800 at 12:00:00AM. |
System.MinDuration | Duration | No | Yes | Holds the minimum value allowed for a Duration, which is -999999999999999 milliseconds (-11574074 days, -1 hour, -46 minutes, and -39.999 seconds). |
Name | Type | Collection? | Read Only? | Description |
---|---|---|---|---|
Flow.InvocationData | String | No | Yes | The invocation data supplied when the flow starts. |
Name | Type | Collection? | Read Only? | Description |
---|---|---|---|---|
Flow.IsTest | Boolean | No | Yes | Indicates whether the flow runs in debug mode. |
Flow.StartDateTimeUTC | DateTime | No | Yes | The UTC datetime when the flow started execution. |
Flow.Version | String | No | Yes | The version of the active flow. |
Message.Campaign | Campaign | No | Yes | The campaign for the flow. |
Message.ContactID | String | No | Yes | The ID of the contact that connects to this flow. |
Message.ContactList | ContactList | No | Yes | The contact list for this flow. |
Message.ConversationID | String | No | Yes | The conversation identifier for the active message. |
Message.EstimatedWaitTime | Duration | No | Yes | The current queue's estimated wait time for the message. |
Message.ExternalTag | String | No | Yes |
The external tag for the active call. |
Message.IsAuthenticated | Boolean | No | Yes | Returns a value that indicates whether the message is authenticated. True if the authentication was requested for the message when it enters the queue; otherwise, false. |
Message.IsNewConversation | Boolean | No | Yes | Indicates whether the message is in a new conversation. |
Message.JourneyContext | Journey context | No | Yes | The journey context associated with this message. If no journey context is available, NOT_SET is returned. |
Message.Language | String | No | Yes | The IETF language tag lowercase string value set on the current interaction. |
Message.LanguageSkill | Language skill | Yes | Yes | The language skill for the current interaction. |
Message.Message | ShortMessage | No | Yes | The message associated with the inbound message flow. You can access properties from this variable to get information about the message. |
Message.Message.attachments | Collection | Yes | Yes | The collection of attachments on this message. |
Message.Message.Body | String | No | Yes | The body content of the message. |
Message.Message.bodyType | String | No | Yes | The message body type. For example, text, HTML, or RTF. |
Message.Message.dateTimeUtc | DateTime | No | Yes | The UTC datetime for the message. |
Message.Message.id | String | No | Yes | A unique identifier for the message. |
Message.Message.senderAddress | Object | No | Yes | The address of the message sender. |
Message.Message.senderAddressInfo | Object | No | Yes | The message sender's address information. |
Message.Message.senderAddressInfo.addressDisplayable | String | No | Yes | A displayable version of the contact address. Example: (317) 555-1212 |
Message.Message.senderAddressInfo.addressNormalized | String | No | Yes | The contact address after internal processing completes. Example: +13175551212 |
Message.Message.senderAddressInfo.addressRaw | String | No | Yes | The contact address as supplied directly by the underlying message system. Example: 5551212 |
Message.Message.senderAddressInfo.email | String | No | Yes | The email address of the message sender. This email address is supplied by the specific messaging provider. If an email address is not available, the system returns NOT_SET. |
Message.Message.senderAddressInfo.name | String | No | A contact name as supported by the underlying messaging system; for example, a Twitter handle or a Facebook name. | |
Message.Message.targetAddresses | Collection | Yes | Yes | The collection of addresses for the message targets. |
Message.Message.type | String | No | Yes | The message type. For example, SMS, Facebook, Twitter, and Line. |
Message.PositionInQueue | Integer | No | Yes | The current position in queue for the current message. |
Message.Priority | Integer | No | Yes | The current priority of the conversation. The priority value is greater than or equal to -25,000,000. If the system cannot determine the priority or it is not applicable for the current flow, then the system returns a NOT_SET integer. |
Name | Type | Collection? | Read Only? | Description |
---|---|---|---|---|
Menu.LastCollectionNoInput | String | No | Yes | Returns whether or not there was no user input detected when handling the last menu or sub-menu configured on the flow. At flow runtime, returns a NOT_SET Boolean if the execution has not yet solicited any user input menu choice. |
Menu.LastCollectionNoMatch | String | No | Yes | Returns whether or not a caller input did not match a menu choice. At flow runtime, returns a NOT_SET Boolean if the execution has not yet solicited any user input menu choice. |
Voicemail.DebugEntityType | String | No | Yes |
When executing the flow following a debug publish, this variable contains the entity type being debugged or tested. This variable is ignored for normal (non-debug) executions. |
Voicemail.DebugGroup | String | No | Yes |
When executing the flow following a debug publish and the Voicemail.DebugEntityType is "Group," this variable contains the group being debugged or tested. This variable is ignored for normal (non-debug) executions, and debug executions where Voicemail.DebugEntityType is not "Group.. |
Voicemail.DebugQueue | String | No | Yes |
When executing the flow following a debug publish, and the Voicemail.DebugEntityType is "Queue," this variable contains the queue being debugged or tested. This variable is ignored for normal (non-debug) executions, and debug executions where Voicemail.DebugEntityType is not "Queue." |
Voicemail.DebugUser | String | No | Yes |
When executing the flow following a debug publish, and the Voicemail.DebugEntityType is "User," this variable contains the user being debugged or tested. This variable is ignored for normal (non-debug) executions, and debug executions where Voicemail.DebugEntityType is not "User." |
Voicemail.Enabled | Boolean | No | Yes |
True if voicemail is enabled for the target entity. |
Voicemail.EntityName | String | No | Yes |
The textual name of the target entity. |
Voicemail.EntityNameAudio | String | No | Yes | The target entity's custom name audio, as recorded in the Telephony User Interface (TUI). Recording a name is optional, so this variable may be NOT_SET. |
Voicemail.EntityGreetingAudio | String | No | Yes |
The target entity's custom greeting audio, as recorded in the Telephony User Interface (TUI). Recording a greeting is optional, so this variable may be NOT_SET. Note: If a greeting is recorded, it plays as is, with no other prompting. |
Voicemail.EntityType | Integer | No | Yes |
The type of the target entity. The possible values are NOT_SET (if the target entity could not be determined), "group," "queue," and "user." Note: The group, queue, and user types are lower-case. |
Voicemail.Group | String | No | Yes |
The target Group object, when Voicemail.EntityType is "group;" otherwise, it will be NOT_SET. |
Voicemail.Queue | String | No | Yes |
The target Queue object, when Voicemail.EntityType is "queue;" otherwise, it will be NOT_SET. |
Voicemail.User | String | No | Yes |
The target User object, when Voicemail.EntityType is "user;" otherwise, it will be NOT_SET. |
Voicemail.VoicemailSnippet | String | No | Yes |
The snippet containing the collected message from the caller, or NOT_SET if no message was collected. |
Name | Type | Collection? | Read Only? | Description |
---|---|---|---|---|
Survey.ConversationEndDateTimeUtc | DateTime | No | Yes | The ending DateTime for the conversation associated with this survey invite. |
Survey.ConversationID | String | No | Yes | The identifier of the completed conversation associated with this survey invite. |
Survey.ConversationStartDateTimeUtc | DateTime | No | Yes | The starting DateTime for the conversation associated with this survey invite. |
Survey.ConversationType | String | No | Yes | The conversation type associated with this survey invite. Valid values are call, callback, chat, co-browse, email, or screeenShare. Use unknown for anything other than the previous conversation types. |
Survey.CustomerAddress | String | No | Yes | The address for the customer associated with this survey invite. |
Survey.CustomerContact | String | No | Yes | The external contact for the customer associated with this survey invite. If no customer contact exists, the value is NOT_SET. |
Survey.CustomerContact.address | String | No | Yes | The address of the customer contact associated with this survey invite. |
Survey.CustomerContact.address.address | String | No | Yes | The first address line of the customer contact associated with this survey invite. |
Survey.CustomerContact.address.address2 | String | No | Yes | The first address line of the customer contact associated with this survey invite. |
Survey.CustomerContact.address.city | String | No | Yes | The city field of the customer contact address. |
Survey.CustomerContact.address.countryCode | String | No | Yes | The country code field of the customer contact address. |
Survey.CustomerContact.address.postalCode | String | No | Yes | The postal code field of the customer contact address. |
Survey.CustomerContact.address.state | String | No | Yes | The state field of the customer contact address. |
Survey.Url | String | No | Yes | The URL that links to the survey. |
Flow.IsTest | Boolean | No | Yes | Indicates whether the flow is running in debug mode. |
Flow.StartDateTimeUTC | DateTime | No | Yes | The UTC datetime when the flow started execution. |
Flow.Version | String | No | Yes | The version of the active flow. |
Name | Type | Collection? | Read Only? | Description |
---|---|---|---|---|
Chat.ConversationID | String | No | Yes | The identifier of the completed conversation associated with this chat message. |
Chat.Guest | String | No | Yes | The guest associated with the chat message. |
Chat.Language | String | No | Yes | The IETF language tag lowercase string value set on the current interaction. |
Chat.JourneyContext | String | No | Yes | The journey context associated with this chat. |
Chat.JourneyContext.customer | String | No | Yes | The customer associated with the journey. |
Chat.JourneyContext.customer.id | String | No | Yes | A unique identifier for the customer journey. |
Chat.JourneyContext.customer.idType | Integer | No | Yes | The identification type of the customer journey. |
Chat.JourneyContext.customerSession | String | No | Yes | The customer session associated with the customer journey. |
Chat.JourneyContext.customerSession.id | String | No | Yes | A unique identifier for the customer journey session. |
Chat.JourneyContext.customerSession.type | String | No | Yes | The identification type of the customer journey session. |
Chat.JourneyContext.triggeringAction | String | No | Yes | The action that triggered the journey. |
Chat.JourneyContext.triggeringAction.id | String | No | Yes | A unique identifier for the triggered journey. |
Chat.JourneyContext.triggeringAction.actionMap | String | No | Yes | The action map associated with the journey action. |
Chat.JourneyContext.triggeringAction.actionMap.id | String | No | Yes | A unique identifier for the journey action map. |
Chat.JourneyContext.triggeringAction.actionMap.version | Integer | No | Yes | The journey action map version. |
Name | Type | Collection? | Read Only? | Description |
---|---|---|---|---|
Workflow.Language | String | No | Yes | The lowercase IETF language tag for the language in which the flow is currently running. |
Name | Type | Collection? | Read Only? | Description |
---|---|---|---|---|
Session.ActiveIntent | String | No | Yes | The currently active intent for the session. |
Session.ChannelType | String | No | Yes | The channel type of the conversation associated with this bot flow instance. Valid values are "call," "chat," or "messaging." |
Session.ConversationID | No | Yes | The ID of the conversation associated with this bot flow instance. | |
Session.Language | String | No | Yes |
The IETF language tag lowercase string value set on the current interaction. Note: Within bot flows, construct comparisons with IETF language tag string values in a case-insensitive manner. |
Session.LastCollectionConfidence | Decimal | No | Yes |
The participant's most recent utterance confidence in an Ask for action, excluding those for built-in confirmation or disambiguation questions. If no such utterance exists, then this is a NOT_SET decimal. |
Session.LastCollectionUtterance | String | No | Yes |
The participant's most recent utterance in an Ask for action, excluding those for built-in confirmation or disambiguation questions. If no such utterance exists, then this is a NOT_SET string. |
Session.LastCompletedIntent | String | No | Yes |
The name of the intent that was active in the most recently completed Ask for Intent action. If no such action has completed yet, then this is a NOT_SET string. |
Session.LastKnowledgeAnswer | String | No | Yes |
The answer wording of the last Knowledge question whose answer appears to the participant. |
Session.LastKnowledgeQuestion | String | No | Yes |
The question wording of the last knowledge question whose answer appears to the participant. |
Session.Source | String | No | Yes | The type of application or mechanism that the end user employs to communicate with the bot. |