Instagram Appointment Booking
Connect your Instagram Chatbot to Google Calendar so customers can create, reschedule, and cancel appointments directly inside a conversation — without any manual coordination from your team.
What is Instagram Appointment Booking?
Instagram Appointment Booking is a component that syncs your Instagram Chatbot with Google Calendar. Each time a customer wants to book, reschedule, or cancel a slot, the chatbot handles it directly inside the conversation and reflects the change on your connected calendar in real time.
By adding the Appointment component to your Instagram Chatflow on BotPenguin, you can let customers manage their own appointments — without anyone on your team manually checking availability or updating a calendar.
When Should You Use This?
Use the Appointment component when:
You want Instagram followers to book an appointment directly in DMs, based on your real-time availability
You want customers to be able to reschedule an existing appointment without contacting your team
You want customers to cancel an appointment themselves, with the change reflected instantly on your calendar
How It Works
The setup has two parts:
Connect Google Calendar — You authenticate your Google account inside BotPenguin and configure your availability, schedule, and messaging. This tells BotPenguin when appointments can be booked and what to say at each step.
Add the Appointment component to your Chatflow — Once connected, you place the Appointment component at the right point in your Instagram Chatflow and choose whether it should create, reschedule, or cancel an event. When the conversation reaches that point, BotPenguin handles the calendar action automatically.
Before You Begin
An active BotPenguin account with an Instagram Chatbot set up
A Google account with calendar write permissions
A Chatflow that collects customer details such as name, email, and phone number
Step-by-Step Instructions
Part A: Connect Your Google Calendar Account
Step 1: Select Your Calendar Provider
Add the Appointment component to your Instagram Chatflow.
In the right panel, select "Calendar Provider".
Choose Google Calendar

Step 2: Choose an Action Type
Under "Action Type", select what this component should do:
Create Event
Books a new appointment
Reschedule Event
Modifies an existing booking
Cancel Event
Cancels an appointment

Step 3: Connect Your Calendar Account
Select your "Calendar Account" from the dropdown if it's already connected.

If not connected, click "Add Account".

Choose your Google account.

Review the permissions and policies, then click "Continue".
Click "Allow" to grant access to your calendar.
Your account will now appear in the dropdown. Select your account and click "Update", then "Next".
Make sure the connected account has calendar write permissions, or bookings will fail.
Part B: Configure Appointment Details (Create Event)
Step 1: Set Basic Details
Enter an Appointment Name — a custom name for the appointment

Select the Appointment Slot Duration from the dropdown: 15 / 30 / 45 / 60 minutes.

Set the Future Days

Select an Availability Schedule, or click "Add New Schedule" to create one:

Click "Add Business Hours".

Enter a Name, Short Description, and select your Country and Time Zone.

Add your Business Hours, including days and timings.
The new schedule will appear in the list — edit or delete it as needed.
Select the schedule you want to use.
Select the Customer Time Zone — the timezone used to display slots to the customer.

Select the Language to be used for the appointment flow.

Set the Next Message After Completion to route the flow once booking is done.

Step 2: Configure Advanced Options
Select the checkboxes to enable the permissions you need:
Booking & Meeting Controls
Include a Google Meet link with each appointment
Booking & Meeting Controls
Allow users to invite additional guests
Booking & Meeting Controls
Allow multiple bookings on the same appointment slot
Appointment Details
Allow users to add an agenda for the appointment
Reliability & Retry
Retry booking once upon failure
Notifications & Messaging
Send notification for the user reply
Notifications & Messaging
Rephrase Messages (AI-assisted rephrasing of normal system messages)
Notifications & Messaging
Rephrase Error Messages (AI-assisted rephrasing for error states)
Message Timing
Add delay before message is displayed (set delay in seconds)

Step 3: Customize Message Text
Configure the system messages shown at each step. All fields support dynamic variables using "/".
Date Selection Message
"Please select a date for your appointment."
Slot Selection Message
"Choose an appointment slot from the available options."
Booking Failed Message
"We couldn't complete the appointment booking. Please try again."
Appointment Success Message
"Your appointment has been booked successfully!"
Slot Unavailability Message
"This appointment slot is no longer available. Please choose another one."
View More Options Text (shown when there are more than 10 slots)
"View More Options"
CTA Button Label
Customizable

Step 4: Map Your Data
Under Data Mapping, map the Primary Attendee to a Custom Attribute (e.g., Email). This field supports multiple mapped values.

Step 5: Save and Test
Click "Update" to save your configuration, or "Back" to return to the previous step.

Click "Test Bot" to run an end-to-end booking validation.
Part C: Add Reschedule and Cancel Flows
Step 1: Set Up the Reschedule Event Flow
Add an Appointment component and select "Reschedule Event" as the Action Type.

Edit the configuration, or keep it the same as your Create Event flow.
Select the connected Calendar Account where appointments will be updated. If none is connected, click "Add Account" to authorize Google Calendar.
On a successful reschedule, the event is updated in Google Calendar, a confirmation is sent to the user, and the appointment details are updated internally. All rescheduled appointments are reflected in Inbox → Appointments, where you can filter by Upcoming / Past, date range, email, or phone number.
Step 2: Set Up the Cancel Event Flow
Entry Point — Trigger via keyword ("Cancel appointment"), a button ("Cancel Appointment"), or from a menu/fallback option.
Collect User Identity — Add Name, Email, and Phone components, in this order, before the Appointment component. These identify the correct calendar event.
Fetch the Existing Appointment — Configure the Appointment component:
Calendar Provider: Google Calendar
Action Type: Cancel Event
Calendar Account: Select the connected Google account
Count of Previous Scheduled Events: 1 (fetches the customer's most recent upcoming appointment)
Add a Confirmation Step (recommended) with a Yes/No choice before cancelling.
Cancel Event Action — If the user confirms, the component cancels the event in Google Calendar and updates the internal status.
Success and Failure Messages — Add a success message for a completed cancellation, and a fallback message for when no appointment is found.
A cancelled appointment is removed from Google Calendar, marked as Cancelled in Inbox → Appointments, and remains available for audit/logs.
Best Practices
💡 Always add Name, Email, and Phone components before the Appointment component to avoid dependency errors.
💡 Keep your Availability Schedule and Business Hours up to date so customers can't book outside working hours.
💡 Enable "Include Google Meet link" if your appointments are virtual, for a smoother experience.
💡 Test the Create, Reschedule, and Cancel flows live on Instagram before pointing real customers to the bot.
💡 Use a clear, descriptive Message label for each Appointment component so your Chatflow is easy to read and maintain.
What Might Go Wrong
Name, Email, or Phone not collected before the Appointment component
Component will not function due to missing dependency
No Availability Schedule selected
Customers won't see any bookable slots
Calendar account lacks write permissions
Bookings will fail even if the account shows as connected
Cancel Event details don't match the original booking details
Appointment will show as "not found" during cancellation
Troubleshooting
FAQs
Support
If everything is correct and you are still unable to move forward, write to us at support@botpenguin.com. We will respond back within 48 business hours.
Last updated
Was this helpful?