# Microsoft Bookings + Krokul CRM

Yes. Krokul CRM integrates with Microsoft Bookings. Each appointment booked on your Bookings page finds or creates the contact in Krokul, attaches to a deal and becomes a meeting task for the staff member who runs it. A manager can also book a Bookings appointment from the deal, and a cancellation in either place closes the task.

**Status:** Via API and webhooks.

## What your team gets

### A booked consultation opens a deal

A prospect books a consultation on your Bookings page. Krokul reads the new bookingAppointment, matches customerEmailAddress against Krokul contacts or creates one, and opens a deal in the pipeline you mapped to that bookingService. The meeting task lands on the start time and goes to the Krokul user linked to the staff member in staffMemberIds.

### The Teams link travels with the task

When the service runs online, Bookings fills joinWebUrl with the Teams meeting link. Krokul puts the link on the meeting task, so the manager opens the call from the deal. Customer notes from the booking go to the deal feed.

### Booking from the deal

The manager picks a service, a staff member and a free slot in Krokul. Krokul creates the bookingAppointment in the right bookingBusiness with the contact as the customer. Bookings sends its usual confirmation, and the appointment ID stays on the task as its external key.

### Moves and cancellations stay in step

A new time on the Bookings side moves the Krokul task. A task cancelled in Krokul calls cancel on the appointment with your cancellationMessage, and Bookings tells the customer and the staff member. An appointment cancelled in Bookings cancels the task.

## What moves between Microsoft Bookings and Krokul

| Microsoft Bookings | Krokul | Direction | When |
|---|---|---|---|
| bookingAppointment (calendarView) | Meeting task on the deal | Bookings → Krokul | Scheduled read finds a new appointment |
| bookingCustomer, customerEmailAddress | Contact, found by email or created | Bookings → Krokul | With the appointment |
| bookingService | Pipeline and deal source | Bookings → Krokul | Mapped once on setup |
| bookingStaffMember (staffMemberIds) | Task assignee | Bookings → Krokul | Mapped once on setup |
| joinWebUrl | Meeting link on the task | Bookings → Krokul | Online services |
| New bookingAppointment | Task created from the deal | Krokul → Bookings | The manager books from Krokul |
| Start and end time; cancel | Task time; task cancelled | Bookings ↔ Krokul | Either side moves or cancels |

## How to connect today

### Custom flow through the Krokul API and webhooks

1. Register an app in Microsoft Entra ID with the Graph application permission Bookings.Read.All, or Bookings.ReadWrite.All if Krokul also books and cancels, and grant admin consent.
2. Every few minutes read /solutions/bookingBusinesses/{id}/calendarView with a start and end window and compare it with the IDs you already stored.
3. For a new appointment call contact/api-find by email, then card/api-create and task/api-create, and keep the appointment ID with externalRef/api-upsert.
4. To book from Krokul, subscribe a Krokul webhook to task.created, check x-crm-signature, and POST the appointment to the bookingBusiness.

### For integrators

Microsoft Graph sends no change notifications for Bookings resources. Krokul reads calendarView on a schedule. The appointment object carries the service, staff, customer, time zone and an online meeting link, and the cancel action sends a message to the customer and staff. On the Krokul side the appointment ID works as an external key, and every Krokul webhook delivery is signed with HMAC-SHA256 and can be replayed from the delivery log.

[API documentation](https://app.krokul.com/api/v1/docs)

## Questions and answers

### Does Krokul integrate with Microsoft Bookings?

Yes. Bookings appointments create contacts, deals and meeting tasks in Krokul, and managers book and cancel Bookings appointments from the deal.

### Do personal booking pages work?

No. Microsoft Graph exposes shared bookings only, so Krokul reads the Bookings pages that belong to a bookingBusiness.

### How quickly does a new booking appear in Krokul?

On the next scheduled read of the calendar view. Graph has no push notification for Bookings, so Krokul polls each connected business on a short interval.

### Who gets the meeting task?

The Krokul user you linked to the Bookings staff member. If an appointment has no staff member, the task goes to the deal owner.

## Limits

Microsoft Bookings keeps availability, services, staff schedules, booking pages and customer reminders. The Graph API covers shared bookings only, so personal booking pages stay outside the link, and Microsoft asks for a Microsoft 365 Business Premium subscription for the business.

## Related services

- [Calendly](https://krokul.com/en/integrations/calendly/index.md)
- [Cal.com](https://krokul.com/en/integrations/cal-com/index.md)
- [Microsoft Teams](https://krokul.com/en/integrations/microsoft-teams/index.md)
- [Outlook Calendar](https://krokul.com/en/integrations/outlook-calendar/index.md)
- [Zoom](https://krokul.com/en/integrations/zoom/index.md)

[Meetings and scheduling](https://krokul.com/en/integrations/category/meetings/index.md)

Microsoft and Microsoft Bookings are trademarks of the Microsoft group of companies. Krokul is not affiliated with Microsoft.

Updated: 2026-10-15

---

App: https://app.krokul.com/ · API: https://app.krokul.com/api/v1/docs
