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
  • Configuring Channel Resources
  • SMS
  • Web Chat
  • Configuring Conversation Hubs
  • Routing Flows
  • Configuring Bots
  • Configuring Agents
  • Configuring Relays
  • Finalizing Routing Flows
  • Conversation and Trigger Management App
  • Conversation Hub Implementation
  • External Application Deployments
  • Start Conversation Chat Bot Action
  • Chat Web Control
  • Embedding Conversations into Existing Websites

Was this helpful?

  1. Texts, Calls and Emails
  2. Conversation Chat Bots

Configuring Conversation Chat Bots

PreviousSetting Up Answer GroupsNextSalesforce Relays

Last updated 1 year ago

Was this helpful?

Conversation Chat Bots facilitate two-way, text-based Conversations capable of being accessed through the Web Control as well as through SMS channels. While these Conversations typically start by relying on the logical flow defined by , the logical flow of Answer Groups can also be used to hand the Conversation off to external chat management systems.

Configuring Conversation Chat Bots for deployment, then, requires not only defining the relevant Answer Group, but also configuring the many potential external resources and integrations that the Conversation might need to connect to. This is done by:

  • configuring the Resources to send and receive messages,

  • constructing a **Conversation Hub **to oversee how messages are routed, and

  • building two applications:

    • one to define the Answer Group itself, and

    • one to manage the associated communication channels.

In this guide, we'll walk through each of these components and discuss key concepts to keep in mind while implementing your own Conversation Chat Bots.

📘 Enterprise Feature

Implementing Conversation Chat Bots requires an ENTERPRISE license. If you would like to enable this feature for your Airkit Organization, please contact your Airkit representative or contact .

Configuring Channel Resources

In order for Airkit to send and receive messages, the channels through which they are sent must be configured as in the . Conversation Chat Bots can be accessed through two distinct channel categories: SMS and Web Chat.

SMS

Under the hood, Airkit uses Twilio to manage SMS conversations. In order to send or receive SMS messages, an application must be associated with a phone number, which must be bought from and then configured as a Resource. For more on associating Twilio numbers with Airkit applications, see .

Web Chat

Configuring Conversation Hubs

Conversation Chat Bots are managed by Conversation Hubs, and so Conversation Hubs must be configured such that they can connect to all relevant channels. There are two relevant types of channels, here:

  • Channel Resources - define the interfaces that end users can use to access the Conversation Chat Bot. These correspond directly to the SMS and Web Chat Resources discussed above.

  • Routing Flows - establish connections to chat management systems. These define what system will be used to process incoming user messages and send replies. Routing Flows might point to Airkit applications that contain configured Answer Groups, or they might point to external systems, such as call centers, Salesforce, or Kustomer.

Channel Resources can be tied to a Conversation Hub by clicking on the '+' icon to the right of Channel Resources in the Inspector:

Routing Flows

When a Conversation Hub is created, a single, default Routing Flow is automatically created. You can see this Routing Flow under Conversations > Routing Flows:

Routing Flows define where incoming user messages will be sent and how they will be responded to. There are three fundamental types of Routing Flows:

  • Bots, which process user messages and send responses based on the automatic logic flow defined by Answer Groups

  • Agents, which send user messages to human beings who work in a call center and allow them to craft custom responses

  • Relays, which send user messages to be processed by external systems like Salesforce or Kustomer

Note that the default Routing Flow created here is an Agent. A Conversation Hub, however, can contain arbitrarily many Routing Flows of all three types.

Configuring Bots

Bot type Routing Flows are an important part of most Conversation Chat Bots, as they allow parts of the Conversation to be automated internally. Most Conversation Chats begin by sending the end user to a Bot type Routing Flow to handle the initial pleasantries and information-gathering.

This Answer Group Management App must be published before it can be used as a Bot type Routing Flow.

Configuring Agents

Agent type Routing Flows send Conversations to be managed by a a human agent. In practice, this means that they direct user messages to a phone number that the Agent can receive and send messages from.

The phone numbers used to define Agent type Routing Flows can NOT be the same as the phone numbers used to define the Channel Resources that interface with end users. The phone numbers associated with Agents define how agents can interact with the conversation, while the phone numbers associated with Channel Resources define how end users can interact with the conversation.

Configuring Relays

Finalizing Routing Flows

Routing Flows must be tied to a Conversation Hub upon creation. To tie a Routing Flow to a previously-created Conversation Hub, select the relevant Conversation Hub from the dropdown menu under General > Conversation Hub. You can then select the type of Routing Flow you want to create under General > Type and fill out the fields that become available from there.

Once all your Routing Flows have been configured, you will have finalized your Conversation Hub.

Conversation and Trigger Management App

Once your have a fully-configured Conversation Hub to manage your Conversation Chat Bots, you will need to tie that to an application that will handle Conversation Triggers and manage the interfaces that will be used to access the platform. This Conversation and Trigger Management app can NOT be the same as the Answer Group Management app. The systems behind Routing Flows must always be external to the Conversation and Trigger Management app.

To create a Conversation and Trigger Management App, create a new application and open it in the Studio. You will then construct this application such that:

  • It is tied to the Conversation Hub.

  • It has the relevant Answer Group Management App(s) configured as External Application Deployments.

  • It manages the UI required for end users to interact with the Conversation Chat Bot.

Conversation Hub Implementation

External Application Deployments

Answer Group Management Apps must be deployed before they will be available for selection here.

Start Conversation Chat Bot Action

Chat Web Control

Embedding Conversations into Existing Websites

Web Chat conversations are conducted via web apps that contain a Web Control. When used in tandem with the , this allows Conversation Chat Bots to be incorporated into existing websites.

Configuring a Web Chat Resource requires an Integration with the Airkit Web Chat Account. If this Integration has not already been set up, you will need to contact so that our Engineering Team can set it up for you. If an Integration with the Airkit Web Chat Account has been set up, you should be able to see it in the , under > Connected Accounts:

This should correspond to new Resource called "Web Chat", accessible in the , under :

Creating and editing Conversation Hubs is done in the Console, under > Hubs. New Conversation Hubs can be creating by clicking on the 'Create Hub' button to the upper right, and established Conversation Hubs can be edited by selecting the relevant Conversation Hub from the Console Stage.

Assigning Channel Resources is the minimum that must be configured in order to create a viable Conversation Hub. For more on the Conversation Hub properties that can be edited in this part of the Console, see .

A Bot type Routing Flow refers to an Airkit application, created in the , in which an Answer Group has been configured. This Answer Group Management App should not have any UI components built into it, as those will not be accessible to the Conversation Hub. The Answer Group Management App should consist only of an Answer Group that defines Conversation Logic. For more on how to configure Answer Groups, see .

Each Agent type Routing Flow is associated with a singe phone number, which must be bought from and then configured as a Resource. For more on associating Twilio numbers as Resources, see . Once a phone number is properly configured as a Resource, you will be able to select it under the Channel Resource Routing upon creating an Agent type Routing Flow.

Relay Type Routing Flows send the conversation to an external chat management platform. There are two external chat management systems that Airkit currently supports: Salesforce and Kustomer. For more about what is required from your chat management platform of choice, see or as applicable.

Once you have configured the resource you will be tying to your Bot, Agent, or Relay, you can use it to define a Routing Flow by navigating to Console > > Routing Flows and clicking on the '+ Create Routing Flow' Button. This will open up the interface to define a Routing Flow in the Console Inspector.

It fires the Action when applicable.

If you want the Conversation Chat Bot to be accessible through a web app, the relevant Web Page must contain a Web Control.

If you want to embed web app into an existing Web Page, you must configure this application such that it can be used within the .

Like all Resources, Conversation Hubs are are configured under . You can configure a Conversation Hub, as well as its associated Routing Flows and Channel Resources, in the Settings section:

Once properly configured, the Channel Resources (defined here under "Resources") can be used to define the Resource ID when calling on the the Action.

When Configuring a Conversation Chat Bot that relies on the logic defined by Bots, you will need to configure the associated app(s) under > External Application Deployments.

A Conversation Chat Bot can be triggered from any point in an application by using the Action. The Deployment ID field should correspond with an External Application Deployment discussed above. The Bot described will be the Routing Flow that users are initially sent to upon triggering the Conversation Chat Bot.

If you want the Conversation Chat Bot to be accessible through a web app, the relevant Web Page must contain a Web Control. This will serve as an interface for end users to interact with the Conversation.

If you want to embed the Conversation Chat Bot into an existing Web Page, your application must contain a Web Control, and your application must be configured such that your application can be parsed by the , the tool that streamlines the process of embedding your Airkit apps into your existing websites.

Chat
Answer Groups
support@airkit.com
Resources
Console
Twilio
Connecting Twilio Numbers
Chat
Web SDK
support@airkit.com
Console
Integrations
Console
Resources
Conversations
Conversations
Studio
Setting Up Answer Groups
Twilio
Connecting Twilio Numbers
Salesforce Relays
Kustomer Relays
Conversations
Start Chat Bot for Conversations
Chat
WebSDK
Settings
Start Conversation Chat Bot
Settings
Start Conversation Chat Bot
Chat
Chat
Triggers
AirkitWebSDK