LogoLogo
Changelog
18.5
18.5
  • Welcome
    • Welcome to Airkit 👋
    • Quickstart
  • Concepts
    • Sessions
      • Linking to Sessions
    • Actors
      • Conversations with Actors
  • Tutorials
    • Building A Contact Form
      • Building the Web UI
      • Building the Database
      • Finalizing the App
      • Connecting Forms to Salesforce
    • Styles, Themes, and Templates
      • Changing the header
      • Changing the Theme
      • Using a custom font
      • Using Animations
    • 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
      • Requesting Feedback
    • Custom Integrations (Petfinder App)
      • Querying the Petfinder API
      • Displaying Petfinder Data
  • Platform
    • Console
      • Apps
      • Activity
      • App Health
      • Datastores
      • Integrations
      • Conversations
      • Resources
      • API
      • Settings
    • Studio
      • Builder Bar
        • Triggers Builder
        • Web Flows Builder
        • Chat Bots Builder
        • Answer Flows Builder
        • Voice Bots Builder
        • Connections Builder
        • Notifications Builder
        • AirData Builder
        • Media Library
        • Theme Builder
        • Schedules Builder
        • Settings
      • App Preview
      • Data Flows
      • Variable Tree
      • Data Model Editor
      • Events
        • Session Started Events
        • Trigger Events
        • Control Events
        • Session Events
        • Activity Group Events
        • Action Chains
  • Data and Integrations
    • Working with Data
      • Variable Namespaces
      • Standard Session Data
      • AirData
        • AirData App Objects
        • Datastores
        • Identity Objects
        • Place Objects
        • Schedule Objects
      • Airscript Quickstart
        • Working with Dates and Times
        • Working with Missing Values
        • Working with URLs and Base64
      • Pull Values from Lists and Objects
        • Path Expressions
        • Query Expressions
      • Making Forms from Data Models
    • Integrations
      • First Party Integrations
        • Creating A Salesforce Lead
        • Creating a Zendesk Ticket
        • Creating SFTP Credentials
        • Swagger Schema Validation
        • First Party Integration Reference
          • Airtable Integration
          • Genesys Widget Integration
          • Google Integration
          • Guidewire Integration
          • Hubspot Integration
          • Kustomer Integration
          • MX Integration
          • Plaid Integration
          • Salesforce Integration
          • SendGrid Integration
          • SFTP Integration
          • Shopify Integration
          • Stripe Integration
          • Twilio Integration
          • Zendesk Integration
      • Custom Integrations
        • OAuth 2.0
        • API Token
        • HTTP Basic Auth
        • Custom Token
        • SFTP
        • Examples: Twitter and Giphy
      • App APIs
        • Building an App API
      • Subscriptions (Web Hooks)
  • Texts, Calls and Emails
    • SMS
      • SMS Notification Basics
      • Chat Bot Basics
      • Texting Journey Links
      • Data from Inbound Calls/SMS
      • Connecting Twilio Numbers
    • Emails
      • Email Notification Basics
      • Sending Emails by Data Operation
      • Connecting Email Addresses
    • Voice Bots
      • Voice Bot Basics
    • Conversation Chat Bots
      • Setting Up Answer Groups
      • Configuring Conversation Chat Bots
        • Salesforce Relays
        • Kustomer Relays
  • Web Apps
    • Forms
      • Displaying Controls Dynamically
      • Repeating Elements
      • Prefilling Forms
      • Validation of User Data
      • Capture Secure User Data
      • Progress Bars
      • Dropdown Menus
      • Electronic Signatures
    • 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
      • Adding Assets to PDF
    • Assets and Media
      • Using the File Upload Web Control
      • Working with Files and Media
      • Assets and Data Operations
      • Sending Assets to Remote Servers
    • Styling Overview
      • Web Control Styling Properties
        • Animations
      • Themes and Control Variants
        • Importing and Exporting Themes
      • Working with Custom Assets
      • Page Layouts
        • Creating an App Header
    • Publishing
      • Publish and Manage Deployments
      • Configure Application Resources
      • Editing an Application
      • Importing/Exporting Apps
      • Tying Variables to Deployments
    • Advanced
      • Custom Controls
      • Creating Custom Functions
    • Accessibility
      • Accessibility in Airkit
      • Connecting Labels to Input Controls
  • Authentication
    • SAML Authentication
    • OAuth 2.0 - Google
    • OAuth 2.0 - Okta
    • OAuth 2.0 - Auth0
    • Azure AD B2C
    • Authentication Apps and Secure Apps
  • Embeds
    • SDK Overview
      • SDK Quickstart
      • SDK Authentication
      • Passing Data
      • Configuration
      • Configuration Examples
      • Airkit Lightning Component (Salesforce)
  • Analytics and Administration
    • Airkit Organizations
    • Adding Users to Airkit
    • User Roles
      • Working with Custom Roles
    • JIT Provisioning for an Organization
    • SAML SSO for an Organization
    • Managing the Application Lifecycle
    • Environments
      • Environmental Governance
    • Getting Application Metadata
    • Custom Domains
    • Analytics Overview
      • App Events to Splunk
      • App Events to AWS S3 Buckets
      • Audit Logs to AWS S3 Buckets
      • View Data in Activity Explorer
      • Snowflake Analytics Schema
      • Power BI
      • Heap and GTM Integrations
        • Setting up Analytics with GTM
        • Setting up Analytics with Heap
    • Error Management
      • Logging Errors
      • Setting up Email Notifiers
      • Integrating Error Notifiers to Slack
  • Security and Compliance
    • App Security FAQ
    • Data Masking and Auditing
    • IP Ranges
    • Encrypting Data
    • SSL Auth
    • TCPA
    • Cookie Policies
    • Supported Browsers
    • Realms
  • Reference Docs
    • Reference Documentation Overview
    • Airscript
      • 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
        • REVERSE
        • SHUFFLE
      • Object Functions
        • KEYS
        • MERGE_OBJECTS
        • OBJECT_TO_SOAP
        • OBJECT_TO_XML
        • SOAP_TO_OBJECT
        • SOAP_HEADER_TO_OBJECT
        • VALUES
        • XML_TO_OBJECT
      • 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
      • Form and Validation Functions
        • FIRST_VALIDATION
        • RUN_VALIDATIONS
      • Arithmetic Operators
        • Addition (+)
        • Subtraction (-)
        • Multiplication (*)
        • Division (/)
        • Remainder (%)
      • Comparison Operators
        • Equality (=)
        • Inequality (<>, !=)
        • Ordering (<, <=, > , >=)
      • Logical Operators
        • AND
        • OR
        • XOR
        • Null Coalescing Operator (??)
      • Advanced Expressions
        • LET...IN
        • User Defined Functions
    • Web Controls
      • Button
      • Checkbox
      • Chat
      • Simple Checkbox List
      • Container
      • Container List
      • Credit Card
      • Currency Input
      • Date Input
      • Date Picker
      • Dropdown List
      • Email Input
      • Embedded External Content (iFrame)
      • Fieldset Container
      • File Upload
      • Form
      • Hyperlink
      • Image
      • Inline Container
      • Label
      • Map
      • Markdown
      • Number Input
      • Payment Request Button
      • Phone Input
      • Place Search Input
      • Progress Bar
      • QR Code
      • Radio Button
      • Simple Radio List
      • Scheduler
      • Secure String Input
      • Selectable Container
      • Signature Input
      • Text Area
      • Text Input
      • Time Input
      • Web Flow
      • Web Page
    • Voice and Chat Controls
      • Decision Menu
      • Forward Call
      • Secure Touchtone Capture
      • Text Response Capture
      • Touchtone Capture
    • Data Operations
      • AirData Request
        • DELETE
        • PUT
        • INSERT
        • PATCH
        • QUERY
        • DEPRECATED_QUERY
      • Calendar Search
      • Close Conversation
      • Conversation Transcript
      • Create File
      • Delete Assets
      • Download Encoded Asset
      • Early Return
      • Fetch Agent Information
      • Fetch Asset Details
      • Fetch Routing Flow Stats
      • Find Conversations by Customer Identifier
      • Fill PDF Form
      • Google
      • HTML to PDF
      • HTTP Request
        • Using an API With Paging
      • JWT Generation
      • Merge PDF
      • Move Conversation to Routing Flow
      • Opt Out Search
      • Opt Out List
      • Run Data Flow
      • Run Event in Journey
      • Salesforce
      • Secure Value Retrieval
      • Send Email
      • Send Message to Conversation
      • SFTP
      • Start Journey
      • Swagger Schema Validation
      • Transform
      • Update Customer Identifier
      • Wait
      • XML to JSON
      • Zendesk
      • ZIP File
    • Actions
      • Analytics Identify
      • Analytics Send Event
      • Close Modal
      • Condition
      • End Session
      • Extend Session Expiration Time
      • 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 Embedded Outgoing Event
      • Run Event
      • Send Email
      • Send SMS
      • Set Authentication
      • Set Identifier
      • Set Variable
      • Start Chat Bot
      • Start Voice Bot
      • Start Timer
      • Stop Timer
      • Throw
      • Trigger Form Validation
      • Try
    • Conversation Actions
      • Ask A Question
      • Capture User Response
      • Close Conversation
      • Move Customer to Resource
      • Move Conversation to Routing Flow
      • Quick Replies
      • Run Answer Flow
      • Start Conversation Chat Bot
      • Start Conversation
      • Send Link
      • Text Answer
      • Update Customer Identifier
    • Primitive Data Types
      • Any (JSON)
      • Asset
        • Detailed Asset
      • Boolean
      • Currency
      • Date
      • DateTime
      • Email
      • List
      • Null
      • Number
      • Phone
      • Text
      • Time
  • Transportation Products Catalog
    • The Transportation Products API
      • GET products
      • GET product-by-id
  • Release Notes
    • CXR Overview
    • CXR Upgrades and Migrations
Powered by GitBook
On this page
  • Creating an SMS Notification
  • Text
  • Link
  • Link to Journey
  • Sending an SMS Notification
  • Sending an SMS Notification as an Action

Was this helpful?

  1. Texts, Calls and Emails
  2. SMS

SMS Notification Basics

PreviousSMSNextChat Bot Basics

Last updated 1 year ago

Was this helpful?

SMS Notifications send outgoing text messages that do not require an SMS reply.

Unlike Chat Bots, SMS Notifications cannot parse replies or incoming messages, but they can still be used to prompt responses from the recipient. For example, SMS Notifications might contain web links to click on or cues to prepare for a previously-scheduled meeting. Most commonly, SMS Notifications are used to send reminders or follow-up messages spurring users to continue a half-finished Journey.

📘 Once an app is in production, is there a way to check on the status of the sent text messages?

The status of outgoing text messages sent from all Apps within an Organization can be found in the Console, in the SMS tab when examining an application under App Health. This provides insight into important information such as which and how many text messages were successfully delivered. For more information, see .

Creating an SMS Notification

SMS Notifications are created in the .

New Notifications can be created by clicking on the '+' icon to the right of the Notifications section of the Tree, which provides the options to choose the type of Notification to create. Select SMS Notification:

A single SMS Notification might consist of multiple texts, each one of which might be one of three types: Text, Link, or Link to Journey. This allows links to be sent be sent as separate SMS messages which, unlike links included within a larger text message, will automatically and consistently preview the destination web page.

Text

For instance, the following example shows how the simple SMS Notification "Hello, welcome to Airkit!" will appear in the Stage:

Text type texts can also be made more intricate with the edition of variables, custom Airscript expressions, and Journey Links.

Adding Variables and Custom Expressions

Variable

The Variable tab allows the selection a variable to insert into the text. Incorporating the values of variables into texts allows for the creation of customized Notifications.

For instance, say the name of each user is saved as a global variable accessible under name. Referencing this variable within a text message makes it possible to send a personalized text message:

Custom Expression

The Custom Expression tab provides an expression editor capable of parsing custom Airscript expressions.

The above example shows an Airscript expression that consists only of an Airscript function and hardcoded input. In most practical applications, however, Airscript expressions will need to reference variables in order to generate custom text messages. To this end, the Notifications Builder has access to all Global-, Profile-, and Theme-level variables.

Adding Links to Journeys

When Journey Links are sent in this way, it is not guaranteed that they will display a preview of the relevant web page. To ensure consistency previewing, a Journey Link needs to be sent via the Link to Journey type text.

Link

Link type texts contain a single link to a web page. Unlike links that might be sent as part of a larger text message, links sent in this way will automatically and consistently preview the web page being linked to.

The link URL is defined in the Stage. It can be edited by clicking on the text directly, or by clicking on the arrow icon to the right of the URL:

The expression editor that opens upon clicking on the arrow icon is capable of parsing Airscript. Because the Notifications Builder has access to all Global-, Profile-, and Theme-level variables, Global-, Profile-, and Theme-level variables can be used to define query or even path parameters within a URL. Best practices dictate that the bulk of the URL be defined as a string directly while variables are designated by surrounding them by double curly braces.

For instance, say we want to link users to a wikipedia article on a subject of their choice, which was already saved under the global variable session.subject. The Link SMS Notification can be defined as follows:

Link to Journey

Unlike Journey Links that are sent as part of a larger text message, Journey Links sent as a Link to Journey type text will automatically and consistently preview the web page being linked to.

Sending an SMS Notification

Once a Notification is created, it can be sent:

🚧 When testing SMS experiences in production, bear in mind that Airkit won't allow for the sending of the same text message to the same phone number multiple times within a 30-minute period.

Where are outgoing SMS Notifications sent?

\

Outgoing Notifications are sent to the Actor.

Where are outgoing SMS Notifications sent from?

\

Sending an SMS Notification as an Action

To Initialize the Actor:

To send a Notification:

📘 Enforcing TCPA

Text type texts can take the form of any . This is what will be sent via SMS. The most simple texts are hardcoded strings, which are defined in the Stage.

Clicking on the Airscript icon () to the upper left of the text box will insert an Airscript expression into the text. Edit inserted Airscript expressions by clicking on them, which will prompt the following pop-up to appear:

The Notifications Builder has access to all Global-, Profile-, and Theme-level variables. For more on Global-, Profile-, and Theme-level variables, see .

For instance, the following example gives the input "Hello, Airkit" into the Airscript function . This Notification will consequently send the text "HELLO, AIRKIT", with all letters capitalized:

For more on Airscript, see . For more on Global-, Profile-, and Theme-level variables, see .

Clicking on the link icon on the upper right of the text box will insert a Journey Link directly into the Text. Journey Links direct users back to the web portion of their Journey. For a more detailed discussion of how this works, see .

Link to Journey type texts contain only a Journey Link. Journey Links direct users back to the web portion of their Journey. For a more detailed discussion of how this works, see .

via the Action, or

as a direct part of the Journey by incorporating them into the .

An Actor represents any individual who goes through an application flow. Actors are identified by their contact information, such as their phone number or email address. Once the relevant contact information is associated with an Actor, Notifications will be sent directly to the Actor via their established accounts. Tying contact information to an Actor is done via , which must be done before Notifications can be sent.

For a deeper dive into conceptualizing Actors, see . For a step-by-step walkthrough of how to initialize the Actor, see .

Outgoing SMS Notifications are sent from the phone number associated with the application, which is defined in the . For more on how to associate phone numbers with Airkit apps, see .

SMS Notifications can be sent via the Action, which can be included in any Action Chain after the Actor has been initialized with a valid phone number saved to actor.phone.

Determine the Actor's phone number and make sure it is formatted according to the Data Type. Use the Action to tie this value to actor.phone.

In the same Action Tree in which actor.phone was declared, follow its declaration with the Action to initialize the Actor.

Add the Action to any Action Chain fired downstream of Actor Initialization. Select the SMS Notification you want to send from the associated dropdown menu.

The Send SMS Action is often used in tandem with the Action in order to schedule texts rather than send them immediately. Nesting SMS Notifications under Timers is required to enforce TCPA restrictions; see for more details.

string
Variable Scopes
UPPERCASE
Airscript Quickstart
Variable Scopes
Linking to Sessions
Linking to Sessions
Send SMS Notification
Journey Builder
Initializing the Actor
Actors
Conversations with Actors
Settings
Connecting Your Twilio Numbers To Airkit
Send SMS
Phone
Set Variable
Initialize Actor
Send SMS
Start Timer
TCPA
Notifications Builder
Console