> ## Documentation Index
> Fetch the complete documentation index at: https://docs.millis.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Creating a Voice Agent for Appointment Scheduling

> This guide details the process of creating a voice agent on Millis AI. The agent will handle calendar availabilities and booking appointments, integrating with various booking management software. The instructions cover setting up time zones, integrating third-party services, and configuring user contact methods.

<video controls className="w-full aspect-video" src="https://millis-public.s3.us-west-1.amazonaws.com/tutorials/tutorial-appointment-scheduling.mp4" />

## Step 1

Begin by setting the groundwork for creating a voice agent on Millis AI. This agent will manage calendar availability and booking appointments, a common use case. Currently, there is integration with cal.com, a booking management software.

<img src="https://mintcdn.com/millisai/E0S6YCSgju6oNy8Y/images/create-voice-agent-for-appointment-scheduling/image1.jpg?fit=max&auto=format&n=E0S6YCSgju6oNy8Y&q=85&s=1e70c27443e71bcba06c74d1c018fdd1" alt="Screenshot 1" width="1728" height="1080" data-path="images/create-voice-agent-for-appointment-scheduling/image1.jpg" />

## Step 2

We plan to integrate more services in the future, such as calendly.com and Google Calendar. Start by setting the time zone for your agent.

<img src="https://mintcdn.com/millisai/E0S6YCSgju6oNy8Y/images/create-voice-agent-for-appointment-scheduling/image2.jpg?fit=max&auto=format&n=E0S6YCSgju6oNy8Y&q=85&s=fe00c8bc4a6179de353fc55184f2d81b" alt="Screenshot 2" width="1728" height="1080" data-path="images/create-voice-agent-for-appointment-scheduling/image2.jpg" />

## Step 3

This time zone setting ensures that when the agent books a date and time, it will use this local time zone.

<img src="https://mintcdn.com/millisai/E0S6YCSgju6oNy8Y/images/create-voice-agent-for-appointment-scheduling/image3.jpg?fit=max&auto=format&n=E0S6YCSgju6oNy8Y&q=85&s=6eb7f06279e987e2cab4893013cbda29" alt="Screenshot 3" width="1728" height="1080" data-path="images/create-voice-agent-for-appointment-scheduling/image3.jpg" />

## Step 4

Next, add a feature called app function. This feature allows integration with third-party services. For booking appointments, we will use cal.com as our integration.

<img src="https://mintcdn.com/millisai/E0S6YCSgju6oNy8Y/images/create-voice-agent-for-appointment-scheduling/image4.jpg?fit=max&auto=format&n=E0S6YCSgju6oNy8Y&q=85&s=a59553e1fdada38d5b1e1e80b0b69a81" alt="Screenshot 4" width="1728" height="1080" data-path="images/create-voice-agent-for-appointment-scheduling/image4.jpg" />

## Step 5

For cal.com, there are two actions you can enable for the agent: one is returning available meeting slots, and the other is booking a meeting slot.

<img src="https://mintcdn.com/millisai/E0S6YCSgju6oNy8Y/images/create-voice-agent-for-appointment-scheduling/image5.jpg?fit=max&auto=format&n=E0S6YCSgju6oNy8Y&q=85&s=166c3f49e338628698260f6b9c577dca" alt="Screenshot 5" width="1728" height="1080" data-path="images/create-voice-agent-for-appointment-scheduling/image5.jpg" />

## Step 6

It is advisable to enable both actions for your agent.

<img src="https://mintcdn.com/millisai/E0S6YCSgju6oNy8Y/images/create-voice-agent-for-appointment-scheduling/image6.jpg?fit=max&auto=format&n=E0S6YCSgju6oNy8Y&q=85&s=26671dd9ac12e0ea6f506df3f0812e5d" alt="Screenshot 6" width="1728" height="1080" data-path="images/create-voice-agent-for-appointment-scheduling/image6.jpg" />

## Step 7

Consider the API key and the event type as these are essential.

<img src="https://mintcdn.com/millisai/E0S6YCSgju6oNy8Y/images/create-voice-agent-for-appointment-scheduling/image7.jpg?fit=max&auto=format&n=E0S6YCSgju6oNy8Y&q=85&s=4557341238161d0ad4c1ffa7952b7187" alt="Screenshot 7" width="1728" height="1080" data-path="images/create-voice-agent-for-appointment-scheduling/image7.jpg" />

## Step 8

Navigate to cal.com and sign up for an account. It is free to do so. After signing up, create an event and provide necessary information.

<img src="https://mintcdn.com/millisai/E0S6YCSgju6oNy8Y/images/create-voice-agent-for-appointment-scheduling/image8.jpg?fit=max&auto=format&n=E0S6YCSgju6oNy8Y&q=85&s=88717055c2c36f48770c68bba5c1f908" alt="Screenshot 8" width="1728" height="1080" data-path="images/create-voice-agent-for-appointment-scheduling/image8.jpg" />

## Step 9

Ensure you set the availability. Once done, look at the URL to find event types followed by some ID.

<img src="https://mintcdn.com/millisai/E0S6YCSgju6oNy8Y/images/create-voice-agent-for-appointment-scheduling/image9.jpg?fit=max&auto=format&n=E0S6YCSgju6oNy8Y&q=85&s=8badc03484b79fa9aae7d0253bf6c458" alt="Screenshot 9" width="1728" height="1080" data-path="images/create-voice-agent-for-appointment-scheduling/image9.jpg" />

## Step 10

This ID is the event type ID. Copy and paste it into the event type ID field.

<img src="https://mintcdn.com/millisai/E0S6YCSgju6oNy8Y/images/create-voice-agent-for-appointment-scheduling/image10.jpg?fit=max&auto=format&n=E0S6YCSgju6oNy8Y&q=85&s=7474b45af12b310531e811346a39d71a" alt="Screenshot 10" width="1728" height="1080" data-path="images/create-voice-agent-for-appointment-scheduling/image10.jpg" />

## Step 11

For the API key, return to cal.com and go to the settings to find the API key section.

<img src="https://mintcdn.com/millisai/E0S6YCSgju6oNy8Y/images/create-voice-agent-for-appointment-scheduling/image11.jpg?fit=max&auto=format&n=E0S6YCSgju6oNy8Y&q=85&s=119cee2adea0edfe37ecc1cabd845751" alt="Screenshot 11" width="1728" height="1080" data-path="images/create-voice-agent-for-appointment-scheduling/image11.jpg" />

## Step 12

Add a new API key with no expiration date and copy it.

<img src="https://mintcdn.com/millisai/E0S6YCSgju6oNy8Y/images/create-voice-agent-for-appointment-scheduling/image12.jpg?fit=max&auto=format&n=E0S6YCSgju6oNy8Y&q=85&s=dd3f2ed0acb6453006c463499caaa4d4" alt="Screenshot 12" width="1728" height="1080" data-path="images/create-voice-agent-for-appointment-scheduling/image12.jpg" />

## Step 13

Make sure the API key is set with no expiration date.

<img src="https://mintcdn.com/millisai/E0S6YCSgju6oNy8Y/images/create-voice-agent-for-appointment-scheduling/image13.jpg?fit=max&auto=format&n=E0S6YCSgju6oNy8Y&q=85&s=e9717a66a8e96a6c40e05646be4cd448" alt="Screenshot 13" width="1728" height="1080" data-path="images/create-voice-agent-for-appointment-scheduling/image13.jpg" />

## Step 14

Paste the API key into the relevant pop-up and add another key for booking meetings.

<img src="https://mintcdn.com/millisai/E0S6YCSgju6oNy8Y/images/create-voice-agent-for-appointment-scheduling/image14.jpg?fit=max&auto=format&n=E0S6YCSgju6oNy8Y&q=85&s=4cd551453b7a440c97c8dc332bbface2" alt="Screenshot 14" width="1728" height="1080" data-path="images/create-voice-agent-for-appointment-scheduling/image14.jpg" />

## Step 15

Use the same API key and event type for booking meeting slots.

<img src="https://mintcdn.com/millisai/E0S6YCSgju6oNy8Y/images/create-voice-agent-for-appointment-scheduling/image15.jpg?fit=max&auto=format&n=E0S6YCSgju6oNy8Y&q=85&s=d501995ef9e17a3d4550dcd01426c96b" alt="Screenshot 15" width="1728" height="1080" data-path="images/create-voice-agent-for-appointment-scheduling/image15.jpg" />

## Step 16

Select the user contact method. If the agent will manage bookings over the phone, it's advisable to choose the phone contact method.

<img src="https://mintcdn.com/millisai/E0S6YCSgju6oNy8Y/images/create-voice-agent-for-appointment-scheduling/image16.jpg?fit=max&auto=format&n=E0S6YCSgju6oNy8Y&q=85&s=3e66aab5d76f970662e65d77c00fa486" alt="Screenshot 16" width="1728" height="1080" data-path="images/create-voice-agent-for-appointment-scheduling/image16.jpg" />

## Step 17

Choose phone as the contact method if applicable.

<img src="https://mintcdn.com/millisai/E0S6YCSgju6oNy8Y/images/create-voice-agent-for-appointment-scheduling/image17.jpg?fit=max&auto=format&n=E0S6YCSgju6oNy8Y&q=85&s=f11469f9e5facd0bfea19b1711e53f67" alt="Screenshot 17" width="1728" height="1080" data-path="images/create-voice-agent-for-appointment-scheduling/image17.jpg" />

## Step 18

By selecting this option, the user's calling phone number will be captured and saved into the booking event. You will need to provide your own email for sending the booking confirmations.

<img src="https://mintcdn.com/millisai/E0S6YCSgju6oNy8Y/images/create-voice-agent-for-appointment-scheduling/image18.jpg?fit=max&auto=format&n=E0S6YCSgju6oNy8Y&q=85&s=9eecd947a6dcd5b5da7668070fab4618" alt="Screenshot 18" width="1728" height="1080" data-path="images/create-voice-agent-for-appointment-scheduling/image18.jpg" />

## Step 19

This allows you to keep track of the bookings.

<img src="https://mintcdn.com/millisai/E0S6YCSgju6oNy8Y/images/create-voice-agent-for-appointment-scheduling/image19.jpg?fit=max&auto=format&n=E0S6YCSgju6oNy8Y&q=85&s=9a347e18ce3ae04a5e85e0fc77564141" alt="Screenshot 19" width="1728" height="1080" data-path="images/create-voice-agent-for-appointment-scheduling/image19.jpg" />

## Step 20

Ensure you provide your email address for your records.

<img src="https://mintcdn.com/millisai/E0S6YCSgju6oNy8Y/images/create-voice-agent-for-appointment-scheduling/image20.jpg?fit=max&auto=format&n=E0S6YCSgju6oNy8Y&q=85&s=30edf3e6e15a9fd760dffdf66a57dd94" alt="Screenshot 20" width="1728" height="1080" data-path="images/create-voice-agent-for-appointment-scheduling/image20.jpg" />

## Step 21

Another option for contact is via email.

<img src="https://mintcdn.com/millisai/E0S6YCSgju6oNy8Y/images/create-voice-agent-for-appointment-scheduling/image21.jpg?fit=max&auto=format&n=E0S6YCSgju6oNy8Y&q=85&s=098abfdc7b37e8eee266a6802500ac41" alt="Screenshot 21" width="1728" height="1080" data-path="images/create-voice-agent-for-appointment-scheduling/image21.jpg" />

## Step 22

For web agents or phone agents where you prefer the user to provide their email for booking confirmations, select the email option. During the conversation, the agent will prompt the user for their email.

<img src="https://mintcdn.com/millisai/E0S6YCSgju6oNy8Y/images/create-voice-agent-for-appointment-scheduling/image22.jpg?fit=max&auto=format&n=E0S6YCSgju6oNy8Y&q=85&s=a833d777214c010d021713f1039a1ec8" alt="Screenshot 22" width="1728" height="1080" data-path="images/create-voice-agent-for-appointment-scheduling/image22.jpg" />

## Step 23

Once the user provides their email, both you and the user will receive the booking confirmation.

<img src="https://mintcdn.com/millisai/E0S6YCSgju6oNy8Y/images/create-voice-agent-for-appointment-scheduling/image23.jpg?fit=max&auto=format&n=E0S6YCSgju6oNy8Y&q=85&s=c393f223fc904885c64c2059153d9331" alt="Screenshot 23" width="1728" height="1080" data-path="images/create-voice-agent-for-appointment-scheduling/image23.jpg" />
