Back to Guides
Online appointments

Online appointments — connecting Microsoft Teams

OAuth-connect an M365 work account so every virtual booking creates a real Teams meeting with a lobby.

Microsoft Teams meetings are created via Microsoft Graph under the connected user's calendar. Once your platform admin has the Azure AD app registration set up (TEAMS_CLIENT_ID + TEAMS_CLIENT_SECRET), the connect flow is one click.

Connect

  1. Settings → Booking → Online Appointments.
  2. Pick Microsoft Teams — auto-create a Teams meeting from the provider dropdown.
  3. Click Connect Microsoft Account.
  4. Sign in with your work or school M365 account in the popup.
  5. Approve:
    • Read and create your online meetings — used to call me/onlineMeetings.
    • Read your profile — fetches your email address for display.
    • Maintain access to data you have given it access to — issues a refresh token so we don't have to ask you to sign in again every hour.
  6. Popup closes. Settings shows "Connected — [email protected]".

Works with which accounts?

M365 Business Basic / Standard / PremiumM365 Apps for BusinessOffice 365 / Microsoft 365 E1 / E3 / E5Education plans

Personal Microsoft accounts (outlook.com, hotmail.com, live.com) — Microsoft doesn't expose me/onlineMeetings to consumer accounts. Authentication will succeed but meeting creation returns 403 every time. Use Zoom or Google Meet on a personal plan.

What gets created per booking

A scheduled online meeting with:

  • Subject: "Online appointment with {your salon name}"
  • Start / end times in ISO 8601 with your salon's timezone offset
  • Lobby enabled — customers wait until you admit them. This is the default Teams behaviour for external attendees.
  • No per-meeting passcode — passcodes require Teams admin policy in your M365 tenant; if you need them, ask your IT to enable the policy and reconnect.

The joinWebUrl is what goes into the booking, emails, SMS, and .ics.

Disconnecting

Click Disconnect — local tokens are cleared. Existing meeting URLs continue to work because Teams hosts them; you're just stopping Trimsy from creating new ones.

Troubleshooting

  • "Missing tokens — make sure offline_access scope is granted" — your IT admin restricted user consent and didn't grant the offline_access permission. Ask them to grant admin consent for Trimsy in Azure AD → Enterprise applications.
  • Meeting create returns 403 — most likely you connected a personal Microsoft account. Disconnect and reconnect with a work/school account.
  • 403 on a work account — your M365 plan doesn't include Teams (rare on Business plans, common on the very-cheapest legacy SKUs). Ask your IT.