For the complete documentation index, see llms.txt. This page is also available as Markdown.

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:

  1. 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.

  2. 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

  1. Add the Appointment component to your Instagram Chatflow.

  2. In the right panel, select "Calendar Provider".

  3. Choose Google Calendar

Step 2: Choose an Action Type

  1. Under "Action Type", select what this component should do:

Action Type
What it does

Create Event

Books a new appointment

Reschedule Event

Modifies an existing booking

Cancel Event

Cancels an appointment


Step 3: Connect Your Calendar Account

  1. Select your "Calendar Account" from the dropdown if it's already connected.

  1. If not connected, click "Add Account".

  1. Choose your Google account.

  1. Review the permissions and policies, then click "Continue".

  2. Click "Allow" to grant access to your calendar.

Your account will now appear in the dropdown. Select your account and click "Update", then "Next".

Part B: Configure Appointment Details (Create Event)

Step 1: Set Basic Details

  1. Enter an Appointment Name — a custom name for the appointment

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

  1. Set the Future Days

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

  1. Click "Add Business Hours".

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

  1. Add your Business Hours, including days and timings.

  2. The new schedule will appear in the list — edit or delete it as needed.

  3. Select the schedule you want to use.

  4. Select the Customer Time Zone — the timezone used to display slots to the customer.

  1. Select the Language to be used for the appointment flow.

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

lightbulb

Name, Email, and Phone components must be added to the flow before the Appointment component — this is a mandatory dependency.


Step 2: Configure Advanced Options

Select the checkboxes to enable the permissions you need:

Category
Option

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 "/".

Message
Default Text

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

  1. Click "Update" to save your configuration, or "Back" to return to the previous step.

  1. Click "Test Bot" to run an end-to-end booking validation.

lightbulb

Every appointment booked via the chatbot appears automatically in Inbox → Appointments, where you can view and manage all upcoming and past appointments.

Part C: Add Reschedule and Cancel Flows

Step 1: Set Up the Reschedule Event Flow

  1. Add an Appointment component and select "Reschedule Event" as the Action Type.

  1. Edit the configuration, or keep it the same as your Create Event flow.

  2. 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

  1. Entry Point — Trigger via keyword ("Cancel appointment"), a button ("Cancel Appointment"), or from a menu/fallback option.

  2. Collect User Identity — Add Name, Email, and Phone components, in this order, before the Appointment component. These identify the correct calendar event.

  3. 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)

  4. Add a Confirmation Step (recommended) with a Yes/No choice before cancelling.

  5. Cancel Event Action — If the user confirms, the component cancels the event in Google Calendar and updates the internal status.

  6. 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.

lightbulb

Optional enhancements: retry cancellation once on failure, send a cancellation confirmation email, rephrase success/error messages using AI, or offer a Reschedule CTA immediately after cancellation.

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

Situation
What Happens

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

Calendar account is not appearing in the dropdown
  1. Click "Add Account" and reconnect the Google account.

  2. Confirm you clicked "Allow" on the permissions screen during authorization.

  3. Refresh the Chatflow builder and check the dropdown again.

Appointment slots aren't showing as expected
  1. Check that the correct Availability Schedule and Business Hours are selected.

  2. Confirm the Customer Time Zone matches the timezone you want displayed to customers.

  3. Verify the Per-Day Availability limit hasn't already been reached for that date.

Cancellation shows "no appointment found" even though one exists
  1. Confirm the Name, Email, and Phone details entered match exactly what was used at the time of booking.

  2. Check that the Count of Previous Scheduled Events is set correctly in the Cancel Event configuration.

Booking fails even though the calendar shows as connected
  1. Confirm the connected account has calendar write permissions.

  2. Reconnect the account via "Add Account" to refresh permissions.

  3. Enable "Retry booking once upon failure" as a temporary safeguard while you investigate.

FAQs

Is this component available for all bot types?

No. The Appointment Booking component is available for Instagram Chatbots only.

Which calendar providers are supported?

Google Calendar is currently the only supported Calendar Provider.

Can customers choose their own slot duration?

No. Slot duration is set by you from a dropdown of 15, 30, 45, or 60 minutes — it is not customer-selectable.

What's the difference between Create, Reschedule, and Cancel Event?

Create Event books a new appointment. Reschedule Event updates an existing booking with a new date/time. Cancel Event removes an existing booking from the calendar.

Can I customize the language used in the appointment flow?

Yes. You can select the language for the appointment flow from the Language dropdown under Basic Details.

Where can I see all appointments booked through Instagram?

All appointments — created, rescheduled, or cancelled — appear in Inbox → Appointments, where you can filter by status, date range, email, or phone number.

Do I need to add all three flows (Create, Reschedule, Cancel) to every Chatflow?

No. Add only the flows you want to offer customers. Many businesses start with Create Event and add Reschedule/Cancel later.


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?