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.MinDateTime 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
A list of available currencies in Architect and information about the currencies made available as subproperties, such as ISO 4217 currency code.
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.

*Note: Various actions cause a call to enter a flow, including, but not limited to:
  • 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 Email 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 ExternalContact 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.