# Scheduling and Follow-Up App

This tutorial covers how to build a web app that collects contact information from users, prompts them to schedule an appointment, and then invites them to submit feedback after their appointment is over. Throughout the process, it will schedule and send a variety of reminder and follow-up Notifications, all of which are TCPA compliant. Check out this tutorial if you want to learn more about:

* Digital scheduling
* Timers and reminders
* Automatic outreach and TCPA compliance
* Creating and managing multi-Step Journeys

> 📘 This tutorial assumes some basic familiarity with the contents of [Your First App (A Simple Form)](your-first-app-a-simple-form). If you haven't gone through that tutorial yet, we recommend you do so before proceeding. **Here are the parts of the Airkit platform that you will be working with:**

* [Journey Builder](../studio/builder-bar/journey-builder): Defining and managing the overarching Journey
* [Web Flows Builder](../studio/builder-bar/web-flows-builder): Creating the UI
* [AirData Builder](../studio/builder-bar/airdata-builder): Storing and structuring data
* [Connections Builder](../studio/builder-bar/connections-builder): Querying AirData
* [Schedules Builder](../studio/builder-bar/schedules-builder): Defining potential appointment times
* [Notifications Builder](../studio/builder-bar/notifications-builder): Writing outgoing Notifications
* [Variable Tree](../studio/variable-tree): Managing local variables

**For a demonstration how this application will work once we're finished, check out this video:** \[block:embed] { "html": "\<iframe class="embedly-embed" src="//cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FRRS1o9Gyzdg%3Ffeature%3Doembed\&display\_name=YouTube\&url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DRRS1o9Gyzdg\&image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FRRS1o9Gyzdg%2Fhqdefault.jpg\&key=f2aa6fc3595946d0afc3d76cbbd25dc3\&type=text%2Fhtml\&schema=youtube" width="854" height="480" scrolling="no" title="YouTube embed" frameborder="0" allow="autoplay; fullscreen" allowfullscreen="true">", "url": "https://www.youtube.com/watch?v=RRS1o9Gyzdg", "title": "Scheduler DEMO", "favicon": "https://www.google.com/favicon.ico", "image": "https://i.ytimg.com/vi/RRS1o9Gyzdg/hqdefault.jpg" } \[/block]

## Defining the App Journey

Create a new, blank app from the [Console](../console/console) and click **Edit in Studio** to start building. When you first access the app, you’ll land on **Journey** Builder.

1. Since we are going to create a Journey that users access through a link, drag the **Visit a Link** interaction to **Triggers**.

![](https://2093598723-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FC2DgLBPTrwoEhWaU24LL%2Fuploads%2Fgit-blob-b696d65e57db1fb5f8cb19fe54cf05046458c69d%2Fscheduling-and-follow-up-app-v180-0.png?alt=media)

2. In **Journey Steps**, we are going to add two steps:
   * Rename **Step 1** to “Schedule Appointment”. This is the Step in which we are going to collect contact information from users and prompt them to schedule an appointment. In **Web Flow Starts**, select the '+' icon to add a new Web Flow:

![](https://2093598723-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FC2DgLBPTrwoEhWaU24LL%2Fuploads%2Fgit-blob-ed3c892363d1b83399e95282fa6e6577fef35057%2Fscheduling-and-follow-up-app-v180-1.png?alt=media)

* Add a **Step 2** by clicking on the '+' icon underneath Step 1. Rename it to “Rank Experience”. This is the Step during which we will invite users to submit feedback following their appointment. In **Web Flow Starts** select the '+' icon to add another new Web Flow:

![](https://2093598723-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FC2DgLBPTrwoEhWaU24LL%2Fuploads%2Fgit-blob-19a13d2c5dc52c83168349a715b0ef1261a8d516%2Fscheduling-and-follow-up-app-v180-2.png?alt=media)

3. Go to **Web Flows** Builder and rename your newly-made Web Flows such that:

* **Web Flow** becomes **Capture Customer Info**
* **Web Flow 1** becomes **Collect Feedback**

4. Click on the ‘+’ icon next to **Web Flows** in the Tree, and add a new blank Web Flow. Rename it to “Schedule Appointment”. Then drag and drop it between the other two Web Flows in the Tree:

![](https://2093598723-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FC2DgLBPTrwoEhWaU24LL%2Fuploads%2Fgit-blob-a392289a4cb1c617daf27218299c3136dc3e0a0f%2Fscheduling-and-follow-up-app-v180-3.png?alt=media)

You've now created a framework for a multi-step Journey! Step 1 will consist of two Web Flows: the first will collect basic user information that can be used to establish additional communication channels, and the second will prompt users to schedule an appointment time. Step 2 will contain only a single Web Flow, which will allow the user to submit feedback after the appointment is over.

Save your progress and get ready to finalize the first Web Flow of your application: the one that collects users' contact information.
