Calendar sync
Connect each professional’s Google or Outlook calendar: bookings appear on it, and their busy times block the form.
What sync does
- The professional’s bookings appear on their calendar, and move or disappear when the booking changes.
- Busy times on that calendar block the form, so nobody books over a personal appointment.
- The client is added to the event as a guest, so Google or Outlook also sends them an invitation.
There are two parts: you register Nevua once with Google and/or Microsoft, then each professional connects their own calendar.

Registering Nevua with Google and Microsoft
Under Nevua → Settings → Calendar sync, Nevua shows the Redirect URI (with a copy button) and the steps for each.
- Google: in Google Cloud, create an OAuth client ID of the web application type, with Nevua’s redirect URI, and the scopes
…/auth/calendar.eventsand…/auth/calendar.readonly. Paste the client ID and secret into Nevua. While the app is in testing mode at Google, only the test users you list can connect. - Microsoft (Outlook): in the Azure portal, register an app with Nevua’s redirect URI, create a client secret and grant the delegated permissions
Calendars.ReadWriteandoffline_access. In Nevua, paste the application ID, the secret and the Tenant ID (keepcommonfor any account).
Each professional connects
Under Nevua → Professionals → Edit, in the sync section:
- Connect calendar: you sign in to the professional’s Google or Microsoft account in a popup; or
- Send Link to Professional: Nevua emails them a link to connect it themselves. The link works for 48 hours and needs no WordPress login.
Once connected, it shows the last sync. Sync now pushes their upcoming bookings again; Disconnect stops the sync.
Technical details
- Busy times are read and kept for 5 minutes: a new event on the calendar shows on the form within minutes.
- Calendar credentials are stored encrypted with your site’s secret keys (
wp-config.php). Changing those keys means connecting the calendars again. - A Google Meet booking uses this same connection.