LogoLogo
Changelog
18.0
18.0
  • Welcome
    • Welcome to Airkit 👋
    • Quickstart
    • Terminology
    • Flight School & Certification
  • Tutorials
    • Your First App (A Simple Form)
      • Building the Web UI
      • Building the Database
      • Finalizing the App
      • Connecting to Salesforce (Advanced)
      • Appendix
      • FAQ
    • Styles, Themes, and Templates
      • Changing the header
      • Changing the Theme
      • Using a custom font
      • FAQ
      • Appendix
    • Multi-Page Form
      • Creating the App Object in AirData
      • Building the Form’s UI
      • Creating the Data Flow to insert data
      • Connecting the Data Flow to the UI
      • Previewing and Publishing the app
    • Scheduling and Follow-Up App
      • Collecting Contact Information
      • Creating Appointment Times
      • Saving Appointment Information
      • Scheduling Appointment Reminder
      • Automating Proactive Follow-Up
      • Finalizing all Journey Steps
      • Appendix
      • FAQ
    • Custom Integrations (Petfinder App)
      • Querying the Petfinder API
      • Displaying Petfinder Data
      • Appendix
  • Concepts
    • Journeys
      • Linking to Journeys
    • Actors
      • Conversations with Actors
  • Console
    • Console
  • Studio
    • Studio
    • Builder Bar
      • Journey Builder
      • Triggers Builder
      • Web Flows Builder
      • Chat Bots Builder
      • Voice Bots Builder
      • Connections Builder
      • Notifications Builder
      • AirData Builder
      • Media Library
      • Theme Builder
      • Schedules Builder
      • Settings
    • App Preview
    • Action Builder
    • Web Flows
    • Data Flows
    • Variable Tree
    • Events
      • Session Started Events
      • Trigger Events
      • Control Events
      • Session Events
      • Activity Group Events
  • Data and Integrations
    • Variable Namespaces
    • Storing and Accessing Data
    • AirData
      • AirData App Objects
      • Identity Objects
      • Place Objects
      • Schedule Objects
      • Datastores
      • AirData Querying Capabilities
    • Standard Journey Data
    • Integrations and APIs
      • Setting up Integrations
      • Adding and Modifying Resources
      • Querying and Manipulating Data
      • Subscriptions (Web Hooks)
      • App APIs
  • SMS
    • Overview
    • SMS Notification Basics
    • Chat Bot Basics
    • Texting Journey Links
    • Information Captured
    • Connecting Twilio Numbers
  • Emails
    • Overview
    • Email Notification Basics
    • Sending Emails by Data Operation
    • Connecting Email Addresses
  • Building Apps
    • Forms
      • Displaying Sections Dynamically
      • Repeating Elements
      • Form Personalization
      • Validation of User Data
      • Capture Secure User Data
      • Progress Bars
      • Dropdown Menus
      • Electronic Signatures
    • Voice and Chat
      • Voice Bot Basics
    • KitCloud
      • Web Flow Templates
      • Data Flow Templates
    • Integration Guides
      • Building an App API
      • Creating SFTP Credentials
      • Swagger Schema Validation
      • Create A Salesforce Lead
      • Create a Zendesk Ticket
    • Calendars
      • Customizing Schedule Availability
      • Using Availability Schedules
      • Rescheduling Deflected Calls
      • Integrating to External Calendars
    • Maps and Addresses
      • Maps
      • Addresses
      • User's Current Location
      • Address Search Map Binding
    • Payments
      • Creating a Stripe Integration
    • Timers and Reminders
      • Setting Timers
      • Setting up Periodic Tasks
    • PDFs
      • Creating a PDF
      • Working with Existing PDFs
    • Assets and Media
      • Using the File Upload Web Control
      • Working with Files and Media
      • Assets and Data Operations
      • Sending Assets to Remote Servers
    • Embeds
      • Embedding Apps on Websites
      • AirClient Configurable Properties
    • Publishing
      • Publishing Your Application
      • Editing an Application
      • Importing/Exporting Apps
      • Profiles and Deployment Settings
      • Tying Variables to Deployments
    • Advanced
      • Custom Controls
      • Creating Custom Functions
  • Authentication
    • SAML Authentication
    • OAuth 2.0 - Google
    • OAuth 2.0 - Okta
    • OAuth 2.0 - Auth0
    • Azure AD B2C
    • Authentication Apps and Secure Apps
  • Airscript
    • Airscript Quickstart
    • Testing Airscript Expressions
    • Airscript Examples
    • Working with Text
    • Working with Numbers and Currency
    • Working with Dates and Times
      • Date and Time Formatting Options
      • Time Unit Values
      • Supported Time Zones
    • Working with Email and Phone
    • Working with Missing Values
    • Working with URLs and Base64
    • Querying Lists and Objects
    • Filtering Data using Query Expression
  • Configuring User Connections
    • Connecting Your Domain
  • Styling
    • Themes and Control Variants
    • Importing and Exporting Themes
    • Working with Custom Fonts
    • Creating an App Header
    • Page Layouts
  • Analytics
    • Analytics Overview
    • Organization Logged Events
      • Snowflake Analytics Schema
      • App Events to Splunk
      • App Events to AWS S3 Buckets
      • Audit Logs to AWS S3 Buckets
      • View Data in Activity Explorer
    • Heap and GTM Integrations
      • Setting up Analytics with GTM
      • Setting up Analytics with Heap
  • Administration
    • SAML SSO for an Organization
    • Managing User Roles
    • Adding Users to Airkit
    • Airkit Organizations
    • Environments
      • Environmental Governance
    • Managing the Application Lifecycle
    • Getting Application Metadata
  • Error Management
    • Logging Custom Event Errors
    • Integrating Error Notifications to Slack
  • Security and Compliance
    • IP Ranges
    • Encrypting Data
    • SSL Auth
    • App Security FAQ
    • TCPA
    • Cookie Policies
  • Airscript Expressions
    • Text Functions
      • CAPITALIZE
      • CONCAT
      • ISSTRING
      • LOWERCASE
      • PADSTRING
      • REPLACE
      • REPT
      • SPLIT
      • STRING_COMPARE
      • STRING_FIND
      • STRIP
      • SUBSTITUTE
      • SUBSTRING
      • TITLECASE
      • TRIM
      • UPPERCASE
    • DateTime Functions
      • ADD_TO_DATE
      • ADD_TO_DATETIME
      • DATE
      • DATETIME
      • DATETIME_DELTA
      • DATETIME_FROM_FORMAT
      • DATETIME_FROM_TIMESTAMP
      • DATE_DELTA
      • DATE_FROM_DATETIME
      • DATE_FROM_FORMAT
      • DAY
      • DAYS
      • FORMAT_DATE
      • FORMAT_DATETIME
      • FORMAT_TIME
      • HOUR
      • ISO_WEEK
      • MINUTE
      • MONTH
      • NOW
      • SECOND
      • SUBTRACT_FROM_DATE
      • SUBTRACT_FROM_DATETIME
      • TIME
      • TIMESTAMP_FROM_DATETIME
      • TIME_DELTA
      • TIME_FROM_DATETIME
      • TIME_FROM_FORMAT
      • TODAY
      • UPDATE_DATE
      • UPDATE_DATETIME
      • UPDATE_DAY
      • UPDATE_HOUR
      • UPDATE_MILLISECOND
      • UPDATE_MINUTE
      • UPDATE_MONTH
      • UPDATE_SECOND
      • UPDATE_TIME
      • UPDATE_TIMEZONE
      • UPDATE_YEAR
      • WEEK
      • WEEKDAY
      • YEAR
    • List Functions
      • CONTAINS
      • FIRST
      • FLAT
      • JOIN
      • LAST
      • LENGTH
      • REMOVE_EMPTY
      • SHUFFLE
    • Object Functions
      • KEYS
      • VALUES
      • MERGE_OBJECTS
    • Math Functions
      • ABS
      • ACOS
      • ACOSH
      • ACOT
      • ACOTH
      • ASIN
      • ASINH
      • ATAN
      • ATAN2
      • ATANH
      • CEILING
      • COMBIN
      • COMBINA
      • COS
      • COSH
      • COT
      • COTH
      • CSC
      • CSCH
      • DEGREES
      • EVEN
      • EXP
      • FACT
      • FACTDOUBLE
      • FLOOR
      • GCD
      • ISEVEN
      • ISNUMBER
      • ISODD
      • LATLNGDISTANCE
      • LCM
      • LN
      • LOG
      • MAX
      • MIN
      • MROUND
      • MULTINOMIAL
      • ODD
      • PI
      • POWER
      • PRODUCT
      • RADIANS
      • RANDOM
      • RANGE
      • ROUND
      • ROUNDDOWN
      • ROUNDUP
      • SEC
      • SECH
      • SIGN
      • SIN
      • SINH
      • SQRT
      • SQRTPI
      • SUM
      • SUMSQ
      • TAN
      • TANH
      • TRUNC
    • Conditional Functions
      • EQUAL
      • IF
      • ISEMPTY
      • ISNOTEMPTY
      • NOT
    • Currency Functions
      • CURRENCY
      • FORMAT_CURRENCY
      • PARSE_CURRENCY
    • Phone Functions
      • FORMAT_PHONE
      • ISPHONE
      • PARSE_PHONE
    • Email Functions
      • ISEMAIL
    • Number Formatting Functions
      • ARABIC
      • FORMAT_NUMBER
      • PARSE_NUMBER
      • ROMAN
    • Data Type Functions
      • FROM_JSON
      • TO_JSON
      • TYPEOF
    • Asset Functions
      • ASSET_SIZE
      • ASSET_STATE
      • ASSET_THUMBNAIL_URL
      • ASSET_TO_URI
      • ASSET_TYPE
      • URI_TO_ASSET
    • Encoding Functions
      • BASE
      • BASE64_DECODE
      • BASE64_ENCODE
      • HMAC_MD5
      • HMAC_SHA1
      • HMAC_SHA256
      • MD5
      • SHA1
      • SHA256
      • URL_DECODE
      • URL_ENCODE
      • UUID
      • VALUE_OF
    • Error Handling Functions
      • THROW
      • TRY
    • Arithmetic Operators
      • Addition (+)
      • Subtraction (-)
      • Multiplication (*)
      • Division (/)
      • Remainder (%)
    • Comparison Operators
      • Equality (=)
      • Inequality (<>, !=)
      • Ordering (<, <=, > , >=)
    • Advanced Expressions
      • User Defined Functions
      • LET...IN
  • web-controls
    • Web Controls Overview
      • Common Style Properties of Web Controls
    • Button
    • Checkbox
    • Checkbox List
    • Container
    • Container List
    • Credit Card
    • Currency Input
    • Date Picker
    • Dropdown List
    • Email Input
    • Embedded External Content (Container)
    • File Upload
    • Hyperlink
    • Image
    • Label
    • Map
    • Number Input
    • Payment Request Button
    • Phone Input
    • Place Search Input
    • Progress Bar
    • Radio Button
    • Radio Button List
    • Scheduler
    • Secure String Input
    • Selectable Container
    • Signature
    • Text Area
    • Text Input
    • Web Flow
    • Web Page
    • QR Code
  • Voice and Chat Controls
    • Dialogue Controls Overview
    • Decision Menu
    • Forward Call
    • Secure Touchtone Capture
    • Text Response Capture
    • Touchtone Capture
  • Data Operations
    • Data Operation Overview
    • AirData Request
      • DELETE
      • PUT
      • INSERT
      • PATCH
      • QUERY
      • DEPRECATED_QUERY
    • Calendar Search
    • Create File
    • Delete Assets
    • Download Encoded Asset
    • Early Return
    • Fetch Asset Details
    • Fill PDF Form
    • Google
    • HTML to PDF
    • HTTP Request
      • Using an API With Paging
    • JWT Generation
    • Merge PDF
    • Run Data Flow
    • Run Event in Journey
    • Salesforce
    • Secure Value Retrieval
    • Send Email
    • SFTP
    • Start Journey
    • Swagger Schema Validation
    • Transform
    • Wait
    • XML to JSON
    • Zendesk
    • ZIP File
  • Actions
    • Analytics Identify
    • Analytics Send Event
    • Close Modal
    • Condition
    • End Session
    • Extend Session Expiration Time
    • Go to Next Journey Step
    • Initialize Actor
    • Log Custom Event
    • Metric: Count
    • Metric: Field
    • Metric: Start Timer
    • Metric: Statistic
    • Metric: Stop Timer
    • Navigate To Web Flow
    • Navigate to Web Page
    • Open Modal
    • Run Data Flow
    • Run Data Flow Repeatedly
    • Run Event
    • Send Email
    • Send SMS
    • Set Authentication
    • Set Identifier
    • Set Variable
    • Start Chat Bot
    • Start Voice Bot
    • Start Timer
    • Stop Timer
  • Variable Data Types
    • Data Types Overview
    • Any (JSON)
    • Asset
      • Detailed Asset
    • Boolean
    • Currency
    • Date
    • DateTime
    • Email
    • List
    • Null
    • Number
    • Phone
    • Text
    • Time
    • Custom Data Types
  • Integrations
    • Custom Integrations
    • Genesys Widget Integration
    • Zendesk Integration
    • Salesforce Integration
    • Plaid Integration
    • Twilio Integration
    • Stripe Integration
    • Shopify Integration
    • Airtable Integration
    • Google Integration
    • SFTP Integration
  • Product Versions
    • CXR Overview
    • Release Cadence and LTS
    • CXR Upgrades and Migrations
Powered by GitBook
On this page
  • Default Behavior
  • Use Cases
  • Properties
  • Existing Session Behavior
  • Example

Was this helpful?

  1. Actions

Initialize Actor

PreviousGo to Next Journey StepNextLog Custom Event

Last updated 1 year ago

Was this helpful?

The Initialize Actor Action sets the values for the Journey's current . The Actor is an object that represents the current user's information.

When Initialize Actor is triggered, the actor variable is copied into Airkit's actor_internal variable for the current Journey. The main use of the actor_internal variable is so that a Chat Bot or Voice Bot knows which phone number to text or call.

The diagram below represents a Journey right before the Initialize Actor Action is called. The actor variable has been set using the .

This next diagram represents what happens when the Initialize Actor Action is triggered. Whatever is stored in the actor variable gets copied to Airkit's internals. Note that it is not possible for your App to access the actor_internal variable directly.

If there is an active Journey with an actor_internal whose phone number is the same as the actor when Initialize Actor is called, the Existing Session Behavior is triggered, as described below.

Default Behavior

When the user begins a Journey with an incoming call or text, the session.start variable is populated with the user's phone number. The App copies that value to actor then calls Initialize Actor, which Dialogue Bots (ie: Voice Bots and Chat Bots) to reply to the user immediate through the channel they used to begin their Journey.

If your App requires more complex behavior, such as collecting the user's phone number or email address in a Web Flow and using those to send outgoing calls, texts, or Email Notifications, it will be necessary to add a new Initialize Actor Action to the Web Flow once the actor variable has been set with the relevant information.

Use Cases

  • To initialize the Actor when a user texts a Chat Bot and starts a new Journey, so that the Chat Bot can reply

    • This is the Default Behavior as described above

  • To collect the user's phone number in a Web Flow, then initialize the internal Actor to start a Voice Bot or Chat Bot with that user

Properties

Existing Session Behavior

If there is another active Journey with the same phone number in actor_internal when Initialize Actor is called, this property will determine how your App responds.

Replace

If there is an existing Journey with the same phone number, the latest text or call will take over that existing Journey.

This is most useful for a Chat Bot. When a user texts a Chat Bot, the Chat Bot should continue from the state of the running Chat Bot Journey. If a Chat Bot used the Fail behavior, each new text would start the Chat Bot over from the beginning.

Fail

If there is an existing Journey with the same phone number, the newer incoming call or text will be rejected.

This is most useful for a Voice Bot. If there is an active call with a user, and another call comes in with the same phone number (using Google Voice or similar), the second call should not be able to connect with the running Voice Bot Journey.

Example

In this example, the Initialize Actor Action is triggered from an Event, which is capturing the informaion the user entered in a form. This way, the user and all their information saved in the actor Variables will be set as the Actor of the Session.

, , and can only text or call the user once the actor_internal has been initialized with a phone number. can only be sent once actor_internal has been initialized with an email address.

Note that by default, a new App will start with two Actions added to the Session Start Event (found in the under Session): a Set Variable Action that copies session.start to your actor variable and the Initialize Actor Action. This is to easily allow for typical incoming phone and SMS behavior.

Chat Bots
Voice Bots
SMS Notifications
Email Notifications
Connections Builder
Actor
Set Variable Action
organizing info
organizing info