Install the Google Appointments Integration app from http://monday.com/marketplace.
Navigate to an existing monday board or create a new one.
Click Add View.
Search for and select the Google Appointments Integration app.
Click Connect Google Calendar.
A popup opens for Google OAuth.
Sign in and grant calendar access.
The popup closes automatically when authentication completes.
Click Connect monday.com.
A popup opens for monday.com OAuth.
Authorize the app to access your boards.
The popup closes automatically when authentication completes.
After authentication, calendars load automatically.
Choose the calendar to sync from the dropdown.
After authentication, your boards load automatically.
Choose the board to sync to from the dropdown.
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.
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
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.
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.
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.
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.
Click Start Sync again.
The app performs a fresh sync of all calendar events.
Real-time updates resume.
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.
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.
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.
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.
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.
Wait a few seconds after authentication.
Refresh the app view.
Verify you have access permissions.
Check backend connectivity if issues persist.
Ensure sync status is Active.
Confirm correct calendar selection.
Verify calendar has events.
Ensure board permissions and access rights are correct.
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.
| Calendar Field | Recommended Column Type | Alternative Types |
|---|---|---|
| Event Title | Text, Name | - |
| Start Date/Time | Date, DateTime | - |
| End Date/Time | Date, DateTime | - |
| Attendee Email | Text | |
| Attendee Name | Text | People |
| Event Status | Status | Text |
| Description | Long Text | Text |
| Location | Text | Location |
| Event URL | Link | Text |
| External ID | Text | - |
Click Disconnect next to Google Calendar status.
Confirmation: Status changes to Not Connected.
Note: Disconnecting Google also disconnects monday.com and resets configuration.
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.
For issues, feature requests, or questions:
Documentation: https://satisfactiondrivers.com/calsync-docs