17. Google Calendar Integration
Pixally CRMGoogle Calendar Integration
Google Calendar Integration
Functional Requirement Document
BA & Ideation: Dakshraj Jhala
Reviewed By: KG (Project Manager)
Updated Date: 19 September 2025
Status: Approved
Version 1.0
Google Calendar Integration
Functional Requirements Document (FRD) - Google Calendar Integration
1. Module Overview
- Module Name: Google Calendar Integration
- Purpose: The Google Calendar Integration module enables seamless two-way synchronization between Pixally CRM calendar events and Google Calendar. This provides users with a unified calendar management experience across both platforms, ensuring that schedules remain consistent, up-to-date, and accessible
- Business Goal: Streamline calendar management for agencies by eliminating the need to manually update events across multiple calendar systems, improving productivity, and reducing scheduling conflicts
2. User Roles & Permissions
- Link - Roles and permissions - draft
- Note: The user can only see their connected calendar, not others.
3. User Flow
Google Calendar Sync/Connection Flow:
Calendar Management Flow:
Disconnect Flow:
- Path 1 - Integration Module > Google Calendar > Disconnect Button
- Path 2 - Calendar Module > Filter > Google Calendar Setting > Disconnect button
- Path 3 - Integration Module > Google Calendar > Settings button > Disconnect button
4. Functional Logic
4.1 If Calendar is Not Synced:
Users will not see their Google Calendar events inside Pixally (only Pixally-origin events will be visible).
Pixally events will not sync to Google Calendar
If Calendar is not integrated, it will display the Connect button in the Dashboard and Google Calendar integration.
4.2 Calendar Creation Logic:
- For the first-time Google connection flow, refer to - Click Here
- After a successful sync, the calendar will be updated based on the toggle selection:
- Sync Pixally to Google
- Sync Google to Pixally
- Both toggles ON/OFF
4.3 Event Synchronization Logic Two-Way Sync:
Pixally-Origin Events:
- All existing and new events created in Pixally will be automatically synced to Google
- A dedicated new calendar is automatically created under “My Calendars” in Google Calendar
- Naming convention: “Pixally Calendar – Agency Name” (e.g., “Pixally Calendar – Emma Taylor”)
- This calendar exclusively holds Pixally events synced to Google.
- Full CRUD supported: Create / Edit / Update / Delete events in Pixally → reflected in Google Calendar
- Exception: Edits/deletes in Google Calendar for Pixally-origin events → do not reflect in Pixally (changes apply only in Google)
Google-origin events:
- All existing and newly created events in Google will be displayed in Pixally as read-only
- Edits/deletes in Google Calendar for Google-origin events will be reflected in Pixally
4.4 Calendar Preferences - Toggle Logic:
-
Toggle 1 (Pixally to Google Sync)
- When Toggle is ON:
- All Pixally events automatically sync to Google Calendar
- Edits to Pixally events reflect in Google Calendar
- Deletions of Pixally events remove them from Google Calendar
- When Toggle is ON:
-
- When Toggle is OFF:
- Existing Pixally-origin events will remain in Google Calendar
- Future Pixally events will not sync to Google Calendar
- The dedicated "Pixally Calendar - Agency Name" remains in Google
- Edits/deletions to existing Pixally events will not reflect in Google Calendar
- When Toggle is OFF:
-
Toggle 2 (Google to Pixally Sync)
- When Toggle is ON:
- Google Calendar events appear in Pixally calendar view as read-only
- Calendar selection checkboxes are visible and functional
- The Google Calendar filter section appears in Pixally's filter panel
- When Toggle is ON:
-
- When Toggle is OFF:
- All Google-origin events disappear from the Pixally calendar view
- Calendar selection checkboxes are hidden
- The Google Calendar section with the setting icon in the filter panel remains as it is
- No Google events will be fetched or displayed in Pixally
- When Toggle is OFF:
-
Both Toggles OFF Scenario:
- Google Calendar integration remains connected (authentication maintained)
- No bidirectional sync occurs
- For Google to Pixally. Refer - Click Here
- For Pixally to Google. Refer - Click Here
4.5 Pixally Events Display in Google Calendar:
-
**For Events
**-
It will display Project Name, Event Name, Event Date, Event Time (if set by the agency), and a link to the Pixally project.
-
Clicking the link in Google Calendar redirects to the Pixally project details page.
-
-
**For Meetings
**- Format: Meeting Title, Meeting Date & Time, Participants, and Meeting Mode (e.g., In person).
4.6 Google Calendar Events in Pixally Calendar:
- For Events
- Event Title, Date & Time, Meeting mode (i.e, Video Call), Location and Description (if applicable), View On Google button (On click redirects to the Google Calendar)
- For Meetings
- Title, Date & Time, Meeting mode info (phone number/location/), participants
4.7 Google To Pixally Successful Sync:
- After syncing Google Calendar to Pixally, a "Google Calendar" section appears in Pixally's filter panel
- The filter shows all Google Calendars with checkboxes (Display only the calendar selected in calendar preferences)
- The user can select/deselect from the available Google calendars, and the updates are reflected in the Pixally calendar
Sync Behaviour:
- In Pixally, users need to refresh the page to sync events (no automatic sync)
- Pixally → Google sync happens instantly, while Google → Pixally sync requires manual refresh
4.8 Disconnect Google Calendar
- After Successful Disconnect: Impact On Google Calendar:
- The dedicated "Pixally Calendar - Agency Name" will be removed from the user's Google Calendar
- All Pixally-origin events synced to Google Calendar are permanently removed
- Impact On Pixally Calendar:
- Remove all Google-origin events from Pixally calendar view
- Clear all Google Calendar filter options from Pixally's filter panel
- "Google Calendar" section in filter panel disappears
- The Google Calendar integration card shows the "Connect" button instead of the "Disconnect" button, and the user will be able to re-integrate the Google Calendar
Post-Disconnect State:
- The user can reconnect at any time using the standard connection flow
- Upon reconnection, a new dedicated calendar will be created in Google
- No previous sync history or preferences are retained
5. Field Details & Validations
Calendar Preferences (If the calendar is integrated)
Field Name
Type
Validation Rules
Disconnect
Button
On click, it opens the confirmation pop-up to disconnect from Google Calendar
Sync Pixally Calendar Events
Toggle
Default: ON
Display Google Calendar Events
Toggle
Default: ON
Calendar Selection
Multi-checkbox
Display all the "My calendars" from Google Calendar for the connected Gmail account, only if the Display Google Calendar Events toggle is on
Close
Button
First Time (Initial Connection): Shows disconnect confirmation popup ("Are you sure you want to disconnect your integrated calendar?") with Cancel and Confirm options. Subsequent Times (Settings Management): Simply closes the pop-up without any confirmation
Save Preferences
Button
On click, it will apply the selected settings and start the sync process according to the toggle states
5. Success Message Handling
Validation Scenario
Success Message
Google Calendar connected successfully
"Google Calendar has been connected successfully."
Google Calendar disconnected
"Google Calendar has been disconnected successfully."
Preferences Changed successfully
"Preferences saved successfully"
6. Error Message Handling
Field
Validation Scenario
Error Message
Calendar Selection
No calendars selected, and Display Google Calendar Events Toggle is On
"Please select at least one calendar to sync."
General
Network/Server error
"Something went wrong."
8. Edge Cases
Scenario
Expected Behavior
Multiple Google accounts are available during connection
The user must select which Google account to connect; only one account can be connected at a time
Permissions expire, or access is revoked
The system displays an error message and stops synchronization; the user must reconnect
User reconnects after disconnection
A new "Pixally Calendar - Agency Name" calendar is created in Google Calendar
Disconnect and immediately reconnect
The previous dedicated calendar is deleted; a new calendar is created with the same naming convention
Duplicate event names across platforms
No conflicts in display
The user changes the agency name after the connection
The calendar name in Google remains unchanged until reconnection
9. Test Cases
- Link:
10. Acceptance Criteria
- No Sync: Only Pixally events shown; “Connect” button displayed.
- Calendar Creation: First-time sync creates calendar; toggles control Pixally→Google, Google→Pixally, or both.
- Pixally Events: Sync to a dedicated Google calendar with full CRUD from Pixally; Google edits don’t sync back.
- Google Events: Shown in Pixally as read-only; edits/deletes in Google reflect in Pixally.
- Toggle Logic: ON = events sync per direction; OFF = stops future sync but keeps existing; both OFF = no sync.
- Pixally in Google: Events show project/event details + link; meetings show title, time, participants, and mode.
- Google in Pixally: Events/meetings show details, participants, and a “View on Google” option.
- Sync Behaviour: Pixally→Google instant; Google→Pixally requires manual refresh.
- Disconnect: Removes Pixally calendar from Google, clears Google events/filters in Pixally, resets to “Connect.”
11. Dependencies
Module/System
Dependency Type
Impact if Unavailable
Google Calendar API
External service
Cannot establish a connection or sync events
Pixally Calendar Module
Internal dependency
Cannot display unified calendar view
User Authentication System
Internal dependency
Cannot associate integration with a user account
Project Management Module
Data dependency
Cannot create event links to projects
Agency/User Profile System
Data dependency
Cannot generate a proper calendar naming
12. References
- Figma Link: Integration, Calendar Preference, Pixally Calendar Filter
No tickets linked — generate test cases directly from this FRD instead.