#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

  1. Go to Project Settings → Integrations → Google Calendar
  2. Click Connect Google Calendar
  3. You'll be redirected to Google's authorization page
  4. Sign in and grant read-only access to your calendars
  5. 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.

  1. After connecting, click Add Watch
  2. Select a Calendar from your Google account
  3. 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     │             │
└──────────────┘                         └──────────────────┘                    └─────────────┘
  1. When a calendar event is created or updated, Google sends a push notification
  2. TheVibeCRM fetches the latest events from your calendar
  3. For each event, it extracts attendee emails (excluding your own)
  4. It searches for leads in your project whose email matches an attendee
  5. 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:

  1. Go to a watch in your integration settings
  2. Click Sync Now to process recent events immediately

#Troubleshooting

IssueSolution
Leads aren't movingVerify the lead's email matches a calendar event attendee exactly
"Integration disconnected"Re-authorize Google Calendar from the integrations page
Push notifications not arrivingEnsure your app is accessible via HTTPS
Watch expiredWatches auto-renew every 7 days; re-create if needed