#Google Calendar Integration
The Google Calendar integration monitors your calendar events and automatically moves leads through your pipeline based on scheduled and completed calls. It supports two triggers:
- Call Scheduled: When a future event is detected with a lead's email as attendee, move them to a chosen stage
- Call Done: When a past event is detected with a lead's email as attendee, move them to a chosen stage
This integration is read-only — it will never create, modify, or delete events on your calendar.
#Prerequisites
- →A Google account with Google Calendar
- →Leads must already exist in your pipeline with matching email addresses (the integration matches by attendee email)
- →Your TheVibeCRM instance must be accessible via HTTPS (required by Google push notifications)
#Step-by-step Setup
#1. Connect Google Calendar
- Go to Project Settings → Integrations → Google Calendar
- Click Connect Google Calendar
- You'll be redirected to Google's authorization page
- Sign in and grant read-only access to your calendars
- You'll be redirected back to TheVibeCRM with the connection confirmed
Note
Only calendar.readonly and calendar.events.readonly are requested. TheVibeCRM cannot modify your calendar in any way.
#2. Create a Watch
A watch monitors a specific calendar for events and triggers pipeline stage changes.
- After connecting, click Add Watch
- Select a Calendar from your Google account
- Choose a Trigger Type:
- Call Scheduled — triggers when a future event is found with an attendee matching a lead's email
- Call Done — triggers when a past event is found with an attendee matching a lead's email
4. Select a Target Pipeline Stage — matched leads will be moved to this stage.
5. Save the watch.
You can create multiple watches for different calendars or triggers. For example:
- Watch 1: "Sales Calendar" + "Call Scheduled" → move to "Demo Scheduled" stage
- Watch 2: "Sales Calendar" + "Call Done" → move to "Demo Completed" stage
#How Lead Matching Works
flow — text
┌──────────────┐ Push notification ┌──────────────────┐ Email match ┌─────────────┐
│ Google │ ─────────────────────▶ │ TheVibeCRM │ ────────────────▶ │ Lead moved │
│ Calendar │ Event changed │ Webhook API │ Attendee email │ to stage │
│ │ │ │ = Lead email │ │
└──────────────┘ └──────────────────┘ └─────────────┘- When a calendar event is created or updated, Google sends a push notification
- TheVibeCRM fetches the latest events from your calendar
- For each event, it extracts attendee emails (excluding your own)
- It searches for leads in your project whose email matches an attendee
- Based on the trigger type and whether the event is in the future or past, the lead is moved
Important notes:
- Leads must already exist in your pipeline before the event is created
- Cancelled events are automatically skipped
- Each lead is only moved once per event per watch (no duplicates)
- Watches automatically renew every 7 days
#Manual Sync
If you don't want to wait for push notifications:
- Go to a watch in your integration settings
- Click Sync Now to process recent events immediately
#Troubleshooting
| Issue | Solution |
|---|---|
| Leads aren't moving | Verify the lead's email matches a calendar event attendee exactly |
| "Integration disconnected" | Re-authorize Google Calendar from the integrations page |
| Push notifications not arriving | Ensure your app is accessible via HTTPS |
| Watch expired | Watches auto-renew every 7 days; re-create if needed |