Troubleshooting
Common issues and how to resolve them
This guide covers common issues and their solutions.
Authentication Issues
Google OAuth Token Expired
Symptoms:
- "Invalid credentials" error
- Events stop syncing from Google Calendar
- Dashboard shows authentication error
- Token health indicator shows "critical" status
Solution:
Check Token Health
Go to Settings and check the Google connection status. The dashboard shows a token health indicator:
- Healthy (green): Token is valid (0-4 days old)
- Warning (amber): Token expires soon (5-6 days old)
- Critical (red): Token may have expired (7+ days old)
Re-authenticate
Sign out and sign back in with Google to refresh your tokens. The dashboard will warn you 2 days before expiration.
Publish OAuth App (Recommended)
To avoid weekly re-authentication, publish your Google OAuth app. Publishing is free and doesn't require Google review for personal use.
7-Day Token Expiration
Google OAuth apps in "Testing" mode have tokens that expire after 7 days. The dashboard will show warnings before expiration so you can re-authenticate proactively.
Notion Integration Disconnected
Symptoms:
- "Unauthorized" errors for Notion
- Events stop syncing to/from Notion
- Dashboard shows Notion connection error
Solution:
- Go to Settings
- Click "Reconnect Notion"
- Ensure the integration is still connected to your database
If the integration was deleted:
- Create a new integration at notion.so/my-integrations
- Connect it to your database
- Update credentials in Settings
Sync Issues
Events Not Syncing
Symptoms:
- New events don't appear in the other system
- Changes aren't propagating
Diagnostic Steps:
Check Dashboard
Look for error messages in the sync logs
Verify Connections
Ensure both Google and Notion show as connected
Check Field Mappings
Verify all required fields are mapped
Test Manually
Use the "Test Sync" button in Settings
Duplicate Events
Symptoms:
- Same event appears multiple times
- Events keep getting recreated
Causes:
gcal_event_idproperty was deleted or modified- Database was duplicated without clearing sync data
Solution:
- Identify duplicate events
- Delete duplicates from both systems
- Ensure
gcal_event_idproperty exists and contains values - If property was deleted, reset sync in Settings > Danger Zone
Wrong Times
Symptoms:
- Events appear at wrong times
- All-day events showing as timed events
Causes:
- Notion date property doesn't include time
- Timezone mismatch
Solution:
- Open your Notion database
- Click on the Date property settings
- Enable "Include time"
- Verify timezone settings in both Google Calendar and Notion
Connection Issues
Redis Connection Failed
Symptoms:
- App fails to load
- "Could not connect to Redis" error
Solution:
- Check Vercel project's Storage tab for Redis status
- Verify environment variables are set in project settings:
KV_REST_API_URLshould start withhttps://KV_REST_API_TOKENshould be present
- If not connected, add Upstash via Vercel Marketplace
- Redeploy the app if variables were changed
Webhook Registration Failed
Symptoms:
- Google Calendar changes not detected
- "Webhook setup failed" error
Causes:
- Domain not verified with Google
- Firewall blocking webhook calls
Solution:
- Ensure your Vercel domain is publicly accessible
- Check Google Cloud Console for webhook errors
- Try triggering webhook renewal from Settings
Database Issues
"Database not found" Error
Symptoms:
- Setup wizard can't find database
- Sync fails with database error
Solution:
- Verify database ID is correct
- Ensure integration is connected to the database:
- Open database in Notion
- Click ... menu > Connections
- Add your integration if missing
- Check integration has read/write permissions
Properties Missing
Symptoms:
- Field mapping dropdown is empty
- Required properties not available
Solution:
- Open database in Notion
- Create missing properties:
- Title property (required)
- Date property with time (required)
- Refresh Settings page
Performance Issues
Slow Sync
Symptoms:
- Events take a long time to appear
- Dashboard shows sync queue backlog
Causes:
- Large number of events
- Rate limiting from APIs
Solution:
- Check dashboard for rate limit warnings
- Reduce number of events if possible
- Events sync in batches - give it time to catch up
High Error Rate
Symptoms:
- Dashboard shows many failed syncs
- Specific events repeatedly fail
Solution:
- Check logs for specific error messages
- Identify problematic events (unusual characters, very long text)
- Fix or delete problematic events
- Reset sync if needed
Extended Field Issues
Changes in Notion Not Syncing to Google Calendar
Symptoms:
- You edit attendees, organizer, or other extended fields in Notion
- Changes don't appear in Google Calendar
Explanation:
Extended fields (attendees, organizer, conference link, recurrence, color, visibility) sync one-way only: from Google Calendar to Notion. This is by design because:
- Attendees require sending invitations (Google handles this)
- Recurrence rules are complex and managed by Google Calendar
- Conference links are generated by video providers
Solution:
Edit these fields directly in Google Calendar. The changes will sync to Notion automatically.
Extended Fields Empty
Symptoms:
- New extended fields show empty in Notion
- Only some events have the data
Causes:
- Field was recently enabled (only affects new events)
- Backfill hasn't been run
Solution:
- Go to Settings in your dashboard
- Find the Backfill section
- Select the fields to populate
- Click Start Backfill
- Wait for completion (may take several minutes)
Backfill Stuck or Failed
Symptoms:
- Backfill progress shows "failed"
- Progress stuck at same percentage
Solution:
- Check dashboard logs for error messages
- If Redis connection failed, verify Upstash is configured
- Try starting a new backfill (previous one will be replaced)
- If persistent, contact support
Reset and Recovery
Reset Sync State
If sync gets into a bad state:
This will clear all sync data. Events won't be deleted but links between systems will be lost.
- Go to Settings > Danger Zone
- Click "Reset Sync"
- Confirm the action
- Re-run setup wizard
Clear All Data
For a complete fresh start:
- Go to Settings > Danger Zone
- Click "Clear All Data"
- This removes:
- Stored credentials
- Field mappings
- Sync state
- You'll need to complete setup again
Getting Help
If you can't resolve an issue:
When reporting issues, include:
- Error messages from the dashboard
- Steps to reproduce the problem
- Your configuration (without secrets)