LogoLogo
Changelog
17.14
17.14
  • Welcome
    • Quickstart
    • Building Your First App
      • Connecting your Contact Form to Salesforce (Advanced)
      • Building Your First App (Appendix)
    • Terminology
    • Airkit Flight School
  • Concepts
    • Journeys
      • Linking to Journeys
    • Actors
      • Conversations with Actors
    • Variable Scopes
  • Studio
    • Studio
    • Builder Bar
      • Journey Builder
      • Web Builder
      • Chat Bot Builder
      • Voice Bot Builder
      • Connection Builder
      • Media Library
      • Data Builder
      • Theme Builder
      • Calendar Builder
      • Configuration Builder
      • Portal Builder
    • App Preview
    • Action Builder
  • Architecture
    • Console
    • Web Flows
    • Data Flows
    • Events
      • Starting Events
      • Journey Events
      • Control Events
      • Activity Events
      • App API and Subscription Events
    • AirData
    • Standard Journey Data
    • Datastores
  • Building Apps
    • Working with Data
    • Forms
      • Form Basics
      • Hiding and Showing Sections of a Form Dynamically
      • Repeating Elements in Forms
      • Dynamic forms based on user input
      • Form Personalization
      • Validation of Forms and User Data
      • How to Capture Secure User Data
      • Creating a Progress Bar
      • Creating a Radio Button List
      • Creating A Dropdown
      • Complex Objects in a Dropdown
      • Working with Option Lists vs Dynamic Lists
      • Using the signature input for electronic signature
    • Voice and Chat
      • Building a Simple Voice Bot
      • Building a Simple Chat Bot
      • Connecting Your Twilio Numbers To Airkit
      • Sending Journey Links via Chat Bot
      • Information Captured from Incoming Calls and SMS
    • KitCloud
      • Using Web Flow Templates
      • Using Data Flow Templates
    • Integrations and APIs
      • Setting up Integrations
      • Creating an API for your Airkit App
      • Passing Data from External Systems
      • Receiving Inbound HTTP API Requests with your App
      • Securing API Endpoints with Airkit API Tokens and Permissions
      • Querying and Manipulating Data From External Systems
      • Adding and Modifying Resources
      • Creating SFTP Credentials
      • Swagger Schema Validation
      • Create A Salesforce Lead
      • Create a Zendesk Ticket
      • Integration Examples
      • Your APIs and Systems Connect to Airkit
    • AirData
      • AirData App Objects
      • AirData Querying Capabilities
      • Schedule Objects
    • Calendars
      • Creating an Availability Schedule and tying it to a Scheduler Control
      • Best Practices for calendar and calendarRestriction
      • Using the Scheduler Web Control to Reschedule Deflected Calls
      • Integrating to External Calendar Systems
    • Maps and Addresses
      • Working With Maps
      • Working With Addresses
      • Working With Different Address Formats
      • Working with the Users Current Location
    • Payments
      • Creating a Stripe Integration
    • Email
      • Sending Emails
      • Configuring a Domain For Sending Email
    • Timers and Reminders
      • Scheduling and Reminders
      • Journey Specific Timers and Reminders
      • Setting up Periodic Tasks
    • PDFs
      • Creating a PDF
      • Working with Existing PDFs
      • Example HTML Code to Create a PDF
    • Assets and Media
      • Designing the UI for the File Upload Web Control
      • Working with Files and Media
      • Working with Assets in Data Operations
      • Uploading Assets to a Remote Server
    • Embeds
      • Embeds
      • Embedding an Airkit Experience on your Website
      • AirClient Configurable Properties
    • Portals
      • Portal Capabilities
      • Portal Data Grids
      • Running Data Flows from a Data Grid Portal Page
    • Publishing
      • Publishing Your Application
      • Editing an Application
      • Importing and Exporting an Application
      • Using Profiles for Deployment settings and Configurations
      • Promoting Variables to an App Setting
    • Analytics
      • Journey Analytics
      • Reporting
      • View Past Journeys with Activity Explorer
      • Setting up Analytics with Google Tag Manager
      • Setting up Analytics with Heap
      • Analytics Schema
    • Advanced
      • Custom Controls
    • Authentication
      • SAML Authentication
  • Airscript
    • What is Airscript?
    • Airscript Quick Start
    • Airscript Examples
    • Advanced Airscript Examples
    • Testing Airscript Expressions
    • Working with Text in Airscript
    • Working with Numbers and Currency in Airscript
    • Working with Date, Time and DateTime in Airscript
    • Working with Email and Phone Numbers in Airscript
    • Working with Missing Values with Airscript
    • Encoding in Airscript (URLs and Base64)
    • Filtering Data using Query Expression
    • Querying Lists (Arrays) and Objects (JSON) in Airscript
    • Date and Time Formatting Options
    • Time Unit Values
    • Supported Time Zones
  • Customizations
    • Phone Numbers
    • Custom Domains
    • Connecting Your Domain to Airkit
    • Styling
      • Styling with Themes
      • Working with Themes and Control Variants
      • Importing and Exporting Themes
      • Working with Custom Fonts
      • Creating an App Header
  • Administration
    • Configuring SSO Access for an Organization
    • Managing User Roles
    • Adding Users to Airkit
    • Airkit Organizations
    • Environments
  • Error Management
    • Configuring App Error Notifications to Slack
    • How to Log a Custom Event Error and send an Email Notifier
  • Security and Compliance
    • IP Ranges
    • Encrypting Data
    • App Security FAQ
    • TCPA
    • How To enforce TCPA
  • airscript-functions
    • Text Functions
      • CAPITALIZE
      • CONCAT
      • ISSTRING
      • LOWERCASE
      • PADSTRING
      • REPLACE
      • REPT
      • SPLIT
      • STRING_COMPARE
      • STRING_FIND
      • STRIP
      • SUBSTITUTE
      • SUBSTRING
      • TITLECASE
      • TRIM
      • UPPERCASE
    • DateTime Functions
      • 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_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
      • 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
      • 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
      • VALUE_OF
    • Arithmetic Operators
      • Addition (+)
      • Subtraction (-)
      • Multiplication (*)
      • Division (/)
      • Remainder (%)
    • Comparison Operators
      • Equality (=)
      • Inequality (<>, !=)
      • Ordering (<, <=, > , >=)
    • User Defined Functions
      • User Defined Functions
      • Creating a new User Defined Function
  • Web Controls
    • Web Controls Overview
    • Common Style Properties of Web Controls
    • Button
    • Button Cell
    • Checkbox
    • Checkbox Cell
    • Checkbox List
    • Container
    • Credit Card
    • Currency Input
    • Date Picker
    • Dropdown List
    • Email Input
    • Embedded External Content (Container)
    • File Upload
    • Form Container
    • Hyperlink
    • Image
    • Label
    • List
    • Map
    • Media Upload
    • Number Input
    • Payment Request Button
    • Phone Input
    • Place Search Input
    • Progress Bar
    • Radio Button
    • Radio Button List
    • Radio Cell
    • Scheduler
    • Secure String Input
    • Signature
    • Simple Cell
    • Text Area
    • Text Input
    • Web Flow
    • Web Page
  • 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
    • Calendar Search
    • Create File
    • Delete Assets
    • Download Encoded Asset
    • Fetch Asset Details
    • Fill PDF Form
    • Google
    • HTML to PDF
    • HTTP Request
      • Using an API With Paging
    • Journey Mapping
    • Merge PDF
    • Run Data Flow
    • Run Journey Event
    • Salesforce
    • Secure Value Retrieval
    • Send Email
    • SFTP
    • Swagger Schema Validation
    • Transform
    • Wait
    • XML to JSON
    • Zendesk
    • ZIP File
  • Actions
    • Analytics Identify
    • Analytics Send Event
    • Cancel Timer
    • Close Modal
    • Condition
    • Create Timer
    • End Journey
    • Extend Journey Expiration Time
    • Initialize Actor
    • Log Custom Event
    • Navigate To Web Flow
    • Navigate to Web Page
    • Open Modal
    • Reporting Metric > Count
    • Reporting Metric > Field
    • Reporting Metric > Start Timer
    • Reporting Metric > Statistic
    • Reporting Metric > Stop Timer
    • Run Data Flow
    • Run Data Flow Repeatedly
    • Run Event
    • Set Authentication
    • Set Identifier
    • Set Variable
    • Start Chat Bot
    • Start Voice Bot
  • Variable Data Types
    • Data Types Overview
    • Any (JSON)
    • Asset
      • Detailed Asset
    • Boolean
    • Currency
    • Date
    • DateTime
    • Email
    • List
    • Location
    • Null
    • Number
    • Phone
    • Place
    • Text
    • Time
    • Custom Data Types
  • Integrations
    • Genesys Widget Integration
    • Zendesk Integration
    • Salesforce Integration
    • Plaid Integration
    • Twilio Integration
    • Stripe Integration
    • Shopify Integration
    • Airtable Integration
    • Google Integration
    • SFTP Integration
    • Custom Integrations
  • Kitcloud Templates
    • Address Capture and Parsing Web Flow Template
    • AirData Delete Record Data Flow Template
    • AirData Find Records Data Flow Template
    • AirData Insert Record Data Flow Template
    • Airtable Create Data Flow Template
    • Airtable Delete Data Flow Template
    • Airtable Query Data Flow Template
    • Airtable Update Data Flow Template
    • App Store Icon Buttons Web Flow Template
    • Attach Image to Ticket (Zendesk) Data Flow Template
    • Authenticate with API Web Flow Template
    • Basic HTTP Request Data Flow Template
    • Basic Transform Data Flow Template
    • Capture Customer Info Web Flow
    • Close a Ticket (Zendesk) Data Flow Template
    • Collect Customer Satisfaction Score (CSAT) Web Flow Template
    • Collect Net Promoter Score Web Flow Template
    • Collect One-Time Payment (Multiple Methods) Web Flow Template
    • Collect One-Time Payment (Stripe) Web Flow Template
    • Communication Channel Opt-in Web Flow Template
    • Complete a Task (Salesforce) Data Flow Template
    • Contact Us Web Flow Template
    • Create a Task (Salesforce) Data Flow Template
    • Create Ticket (Zendesk) Data Flow Template
    • Custom Image Radio Button List Web Flow Template
    • Email Mailing List Sign-Up Web Flow Template
    • Email Verification with OTP Web Flow Template
    • Encrypt Content with PGP Data Flow Template
    • Find a Contact by ID (Salesforce) Data Flow Template
    • Find a Task by ID (Salesforce) Data Flow Template
    • Find a User by ID (Salesforce) Data Flow Template
    • Find All Tickets (Zendesk) Data Flow Template
    • Generate One-Time-Password Code Data Flow Template
    • HTTP Request with Form Data - Data Flow Template
    • Location Selection with Map
    • Log a Call (Salesforce) Data Flow Template
    • Lookup Time Zone by Zip Code Data Flow Template
    • Order Summary Web Flow Template
    • Product Picker Web Flow Template
    • Run Sub Data Flow - Data Flow Template
    • Send Web Flow Link Chat Bot Template
    • Social Media Icon Buttons Web Flow
    • Speech Bubble Web Flow Template
    • Terms and Conditions Acceptance with Signature Capture Web Flow Template
    • Transform with Query Data Flow Template
    • Upload Photos Web Flow Template
    • USPS Address Verify Data Flow Template
    • USPS Lookup City and State by Zip Code Data Flow Template
    • Verify Email Address with OTP Web Flow Template
    • Vertical Progress Bar Web Flow Template
    • Yes/No Question List (Airscript Dynamic List)
    • Yes/No Question List (Static)
  • Product Versions
    • Customer Experience Runtime (CXR) Overview
    • Release Cadence and Long Term Support (LTS)
    • CXR Upgrades and Migrations
      • 17.14
      • 17.13
      • 17.12
      • 17.11
      • 17.10
Powered by GitBook
On this page
  • Accessing and Using App Preview
  • Previews
  • Device Preview
  • API
  • Webhooks
  • Links
  • Timers
  • Viewers
  • Event Log Viewer
  • State Viewer

Was this helpful?

  1. Studio

App Preview

PreviousPortal BuilderNextAction Builder

Last updated 1 year ago

Was this helpful?

The Preview button allows you to explore how your in-progress Airkit Apps would behave if deployed as-is. Previewing your application fully emulates everything you've built out so far, allowing you to test every channel, interaction, and pathway your users can take.

In addition to simulating how a user might interact with your app, previewing your app also provides the option to peak under the hood and ensure that your app is meeting all of your quality and testing standards.

Accessing and Using App Preview

You can preview your application at any point throughout the process of building it out in . Clicking on the Preview button to the upper right of the Studio will open up your App Preview in a separate tab.

.gif)

To ensure your App Preview will emulate all components of your app build, you'll need to save your app before previewing; if you don't, you will receive a reminder to do so upon clicking the Preview button.

There are two fundamental components to the App Preview:

  • Previews - Emulate how users will experience your app.

  • Viewers - Examine how your application behaves under the hood when you emulate various interactions your app might have with the outside world.

The Viewers window can be opened or closed by clicking on the double arrow icon ('<<' or '>>' respectively) on the upper right of the Previews window.

Previews

Toggling through the different Preview tabs is as simple as clicking on the name of the desired tab, all of which appear on the top of the Previews window.

Device Preview

The Device Preview tab is what will be opened automatically when you first access your App Preview. It simulates an interactive Journey through your application from the perspective of a hypothetical user. This provides a reasonable approximation of how users will perceive your app.

A dropdown menu at the top of the Previews window allows you to change the simulated device on which your application Journey is emulated. You can choose to see your Journey framed by a variety of smartphones and tablets as well as in Full Screen mode, which approximates the experience a user would have if accessing your application from their desktop or laptop computer.

The 'rotate' icon to the immediate right of this dropdown menu simulates rotating the device between landscape and portrait views.

Within the Device Preview, there are icons at the bottom that indicate different channels. Currently Airkit Supports Voice, Text, and Web Channels. Because Journeys have consistent state across channels, you can switch which channel you are viewing and the state will be preserved across the other channels. To switch channels, simply click on the the relevant icon channel.

The following example shows how these icons will appear when accessing the Web Channel. Note that the Web icon is highlighted in pink:

The following example shows how the Device Preview can be used to view different channels. The example Journey begins on the Web. Pressing a button on the first web page activates a Chat Bot, and the text it sends can be accessed via the Text channel:

API

Webhooks

The Webhooks tab is used to simulate data updates from external sources. After an an update from an external source has been simulated, you can toggle back to Device Preview to see how it would impact the user's Journey through your app.

Links

The Links tab provides a list of all web links relevant to your application. Clicking on a web link allows you to simulate what a user will experience if they click on a link to that URL.

Timers

Many timers are associated with Action Chains that will not occur for hours or even days after the timer is set. For testing purposes, this is far too long to reasonably wait, and so the Timers tab also provides the means to trigger timers early, allowing you to see their effects in the Device Preview without needing to wait the full length of the timer.

Viewers

The Viewers window provides a means to examine how your application behaves under the hood when you use the functionality in the Previews window to emulate various interactions your app might have with the outside world. Updates to the Viewers window occur simultaneously to changes made in the Previews window.

Whenever the Viewers window is open, it will display two Viewers: Event Log Viewer on top and the State Viewer on bottom.

Event Log Viewer

The** Event Log Viewer** contains a chronological list of all the Events that occur during the simulated execution of your app. Each Event is accompanied by a description and a time stamp. Depending on the nature of an Event, it might also contain an expansion toggle to indicate that the Event is really a combination of multiple steps.

Selecting an event will open its state in the State Viewer.

State Viewer

The State Viewer displays the state of your application at the time of a specific event. Selecting an event to examine is done in the Event Log Viewer.

The State Viewer has three different tabs.

* Diff: displays only the change in state that occurs between the selected event and the previous; accessing the Diff tab cuts down on noise in cases when you are only interested in the state changes immediately associated with the selected Event.

  • Current: shows the state within the current context.

  • Entire: displays the entire application state at the time of the Event.

The Previews window is where you can simulate all the external feedback your application might respond to and see exactly how your app responds. The most fundamental tab is Device Preview, which allows you to experience how your app's interactive UI appears and responds to users. Additionally, other tabs within the Previews window allow you to simulate what happens when are triggered (even if said Events are only triggered by external sources via, ie, .

.gif)

The Device Preview is entirely interactive. Enter text responses, click buttons, or reply to texts as they appear inside of your simulated device. Associated will fire just as they would within a deployed app.

.gif)

Note the warning in the Text Channel that the is not set up. When an app is deployed, is a crucial component of activating a Voice or Chat Bot from a web app, because it tells your application which phone number to send the voice or chat message to. The App Preview warns you when this is the case, but it nevertheless allows you to simulate sending voice or chat messages without requiring the Actor to be initialized, because all calls and texts can only be sent to the emulated device, which does not, itself, have an associated phone number.

The API tab is used to simulate relevant . After an HTTP Event has been simulated, you can toggle back to Device Preview to see how the HTTP Event would impact the user's Journey through your app.

To learn more about HTTP Events, check out .

A webhook is a service that automatically informs your application if a change is made to an external resource. For more on webhooks and Subscriptions, check out .

Outside of App Preview, these web links are managed in and woven into your application using . It is not at all uncommon for a web app to only have a single relevant web link: the one that begins a user's Journey.

are used to trigger at designated times. (For instance, a common use case of timers is to a short time before a scheduled appointment.) The Timers tab allows you to keeps track of any timers that are set throughout the course of your emulated Journey.

Events
Subscription Events
Actions
Actor
initializing the Actor
Creating an API for your Airkit App
Subscription
Passing Data from External Systems
Connection Builder
Journey Builder
Timers
Action Chains
send a text reminder
Airkit Studio
organizing info
organizing info
HTTP Events
2021-07-09_15-22-33__1_.gif