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
  • Building the Home Web Page’s UI
  • Creating a Data Flow that Queries the Petfinder API
  • Creating the Variables
  • Binding Data
  • Configuring the Home Web Page Controls
  • Pet type Dropdown List
  • Gender Dropdown List
  • Zipcode Text Input
  • Next Button
  • Previewing the Home Web Page

Was this helpful?

  1. Tutorials
  2. Custom Integrations (Petfinder App)

Querying the Petfinder API

PreviousCustom Integrations (Petfinder App)NextDisplaying Petfinder Data

Last updated 1 year ago

Was this helpful?

Building the Home Web Page’s UI

It's time to start building the pet adoption app’s UI. In this section, we will focus on the first Web Page.

  1. Toggle over to Web Flows Builder, and double click on the recently-created Web Flow to rename it to “Adopt a Pet”.

  1. Rename that first Web Page to "Home Web Page" and click on the ‘+’ icon next to it to add new Web Controls. First, we're going add a Label.

  1. Since the first Label will be for the title, let’s change its text to “Adopt a Pet”. In the Inspector, go to General > Control Properties > Text and change the text in the associated string.

You can also change the Variant of the Label under Style > Variant.

  1. This Web Page will include three prompts:

  • The first one will be used to ask users what type of pet they're looking to adopt, so:

    • Add a Label and change the text to “What type of pet do you want to adopt?”.

    • Add a Dropdown List Web Control underneath.

  • The second one will be used to choose the pet’s gender, so:

    • Add a Label and change the text to “Select gender”.

    • Add a Dropdown List Web Control underneath.

  • The last one will ask users for their zipcode, so:

    • Add a Label and change it to “Enter zipcode”.

    • Add a Text Input Web Control underneath.

  1. Add a Button that reads "Next". Your Home Web Page will look something like this:

You can change the Variant of each Web Control by Inspecting the Control and selecting one of the Variant under Style > Variant.

The dropdown lists will be later populated with information from the Petfinder API.

Creating a Data Flow that Queries the Petfinder API

In this section, we will create a Data Flow that returns the data we want to use to populate the Dropdown List Controls. It will do so by querying the Petfinder API.

  1. Toggle over to to Connections Builder and click on Data Flow to create your first Data Flow. Then select Create Blank and rename it to “Get Pet Types”.

  1. Click on the ‘+’ icon between the Start and End sections of the Stage. From the Data Operation options that appear, select the HTTP Request Data Operation.

  1. Under Run Results, press the Run button. The Data Operation should retrieve a list of pet details:

  1. Follow the HTTP Request Data Operation with a Transform Data Operation by clicking on the ‘+’ icon directly below. In the Transform Expression, enter:

result.types
  1. In the End section, pass transform as the output.

Creating the Variables

The Variable Tree is accessible in all parts of the Studio, regardless of which Builder you're in. We're going to use it now to add six Variables to our application.

  1. Open the Variable Tree by clicking on the Variables button at the bottom of the Studio, to the right of the Builder Bar.

  2. Click on Activity Group Variables.

  3. Click on the ‘+’ icon and then select the corresponding variable type and Web Flow for each of them.

Rename them as follows:

Three Variables of type Text to be renamed as:

  • pet_type_selected

  • pet_gender_selected

  • zipcode

Three Variables of type Any to be renamed as:

  • pet_types

  • pet_gender

  • pets

What is an Activity Group Variable?

\

An Activity Group is a container of smaller Activities. A Web Page is a type of Activity, and a Web Flow is a type of Activity Group.

An Activity Group Variable is a variable that is only accessible within a particular Activity Group. An Activity Group Variable that's associated with a particular Web Flow, for instance, can only be referenced within that Web Flow. This contrasts with, for instance, global variables, which can be referenced at any point throughout a Journey.

Technically, Activity Group Variables can be accessed under the activityGroup namespace, but this is the presumed namespace by default. An Activity Group Variable designated pets can be accessed both as activityGroup.pets or simply pets, provided it's been referenced within the appropriate Activity Group.

📘 This application flow consists of only a single Web Flow, "Adopt a Pet", and so this is the Web Flow that all these Activity Group variables will be associated with.

When you're done, Variable Tree should appear approximately as follows:

Binding Data

  1. Toggle back to Web Flows Builder. Select the “Adopt a Pet” Web Flow and click on the Actions Tab in the Inspector.

  2. Click on the ‘+’ icon next to Web Flow Added and select Run Data Flow from the Action options. This will run the data flow when the Web Flow is navigated to.

  1. Then choose the Get Pet Types Data Flow you created previously and bind the output to:

activityGroup.pet_types

The output of the Data Flow will now be stored to the pet_types Activity Group Variable as soon as the user navigates to this Web Page.

Configuring the Home Web Page Controls

The next step is to configure the Dropdown List, Text Input, and Button Controls.

Pet type Dropdown List

  1. Either on the Stage or Tree section, click on the Pet Type List Dropdown List.

  2. Go to the Properties tab in the Inspector and in General > Data Binding > Value, select activityGroup.pet_type_selected.

  3. Then change the Type of List to Custom Expression and, under Data, add the following syntax:

FROM
  pet
IN
  activityGroup.pet_types
SELECT
  pet.name
  1. Then for both Display Text and Value Text, enter the variable item.

  1. Now go to the Actions tab and click on the ‘+’ icon next to Value Changed to add the Set Variable action from the Data options.

  1. Enter activityGroup.pet_gender as the Variable and add the Value as follows:

FROM
  pet
IN
  activityGroup.pet_types
WHERE
  pet.name = pet_type_selected
SELECT
  pet.genders

Once the information has been entered, the fields will look this way:

Gender Dropdown List

  1. Either on the Stage or Tree, click on the Gender List Dropdown List.

  2. Go to the Properties tab in the Inspector and, under ** General > Data Binding > Value** , select activityGroup.pet_gender_selected.

  3. Then change the Type of List to Custom Expression and, in Data, add the following syntax:

FLAT(
  activityGroup.pet_gender
)
  1. Then for both Display Text and Value Text, enter the variable item.

Zipcode Text Input

  1. Either on the Stage or Tree, click on the Zipcode Text Input.

  2. Go to the General tab in the Inspector and in Data Binding add:

activityGroup.zipcode

Next Button

  1. Either on the Stage or Tree, click on the "Next" Button.

  2. Go to the Actions tab and click on the ‘+’ icon next to Clicked. Select the Navigate to Web Page Action.

  3. Choose Add Web Page. A new Web Page will appear under the Home Web Page for you to continue building.

Previewing the Home Web Page

Save your progress and click on the Preview to check that the Home Web Page of your app is running smoothly. Click on the website icon and check what options are available for selection from the Dropdown menus.

You've now built out a homepage that behaves dynamically based on the data provided by an external system! Next, we're going to build a second page that displays pets of interest based on the information users provide in the homepage.

Select the Petfinder Integration as the Source and GET as the method. Then designate "" as the URL.

https://api.petfinder.com/v2/types