View as Markdown

Microsoft Bookings Integration

Manage Microsoft Bookings businesses, services, staff members, and appointments

The Microsoft Bookings integration provides access to manage Microsoft Bookings businesses, services, staff members, and appointments through the Integrate MCP server.

Installation

The Microsoft Bookings integration is included with the SDK:

import { microsoftBookingsIntegration } from "integrate-sdk/server";

Setup

1. Create a Microsoft Bookings OAuth App

  1. Go to Azure Portal — App Registrations
  2. Create a new OAuth application
  3. Configure your redirect URI
  4. Note your Client ID and Client Secret

2. Configure the Integration on Your Server

Add the Microsoft Bookings integration to your server configuration. The integration automatically reads MICROSOFT_BOOKINGS_CLIENT_ID and MICROSOFT_BOOKINGS_CLIENT_SECRET from your environment variables:

import { createMCPServer, microsoftBookingsIntegration } from "integrate-sdk/server";
 
export const { client: serverClient } = createMCPServer({
  apiKey: process.env.INTEGRATE_API_KEY,
  integrations: [
    microsoftBookingsIntegration({
      scopes: ["offline_access", "User.Read", "Bookings.ReadWrite.All"], // Optional
    }),
  ],
});

You can override the environment variables by passing explicit values:

microsoftBookingsIntegration({
  clientId: process.env.CUSTOM_MICROSOFT_BOOKINGS_ID,
  clientSecret: process.env.CUSTOM_MICROSOFT_BOOKINGS_SECRET,
      scopes: ["offline_access", "User.Read", "Bookings.ReadWrite.All"], // Optional
});

3. Client-Side Usage

The default client automatically includes all integrations. You can use it directly:

import { client } from "integrate-sdk";
 
await client.authorize("microsoft_bookings");
const result = await client.microsoft_bookings.listBusinesses({});
 
console.log(result);

If you're using a custom client, add the integration to the integrations array:

import { createMCPClient, microsoftBookingsIntegration } from "integrate-sdk";
 
const customClient = createMCPClient({
  integrations: [microsoftBookingsIntegration()],
});

Configuration Options

export interface MicrosoftBookingsIntegrationConfig {
  clientId?: string;

Default Scopes

These defaults are applied unless you override scopes in the integration config:

  • offline_access
  • User.Read
  • Bookings.ReadWrite.All

Tools

microsoft_bookings_list_businesses

Bookings list businesses

export interface MicrosoftBookingsListBusinessesParams {
    "$top"?: number;

microsoft_bookings_get_business

Bookings get business

export interface MicrosoftBookingsGetBusinessParams {
    "business_id": string;

microsoft_bookings_list_services

Bookings list services

export interface MicrosoftBookingsListServicesParams {
    "business_id": string;

microsoft_bookings_list_staff_members

Bookings list staff members

export interface MicrosoftBookingsListStaffMembersParams {
    "business_id": string;

microsoft_bookings_list_appointments

Bookings list appointments

export interface MicrosoftBookingsListAppointmentsParams {
    "business_id": string;

microsoft_bookings_create_appointment

Bookings create appointment

export interface MicrosoftBookingsCreateAppointmentParams {
    "business_id": string;

Notes

  • Category: Scheduling
  • Authentication mode: OAuth