Book Microsoft Teams Meetings
Directly in Your Chat Widget

Visitors pick a time, your calendar updates, a Teams meeting link is created, and an invite lands in their inbox — all within a natural conversational chat flow. No forms, no back-and-forth emails, no scheduling tools.

  • No credit card
  • UK hosted & GDPR
  • Works on any website
  • Microsoft 365

From Chat to Calendar in Seconds

One widget, one workflow step — three powerful outcomes

Real-Time Availability

The widget queries your Microsoft 365 calendar live. Visitors only see genuinely free slots — no double bookings, no stale availability.

Automatic Teams Meetings

Optionally create a Microsoft Teams online meeting with every booking. The visitor receives a join link and calendar invite instantly.

Conversational Experience

No ugly form pages. Details are collected one question at a time in natural chat bubbles — name, email, phone, then time slot selection.

How the Booking Flow Works

A complete walkthrough of what your visitor sees — and what happens behind the scenes

1

Duplicate Check

Before anything starts, the system checks whether this visitor already has an upcoming booking. If they do, the workflow can route them to an “already booked” branch — preventing duplicates automatically.

2

Capture Visitor Details

The chat conversationally collects the visitor’s name, email, and optionally phone number and any custom fields you define (e.g. “What is this about?”). Each field appears as a natural chat question.

3

Show Available Slots

The widget queries your O365 calendar in real time using the Microsoft Graph API. Only genuinely free time slots within your configured working hours are shown as clickable buttons. Visitors can navigate between days.

4

Visitor Selects a Time

The visitor taps their preferred slot. The server validates the slot is still available (defence against simultaneous bookings), respects minimum notice rules, and falls within working hours.

5

Calendar Event Created

A new event is created on your Microsoft 365 calendar with the visitor’s name, email, custom fields, and any message template you configure. The visitor is added as an attendee and receives a calendar invite.

6

Teams Meeting Link (Optional)

If enabled, the event is created as a Microsoft Teams online meeting. The visitor sees the Teams join URL directly in the chat, and the invite email includes the Teams meeting details with a click-to-join link.

7

Confirmation & Routing

The visitor sees a confirmation message in chat. The workflow then routes to your configured next step — a thank-you message, feedback form, live agent handoff, or any other workflow step.

Drag It Into Any Workflow

The O365 Calendar step slots into your existing chat workflow like any other module

START
Welcome
Hi! Need to schedule a call?#welcome_1
Buttons
“Book a demo” / “Just browsing”#intent_2
Book Demo
O365 Calendar
Book Teams meeting#book_call_3
Booked
Message
Booking confirmed!#confirm_4
Failed
Human Chat
Talk to sales#fallback_5
Already Booked
Message
You already have a booking#exists_6
Just Browsing
AI Chat
Answer questions with AI#ai_chat_7

Three-Branch Outcome Routing

Unlike basic booking forms, the O365 Calendar step gives you three outcome branches to handle every scenario:

  • Success — Booking confirmed. Show a thank-you message, redirect to a resource, or continue the workflow.
  • Failure — API error, no slots, or transient issue. Route to a live agent, alternative form, or retry message.
  • Already Booked — Visitor already has an upcoming meeting. Show their existing booking info or offer rescheduling.

Each branch connects to any other workflow step — messages, AI chat, human handoff, webhooks, or another O365 Calendar step for a different calendar.

4 Booking Scenarios You Can Build Today

Real workflows using the O365 Calendar step — copy these or customise your own

1

Sales Discovery Call with Teams Meeting

Qualify a lead, book a 30-minute demo, and send a Teams invite — automatically

START
Message
“Book a quick sales call?”#welcome_1
O365 Calendar
30-min Teams meeting#book_sales_2
Webhook
Notify #sales on Slack#notify_3

How It Works

  1. Greeting: A welcome message asks if the visitor wants to book a sales call.
  2. O365 Calendar Step: Captures name, email, and “company name” (custom field). Shows real-time available 30-minute slots from your sales team’s calendar with Teams meeting enabled.
  3. Instant Booking: The visitor picks a slot. A calendar event is created, a Teams meeting link is generated, and the invite lands in their inbox.
  4. Webhook: Slack/Discord/Teams is notified with the lead’s details and meeting time.
  5. Feedback: Capture a quick satisfaction rating.

Ideal for: SaaS sales teams, consultancies, agencies, and any business that books demos or discovery calls.

2

Support Callback Scheduling

When live agents are busy, let visitors schedule a callback at a time that suits them

START
Collect Info
Name & issue description#details_1
Conditional
Agents available?#check_avail_2
Online
Live Chat
Connect to agent now#live_chat_3
Busy/Offline
O365 Calendar
Book callback slot#book_callback_4

How It Works

  1. Collect Details: Gather the visitor’s name and a brief description of their issue.
  2. Availability Check: A conditional step checks if live agents are online.
  3. Online → Live Chat: If agents are available, connect immediately.
  4. Busy/Offline → Booking: If not, the O365 Calendar step offers 20-minute callback slots from the support team’s calendar. The visitor picks a time and gets a calendar invite.

Ideal for: IT helpdesks, customer support teams, managed service providers, and any team that receives high volumes of support requests.

3

Professional Consultation Booking

Collect intake details, route by practice area, and book a consultation — all in chat

START
Collect Info
Name, email, phone#intake_1
Buttons
Practice area / department#dept_2
Family Law
O365 Calendar
Family law calendar#book_family_3
Conveyancing
O365 Calendar
Conveyancing calendar#book_conv_4
Message
Confirmation & prep info#confirm_5

How It Works

  1. Intake: Collect the prospective client’s name, email, and phone.
  2. Department / Practice Area: Button group lets them choose their area of interest.
  3. Department-Specific Calendar: Each practice area uses a different O365 Calendar step pointing to a different team member’s calendar.
  4. Confirmation: After booking, show preparation instructions or documents to bring.

Ideal for: Law firms, accountancy practices, healthcare clinics, financial advisors, and any professional service that books consultations.

4

AI Triage with Meeting Fallback

Let AI answer questions first — if it can’t resolve, offer a booked call instead

START
AI Agent
Answer from knowledge base#ai_chat_1
Buttons
“Resolved” / “Book a call”#resolved_2
Resolved
Book a Call
O365 Calendar
Book specialist call#book_call_4

How It Works

  1. AI First: The AI agent answers questions using your knowledge base, FAQs, and custom tools.
  2. Resolution Check: After the AI conversation, ask if the issue was resolved.
  3. Resolved → Feedback: If yes, capture a satisfaction rating and close.
  4. Not Resolved → Booking: If not, the O365 Calendar step offers a specialist callback — with Teams meeting for screen sharing if needed.

Ideal for: Technical support teams, SaaS platforms, and any business where AI handles most queries but complex issues need human follow-up.

Build your booking workflow in minutes

Combine the O365 Calendar step with any of the 30+ workflow modules to create the perfect booking experience.

Start Building Free

From Chat to Calendar to Teams — Instantly

See what happens behind the scenes when a visitor books a meeting

Chat Widget

Visitor picks “Wed 2:30 PM”

Microsoft Graph API

Creates event + Teams meeting via server-side call

O365 Calendar

Event appears with attendee & Teams link

Visitor’s Inbox

Calendar invite with join link arrives

Every Configuration Option at Your Fingertips

Fine-tune every aspect of the booking experience from the visual workflow builder

Microsoft 365 Credentials

Connect to your Azure AD app registration with Tenant ID, Client ID, and Client Secret. Secrets are write-only — once saved, they cannot be viewed again (even by admins).

  • Azure Tenant ID (UUID format)
  • Application Client ID
  • Client Secret (encrypted, write-only)
  • Calendar Account Email (UPN)
  • Timezone (IANA format, e.g. Europe/London)

Scheduling Rules

Control exactly when and how visitors can book. Set working hours, slot duration, lookahead window, minimum notice, and weekend availability.

  • Slot duration: 5–240 minutes
  • Days ahead: 1–90 days
  • Working hours: start & end times
  • Minimum advance notice: 0–1440 mins
  • Allow weekend bookings: on/off

Visitor Capture Fields

Choose which details to collect conversationally before showing slots. Add unlimited custom fields for qualification, context, or routing.

  • Name capture (on/off)
  • Email capture (always required)
  • Phone capture (on/off)
  • Custom fields: text, email, phone, number, textarea
  • Required/optional per field

Calendar Event Templates

Customise the event subject, description, location, and attendees using %placeholder% tokens that auto-fill with captured visitor data.

  • Subject: “Sales Call — %visitor_name%”
  • Body: Custom text + captured fields
  • Location: “Online Meeting” or custom
  • Attendees: %visitor_email% + extra
  • Placeholders for all captured data

Teams Meeting Options

Toggle Teams online meeting creation on or off. When enabled, every booking automatically generates a Teams meeting with a join link shown in chat and sent via email invite.

  • Enable/disable Teams meetings
  • Auto-generated join URL in chat
  • Conference ID visible to visitor
  • Custom Teams success message
  • Calendar invite includes meeting details

Duplicate Prevention

Prevent visitors from booking multiple upcoming appointments. Uses device fingerprinting and session tracking to catch duplicates across sessions.

  • One upcoming booking limit
  • Device fingerprint tracking
  • Cross-session duplicate detection
  • Custom “already booked” routing branch
  • HTTP 409 conflict response

Messages & UX

Customise every message the visitor sees — from the intro prompt to slot labels, confirmation text, error messages, and status indicators.

  • Intro message before details capture
  • Slot prompt (“Available slots for %day_label%”)
  • No-slots message with day navigation
  • Confirmation message with booking time
  • Loading/success/error status messages

Three-Way Branching

Route to different workflow paths based on the booking outcome. Each branch can connect to any other step — messages, AI chat, human handoff, webhooks, or another calendar.

  • On Success → next step
  • On Failure → fallback step
  • On Already Booked → info step
  • Default fallback (next_step)
  • Mix with any workflow module

One-Click Presets

Start fast with built-in configuration presets. One click fills in sensible defaults for common scenarios — then customise to taste.

  • Sales Booking: 30 mins, Teams on, 2hr notice
  • Support Callback: 20 mins, Teams on, 30min notice
  • All presets fully editable after applying
  • Create your own defaults

Turn every chat into a booked meeting

Automate your sales demos, support callbacks, and consultation bookings with Microsoft 365.

Setup in Under 10 Minutes

A quick Azure app registration, two permissions, a secret — and you’re done

1

Register an App in Azure Entra ID

Go to the Azure PortalMicrosoft Entra IDApp registrationsNew registration. Give it a name like “IMSupporting Calendar” and register. You’ll get a Client ID and Tenant ID immediately.

2

Add API Permissions

Under API permissions, add two Application permissions from Microsoft Graph:

Calendars.ReadWrite User.Read.All

Click Grant admin consent to approve.

3

Create a Client Secret

Under Certificates & secrets, click New client secret. Copy the secret value — you’ll paste it into the workflow builder. Once saved in IMSupporting, the secret is write-only and cannot be viewed again.

4

Paste Credentials in the Workflow Builder

In your IMSupporting dashboard, open the Workflow Builder, add an O365 Calendar step, and paste your Tenant ID, Client ID, Client Secret, and the calendar account email. Hit save — that’s it.

5

Configure & Go Live

Set your slot duration, working hours, messages, and whether to enable Teams meetings. Preview the workflow, test a booking, and activate. Visitors can now book meetings directly from your chat widget.

Need help? Our team provides free integration assistance for every customer — including Azure app registration setup. Start your free trial and we’ll get you connected.

Enterprise-Grade Security

Your Microsoft 365 credentials and calendar data are protected at every layer

Server-Side Only

All Microsoft Graph API calls happen server-side. Your Tenant ID, Client ID, Client Secret, and calendar account email are never sent to the visitor’s browser.

Write-Only Secrets

Once a Client Secret is saved, it’s permanently masked and cannot be viewed again — not even by the admin who entered it. To change it, simply enter a new value.

OAuth 2.0 Client Credentials

Authentication uses the standard OAuth 2.0 client credentials flow with Microsoft’s token endpoint. Tokens are short-lived and never cached in the browser.

8-Point Slot Validation

Every booking attempt is validated against 8 server-side constraints: future-only, minimum notice, lookahead limit, duration match, working hours, weekend rules, calendar conflicts, and duplicate detection.

UK Hosted & GDPR Compliant

All data is processed and stored in UK data centres. Multi-tenant isolation ensures no customer can access another’s calendar data. Full GDPR compliance.

Full Audit Logging

Every booking attempt, success, failure, and duplicate detection is logged with timestamps, IP addresses, and session IDs for complete auditability.

Who Uses Meeting Booking in Chat?

Any team that schedules calls, demos, consultations, or callbacks

Sales Teams

Book demos, discovery calls, and product walkthroughs directly from the chat widget while the lead is still engaged.

Law Firms

Schedule initial consultations by practice area. Each solicitor’s calendar shows only their available slots.

Healthcare

Book patient appointments, telehealth consultations, and follow-up calls with full GDPR-compliant data capture.

SaaS & Tech

Automate support callbacks and onboarding sessions. AI handles FAQ first, then offers a booked call for complex issues.

Estate Agents

Schedule property viewings and valuation appointments. Capture property interest as a custom field.

Education

Book open day tours, admissions interviews, and academic advising sessions with department-specific calendars.

Financial Services

Schedule advisor meetings, mortgage consultations, and insurance reviews with compliance-ready data capture.

IT Support

When agents are busy, let users schedule a Teams callback with screen sharing to resolve complex issues.

Automotive

Book test drives, service appointments, and finance consultations. Push lead data to CRM via webhook.

Hotels & Hospitality

Schedule event planning consultations, group booking discussions, and corporate rate negotiations.

Local Councils

Offer appointment booking for council services, housing appointments, and planning consultations.

Recruitment

Schedule candidate screening calls, interviewer slots, and onboarding meetings automatically from chat.

Frequently Asked Questions

Everything you need to know about Microsoft Teams meeting booking in your chat widget

What Microsoft 365 licence is required?

The calendar account (the mailbox used for booking) needs a valid Microsoft 365 licence that includes Exchange Online and Calendar access. This covers Microsoft 365 Business Basic and above, as well as Enterprise E1/E3/E5 plans. For Teams meeting creation, the account also needs a Teams licence (included in most M365 plans).

Which Azure permissions are needed?

You need two Application permissions from Microsoft Graph: Calendars.ReadWrite (to read availability and create events) and User.Read.All (to verify the calendar account exists). Both need admin consent. No delegated or interactive login is required.

Does the visitor need a Microsoft account?

No. Visitors only need a valid email address. The calendar invite is sent as a standard email with an .ics attachment. If Teams meeting is enabled, the join link works for external participants without a Teams account (they join via the web browser).

Can I use different calendars for different departments?

Yes. Each O365 Calendar step in your workflow can point to a different calendar account (user_principal_name). Use button groups or department selection to route visitors to the right calendar based on their needs.

How does duplicate booking prevention work?

When Limit One Upcoming Booking is enabled (default), the system uses device fingerprinting and session tracking to detect whether the visitor already has an upcoming booking. If they do, the workflow automatically routes to the “Already Booked” branch, preventing duplicate appointments.

What happens if two visitors try to book the same slot simultaneously?

The server validates slot availability against the Microsoft 365 calendar at the moment of booking. If a conflict is detected (the slot was just booked by someone else), the booking fails and the workflow routes to the Failure branch. The visitor can then pick another slot.

Are my Azure credentials safe?

Yes. Your Tenant ID, Client ID, and Client Secret are stored server-side only. The Client Secret is write-only — once saved, it’s masked and cannot be viewed by anyone, including admins. All Graph API calls are made from the server; credentials never reach the visitor’s browser.

Can I customise the event subject, body, and attendees?

Yes. All event fields support %placeholder% templates that auto-fill with captured visitor data. For example: “Sales Call — %visitor_name%” becomes “Sales Call — Sarah Chen”. You can include any custom field data in the event body.

Does it support timezone handling?

Yes. You configure the timezone in the workflow builder (IANA format, e.g. “Europe/London”). Working hours and slot display respect this timezone. The calendar event is created in the configured timezone so it appears correctly for both parties.

Can I use this without Microsoft Teams?

Absolutely. Teams meeting creation is optional. If disabled, the step creates a standard O365 calendar event without a Teams meeting link. You can set the location to a phone number, office address, or any custom text.

Is the booking widget GDPR compliant?

Yes. All data is processed and stored in UK data centres. Visitor data is isolated by tenant (multi-tenant separation). You can add GDPR consent steps before the booking step in your workflow. All booking actions are logged for audit compliance.

How do I get help setting this up?

We provide free integration assistance for every customer. Our team can help you with Azure app registration, permission configuration, workflow building, and testing. Start your free trial and contact our support team.

Start Booking Microsoft Teams Meetings from Your Chat Widget

Real-time O365 availability, automated Teams invites, and conversational booking — all inside your existing chat workflow. Free 14-day trial, no credit card required.