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.

The Calendar sync tab of Settings

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.events and …/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.ReadWrite and offline_access. In Nevua, paste the application ID, the secret and the Tenant ID (keep common for 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.