LogoLogo
Changelog
18.1
18.1
  • Welcome
    • Welcome to Airkit 👋
    • Quickstart
    • Flight School & Certification
  • Tutorials
    • Building A Contact 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
      • Using Animations
      • 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
      • Apps
      • Activity
      • App Health
      • Datastores
      • Integrations
      • Resources
      • API
      • Settings
  • 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
    • Data from Inbound Calls/SMS
    • Connecting Twilio Numbers
  • Emails
    • Overview
    • Email Notification Basics
    • Sending Emails by Data Operation
    • Connecting Email Addresses
  • Building Apps
    • Forms
      • Displaying Controls Dynamically
      • Repeating Elements
      • Prefilling Forms
      • Validation of User Data
      • Capture Secure User Data
      • Progress Bars
      • Dropdown Menus
      • Electronic Signatures
    • Voice Bots
      • Voice Bot Basics
    • 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
    • Publishing
      • Publishing Your Application
      • Editing an Application
      • Importing/Exporting Apps
      • Profiles and Deployment Settings
      • Tying Variables to Deployments
    • Advanced
      • Custom Controls
      • Creating Custom Functions
    • Accessibility
      • Accessibility in Airkit
  • Authentication
    • SAML Authentication
    • OAuth 2.0 - Google
    • OAuth 2.0 - Okta
    • OAuth 2.0 - Auth0
    • Azure AD B2C
    • Authentication Apps and Secure Apps
  • Embeds
    • Overview
    • SDKs
      • SDK Quickstart
      • Requiring Authentication
      • Passing Data
      • Configuration
      • Configuration Examples
    • Airkit Lightning Component (Salesforce)
    • Embeds
      • Embedding Apps on Websites
      • AirClient Configurable Properties
      • Creating Secure Embeds
  • Airscript
    • Airscript Quickstart
    • 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
  • Styling
    • Themes and Control Variants
    • Importing and Exporting Themes
    • Working with Custom Fonts
    • Creating an App Header
    • Page Layouts
    • Animations
  • Analytics
    • 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
  • Administration
    • Custom Domains
    • SAML SSO for an Organization
    • User Roles
      • Working with Custom 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
    • App Security FAQ
    • IP Ranges
    • Encrypting Data
    • SSL Auth
    • TCPA
    • Cookie Policies
    • Supported Browsers
    • Realms
  • 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 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 Input
    • Text Area
    • Text Input
    • Time 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 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
  • 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
    • CXR Upgrades and Migrations
  • Quickstart Sample API
    • The Transportation Products API
    • GET products
    • GET product-by-id
Powered by GitBook
On this page
  • Step 1: Create a CNAME record in your domain provider
  • Step 2: Creating a URL domain and URL Route
  • I want to manage my own certificates
  • Step 3: Configure the domain in Settings

Was this helpful?

  1. Administration

Custom Domains

PreviousSetting up Analytics with HeapNextSAML SSO for an Organization

Last updated 1 year ago

Was this helpful?

This guide will walk you through how to connect a domain to Airkit and white-label the links that lead to your application. Connecting a domain to Airkit requires three configuration steps.

🚧 To use a custom domain in an application, whether it is a URL Domain or URL Route, that domain has to be compatible with .

Step 1: Create a CNAME record in your domain provider

Create a CNAME record for your domain so that it is pointing to the Airkit website. Depending on the realm of the Airkit organization, the URL will differ:

US Realm:

app.airkit.com 

EU Realm:

app.airkit.eu 

APAC Realm:

app.airkit.com.au

Below is an example configuration for a domain hosted in Amazon AWS:

📘 Verifying your CNAME After creating a CNAME, you should verify that your CNAME configuration is correctly set up and resolvable from the public internet. To do this, you can use from the Google Admin toolbox.

Step 2: Creating a URL domain and URL Route

To add a URL Domain and a URL Route in Airkit, go to the to add a resource.

🚧 You need to create URL routes on the same version of Console that you are using to build your application. Keeping track of what version of the Console you are working in is particularly important if your Organization contains apps that were built in multiple versions of the Studio.

The URL console.airkit.com automatically directs to the latest version of Airkit. To access an earlier version, place the desired version in the URL. For instance, if you're building an app on CXR 17.15, make sure to create your Web URL Route Resources on v17-15.console.airkit.com.

To add a URL domain, toggle to Resources and click ** Create New**. Type a unique name to label the domain and select URL Domain in the Capabilities dropdown.

After selecting URL Domain, put in the custom domain name that was created when the CNAME was created. (For example: usher.woodsidebikes.com.) Upon clicking the Create button in the lower right, Airkit will attempt to retrieve the certificate that was created. Assuming no errors arise, this URL Domain can then be used to define the base domains of your applications.

After adding a URL domain, add a URL Route resource. Under the Resources tab, Click on Create New, type a unique name to label the route, and select URL Route in the Capabilities dropdown.

Select the URL domain that was created in the previous step. This will provide the ability to create a custom path on your domain (e.g. usher.woodsidebikes.com/c/order).

Lastly, add a Custom URL key. This customizes the URL path that can launch an app.

I want to manage my own certificates

However, if you want to use certificates signed by your Certificate Authority (CA), Airkit provides the option to check off I want to manage my own certificates before creating your custom resource:

Should you choose to manage your own certificate, you will need to manually renew it before it expires.

Configuring your own CA requires extra configuration steps and maintenance. See tutorial here.

Upon clicking the Create button, the following box will appear in the Inspector. Click on the Generate CSR button:

A modal will open. Fill out the information as prompted and then click the Generate Certificate Signing Request Button:

Your Certificate Signing Request will then display as follows. Note that, in the provided example, the Certificate Signing Request has been greyed out:

Copy your Certificate Signing Request and save it, then click Done. You can now give your Certificate Signing Request to your CA in order generate a certificate.

Once you’ve gotten a signed Certificate back from your CA, click Enter Response from CA:

This will open the following modal:

Enter the signed Certificate from your CA and press Submit Request. If you have successfully configured your Custom Domain so that you can manage your own certificates, you should see the following box in the Inspector:

🚧 Certificates come with an expiration date. Certificates eventually expire or you may need to update your Certificate subject. In both cases, you must generate a new CSR and upload a new signed Certificate. Click on the Generate CSR button to modify the subject parameters and generate a new CSR. Generating a new CSR is a safe operation and does not remove an existing Certificate until a new signed Certificate is uploaded.

Step 3: Configure the domain in Settings

Open the relevant app in the Studio. Toggle over to Settings.

The Base Domain section specifies the domain of all links associated with this application. To set your white-label domain as an app's base domain, simply select your white-label domain from the associated dropdown menu.

The Web URL section specifies the precise URL that will launch your app's web experience, including the base domain and the path. Options are available for selection in the dropdown menu. Only URL routes with a domain in common with your set Base Domain will appear for selection, so be sure to select your white-label base domain before selecting your white-label Web URL.

Save your changes, and, once published, the application will be accessible by the specified white-label links.

📘 Enterprise Feature This feature requires an ENTERPRISE license. If you would like to enable this feature for your Airkit Organization, please contact your Airkit representative or contact .

By default, Airkit handles uses to handle all certificates associated with a custom domain. In such cases, Airkit handles certificate renewal automatically: all certificates are checked periodically and auto-renewed well before the expiration date. No maintenance is required on your end.

support@airkit.com
Let's Encrypt
https://letsencrypt.org/docs/certificate-compatibility/
Dig
Console
organizing info