Sync KiviCare appointments with Google Calendar to prevent double-booking and maintain unified schedules.
Overview
Google Calendar Integration provides two-way synchronization between KiviCare appointments and Google Calendar, ensuring doctors’ schedules stay in sync across platforms.
Key Benefits:
- Two-way synchronization between systems
- Real-time updates
- Mobile access on all devices
- Automatic time blocking to prevent double-booking
- Per-doctor Google account connection
- Automatic Google Calendar reminders
- Works worldwide
Prerequisites
Required
Google Cloud Account
- Google account (Gmail or Workspace)
- Access to Google Cloud Console
Google Calendar API
- Enabled in Google Cloud Console
OAuth 2.0 Credentials
- Client ID
- Client Secret
- Redirect URI configured
KiviCare Pro
- Pro plugin installed and activated
Complete Setup Guide
Part 1: Google Cloud Console Setup
Step 1: Create Google Cloud Project
- Open Google Cloud Console
- Click Select a Project
- Click New Project
- Enter project details:
Project Name: KiviCare Calendar Sync
Organization: Default
Location: Default
- Click Create
- Select the newly created project
Step 2: Enable Google Calendar API
- Go to APIs & Services → Library
- Search for Google Calendar API
- Click Enable
- Wait for activation
Step 3: Create OAuth Consent Screen
- Go to APIs & Services → OAuth consent screen
- Select External
- Click Create
App Information
App Name: KiviCare
User Support Email: your-email@example.com
Developer Contact Email: your-email@example.com
- Save and continue
Scopes
Add the following scopes:
https://www.googleapis.com/auth/calendar
https://www.googleapis.com/auth/calendar.events
- Save and continue
Test Users
Add doctor email addresses:
doctor1@example.com
doctor2@example.com
- Save and return to dashboard
Step 4: Create OAuth Credentials
- Go to APIs & Services → Credentials
- Click Create Credentials
- Select OAuth Client ID
- Application Type: Web Application
- Name:
KiviCare Web Client
- Leave JavaScript origins empty
- Leave Redirect URIs empty for now
- Click Create
Save:
Part 2: KiviCare Configuration
Step 1: Enable Google Calendar Integration
- Log in as WordPress Administrator
- Navigate to KiviCare → Settings → Pro Settings
- Enable Google Calendar Configuration
- Enter credentials:
Google Client ID: [Client ID]
Google Client Secret: [Client Secret]
App Name: KiviCare
Step 2: Copy Redirect URI
- Locate Google Cloud Console Redirection URL
- Copy the generated URL:
https://yoursite.com/wp-json/kivicare/v1/settings/google-calendar-integration/callback
Step 3: Add Redirect URI in Google Cloud
- Return to Google Cloud Console → Credentials
- Edit OAuth Client ID
- Add redirect URI
- Save changes
Step 4: Save Pro Settings
- Return to KiviCare Pro Settings
- Click Save
- Verify success message
Global configuration completed.
Part 3: Per-Doctor Connection
Step 1: Doctor Login
- Doctor logs into KiviCare
- Navigates to Settings → Google Calendar Integration
Step 2: Authorize Google Account
- Click Connect to Google Calendar
- Select Google account
- Review permissions
- Click Allow
Step 3: Select Calendar
Doctor selects calendar:
Primary Calendar
Work Schedule
Clinic Appointments
Personal
Click Save Selection
Step 4: Verify Connection
Status shows:
Connected
Calendar: Selected calendar
Last Sync: Recent
Connected Account: doctor@example.com
Doctor is now synced.
How Synchronization Works
Appointment Created in KiviCare
- Appointment created
- Google Calendar event added instantly
- Google reminders triggered if enabled
Appointment Updated
- Time or details modified
- Google Calendar event updated instantly
Appointment Cancelled
- Appointment removed
- Google Calendar event deleted
Blocking Time via Google Calendar
- Busy events block availability in KiviCare
- Prevents booking conflicts
- Google events do not create KiviCare appointments
Advanced Configuration
Patient Calendar Events
Optional setting:
Add event in patient calendar
When enabled:
- Patients receive calendar invites
- Google reminders apply
Event Template Customization
Default format:
Title: Patient: {patient_name}
Description:
Service: {service_name}
Doctor: {doctor_name}
Status: {appointment_status}
Location: {clinic_name}, {clinic_address}
Custom templates available if enabled.
Sync Frequency
- Real-time automatic sync
- Triggered by appointment create, update, cancel, or status change
Monitoring and Management
Connection Status
View per doctor:
Connected
Calendar name
Last sync time
Total synced events
Failed sync count
Sync Logs
If enabled:
- Success logs
- Failure reasons
- Event actions
Disconnect and Reconnect
Disconnecting:
- Stops future sync
- Existing events remain
Reconnect:
- Reauthorize Google account
- Sync resumes
Troubleshooting
OAuth Error
- Verify redirect URI matches exactly
- Check HTTPS
- Confirm test users added
- Clear browser cache
Events Not Syncing
- Verify doctor connection
- Confirm correct calendar selected
- Reauthorize if needed
- Ensure server supports outbound HTTPS
Duplicate Events
- Remove duplicates from Google Calendar
- Disconnect and reconnect integration
- Avoid disconnecting during active sync
Insufficient Permissions
- Reauthorize and allow all permissions
- Verify required scopes exist
- Workspace admins may need approval
Invalid Client Error
- Verify Client ID and Secret
- Ensure OAuth client exists
- Recreate credentials if needed
Best Practices
Setup
- Use HTTPS only
- Test with one doctor first
- Secure credentials
- Document setup internally
Daily Use
- Doctors should not edit synced events directly
- Monitor connection health
- Reauthorize if sync stops
Security and Privacy
- Avoid sensitive patient details in event titles
- Use generic naming if required
- Regenerate credentials if compromised
Related Features
Support Resources
Google Resources
- Google Calendar API Documentation
- OAuth 2.0 Guides
- Google Cloud Support
KiviCare Support
Training Guide
Doctor Training
- Connect Google account
- Verify sync
- Understand calendar events
- Reconnect when required
Staff Training
- Appointments sync automatically
- Doctors must stay connected
- Check doctor sync status if issues occur