← FRD Management
17. Google Calendar Integration
Pixally CRM

Google 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

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 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
  • 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 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
  • 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

Linked tickets (0)

No tickets linked — generate test cases directly from this FRD instead.

—