ConnectWiz + Outlook Calendar

Live integration

Outlook Calendar: bookings out, busy time in

Appointments made in ConnectWiz appear in Outlook Calendar and disappear on cancel — and events already in Outlook Calendar subtract from availability, so the AI never offers Thursday 15:00 when your calendar has the dentist there.

Events push out Busy time subtracts Role & direction per source
Outlook Calendar × ConnectWiz
Booking → calendar event
Busy block → availability minus
Read / write / both / busy-only
4
Fields pushed per event — title, note, start, end. No attendees, no invites, nothing else leaves
3
Independent axes per source — feeds bookings in, mirrors bookings out, blocks availability
Null ≠ 0
"Couldn’t read your calendar" is never treated as "you’re free"
1
Booking ledger — calendars mirror and inform it; none of them becomes the master

Calendars

What it does — precisely

Push, with cleanup

New bookings create events in Outlook Calendar; cancellations remove them. The practitioner’s calendar is never a day behind the diary.

Busy time counts

External events subtract from availability before any door — panel, AI, flow or widget — offers a slot. Double-booking against your personal life is blocked too.

Direction is a setting

Per connected source you choose: read from it, write to it, both, or busy-only — so a shared clinic calendar and a personal one can play different roles without a fight.

Under the hood

Sync semantics that don’t double-book you

Microsoft 365, the supported way

The connection uses Microsoft’s Graph API with calendar read-write and offline refresh — the sanctioned door, with tokens that renew themselves and revoke from your Microsoft admin center like any other app.

Roles are three axes, not one dropdown

Per source you set whether it feeds bookings in (never, one-time import, or continuously), whether bookings mirror out to it, and whether its busy time blocks availability — a shared clinic calendar and a personal one can play entirely different roles.

Fail-closed where it must

A calendar that only blocks availability fails closed on a read error — unknown busy time blocks bookings rather than permitting a collision. A source that feeds the ledger fails open. Getting this line wrong is the single most expensive mistake in calendar sync, so it’s a rule, not a mood.

Self-healing connections

A connection that errors is marked so, with the reason — and the next successful read clears it automatically. An outage that ends doesn’t need a human to come and un-tick anything.

Minimal event payloads

What lands in your calendar is the booking type’s name, the guest’s name and notes, and the times — no attendee invitations, no conference links, no reminder overrides. Your calendar clients stay in charge of their own noise.

Conflicts have a declared policy

When two-way editing lands, every source will already carry a conflict policy — hold for a human (the default, which also pauses reminders), ours wins, or theirs wins, with the losing version kept and shown. Declared before it’s needed, because retrofitting a conflict policy mid-incident is how data disappears.

Setup

How it connects

01

Connect Outlook Calendar

Sign in with Microsoft 365 and authorize calendar access.

02

Assign its role

Read, write, both, or busy-only — per calendar.

03

Book anywhere

Panel, AI, flow or website widget — every door sees the same subtracted availability.

Better together

What it composes with

The booking engine

Availability, buffers, notice windows and overlap-proof holds live in the booking system — the calendar feeds it truth.

Wiz books safely

The AI agent offers only slots that survive the busy-time subtraction — a database constraint, not a hope, prevents the double-book.

CRM diaries

Running Estesoft Stella? Its diary and your calendar both subtract from the same availability — see the Stella integration.

Security & guarantees

The boring guarantees

Minimal scopes

The connection asks for calendar access only — no mail, no contacts, no drive. Tokens are encrypted at rest and refreshed automatically.

Your events stay yours

Busy-time reads pull times, not contents — availability math needs to know that you’re busy, not why.

Disconnect is clean

Removing a connection stops sync immediately; mirrored events already in your calendar remain yours to keep or clear.

The honest fine print

Boundaries, stated

The ledger stays ours

Whatever calendars connect, the booking ledger remains ConnectWiz’s own table — calendars are mirrors and sources, never the master. That’s a design position, stated.

Reminders are ours, not the calendar’s

Booking reminders send from ConnectWiz — email, and SMS where configured — rather than as calendar notifications, so they reach guests who never opened a calendar invite. Stated, because two reminder systems firing is worse than one.

Outlook Calendar FAQ

Straight answers

More in the full FAQ, or ask us directly.

Bookings push out as events (and are removed on cancel), and busy time pulls in to subtract from availability. Each source carries its own role — read, write, both, or busy-only.

No — availability is computed after subtracting external busy time, and overlapping holds are rejected by a database constraint that no booking door can bypass.

No — this is calendar sync, live today via Microsoft 365. Outlook email as a support channel is a separate integration with its own honest status on the email channel page.

An event titled with the booking type, holding the guest’s name and any notes, at the booked time — created on booking, removed on cancel. No attendee invites are sent from your calendar, and nothing else in it is touched.

Connected honestly beats connected loudly.

Every integration here is described by what it really does — direction, ownership and limits included.