CalSync – Google Appointments Integration for monday.com

Adding Google Appointments Integration to Your Board View
Install the Integration
  1. Install the Google Appointments Integration app from http://monday.com/marketplace.

  2. Navigate to an existing monday board or create a new one.

  3. Click Add View.

  4. Search for and select the Google Appointments Integration app.


Authenticate with Google Calendar
  1. Click Connect Google Calendar.

  2. A popup opens for Google OAuth.

  3. Sign in and grant calendar access.

  4. The popup closes automatically when authentication completes.


Authenticate with monday.com
  1. Click Connect monday.com.

  2. A popup opens for monday.com OAuth.

  3. Authorize the app to access your boards.

  4. The popup closes automatically when authentication completes.


Select Your Google Calendar
  • After authentication, calendars load automatically.

  • Choose the calendar to sync from the dropdown.


Select Your monday.com Board
  • After authentication, your boards load automatically.

  • Choose the board to sync to from the dropdown.


Choose Setup Mode
Auto Setup (Recommended)

Automatically creates a group named “[Calendar Name] Appointments” (you can customize the name).
Creates 9 predefined columns:

  • Event Name (Text)

  • Cal: Start Time (Date)

  • Cal: End Time (Date)

  • Cal: Attendee Email (Text)

  • Cal: Attendee Name (Text)

  • Cal: Event Status (Status)

  • Cal: Description (Long Text)

  • Cal: Location (Text)

  • Cal: Calendar Link (Link)

  • External ID (Text)

If a group with the same name exists, you’ll be asked to rename or delete it.

Manual Mapping

Map calendar fields to existing board columns.

Required mappings:

  • Event Title

  • Start Date/Time

Optional mappings:

  • End Date/Time

  • Attendee Email

  • Attendee Name

  • Event Status

  • Description

  • Location

  • Event URL

  • External ID


Start the Sync
  • Click Start Sync.

  • The app performs an initial sync of existing calendar events.

  • New events are created as items in the selected group (Auto Setup) or board (Manual Mapping).

  • Real-time sync begins using Google Calendar webhooks.


Monitor Sync Status
Viewing Sync Status
  • Status indicator shows at the top of the app.

  • Green: Sync is active and running.

  • Red: Sync is stopped or inactive.

  • Displays last sync time and number of events processed.

Viewing Sync Logs
  • Scroll to the Sync Logs section.

  • View recent sync activities:

    • Event created/updated/deleted

    • Sync errors (if any)

    • Timestamp for each action

  • Logs update in real-time via WebSocket.


Managing Your Sync
Stopping the Sync
  • Click Stop Sync in the Sync Control section.

  • Confirmation: Status changes to Inactive.

  • Stopping sync pauses new event syncing. Existing items remain on the board.

Restarting the Sync
  • Click Start Sync again.

  • The app performs a fresh sync of all calendar events.

  • Real-time updates resume.


Changing Configuration
  • Disconnect and reconnect accounts if needed.

  • Change calendar or board using dropdowns.

  • Update column mappings in Manual Mapping mode.

  • Click Start Sync to apply changes.


Auto Setup Mode
Using Auto Setup
  • Select Auto Setup in the setup mode toggle.

Group Name:
Pre-filled with “[Calendar Name] Appointments.” You can customize it before starting sync.

Column Preview:
Shows the 9 columns that will be created. Column names are prefixed with “Cal:” to avoid conflicts.

Start Sync:

  • Click Start Sync.

  • The app creates the group and columns (if they don’t exist).

  • Existing columns with the same name and type are reused.

  • Events sync to the new group.

Group Already Exists Error:
If a group with the same name exists, you’ll see an error.

Solutions:

  • Rename the existing group in monday.com.

  • Delete the existing group (if not needed).

  • Use a different group name in the app.


Manual Mapping Mode
Using Manual Mapping

Required Fields:

  • Event Title → Text or Name column

  • Start Date/Time → Date or DateTime column

Optional Fields:

  • End Date/Time → Date or DateTime

  • Attendee Email → Text or Email

  • Attendee Name → Text or People

  • Event Status → Status or Text

  • Description → Long Text

  • Location → Text or Location

  • Event URL → Link

  • External ID → Text (recommended for tracking)

Validation:

  • Required fields must be mapped.

  • Column types should match field type.

  • Validation errors appear if mappings are invalid.

Start Sync:
Click Start Sync once mappings are valid. Events sync to the board using your mappings.


Troubleshooting
Authentication Issues

Popup Blocked:

  • Disable popup blockers for monday.com.

  • Allow popups in your browser settings.

OAuth Error:

  • Check that redirect URLs are configured in app settings.

  • Try disconnecting and reconnecting.

Already Authenticated:

  • If already authenticated, the popup closes automatically.

  • Check the status indicator to confirm authentication.


Sync Not Working

Check Sync Logs:
Review errors in Sync Logs.
Common issues: Column type mismatch, missing required fields, or API errors.

Verify Authentication:
Ensure both Google Calendar and monday.com show “Connected”.
Re-authenticate if needed.

Check Webhook Status:
Restart sync if updates stop.

Verify Column Mappings:
Ensure valid mappings and matching column types.


No Calendars or Boards Showing
  • Wait a few seconds after authentication.

  • Refresh the app view.

  • Verify you have access permissions.

  • Check backend connectivity if issues persist.


Events Not Syncing
  • Ensure sync status is Active.

  • Confirm correct calendar selection.

  • Verify calendar has events.

  • Ensure board permissions and access rights are correct.


Duplicate Items Created

External ID Column:
Map the External ID field to prevent duplicates.
The app uses this to identify existing items.

Manual Cleanup:
Delete duplicate items manually in monday.com.
Restart sync after cleanup.


Column Type Reference
Calendar Field Recommended Column Type Alternative Types
Event Title Text, Name –
Start Date/Time Date, DateTime –
End Date/Time Date, DateTime –
Attendee Email Text Email
Attendee Name Text People
Event Status Status Text
Description Long Text Text
Location Text Location
Event URL Link Text
External ID Text –
 
 

Disconnecting Accounts
Disconnect Google Calendar
  • Click Disconnect next to Google Calendar status.

  • Confirmation: Status changes to Not Connected.

  • Note: Disconnecting Google also disconnects monday.com and resets configuration.

Disconnect monday.com
  • Click Disconnect next to monday.com status.

  • Confirmation: Status changes to Not Connected.

  • Note: You can disconnect monday.com independently, but sync will not work without both accounts connected.


Support

For issues, feature requests, or questions: