← FRD Management
28. Calendly Integration
Pixally CRM

Calendly Integration

Calendly Integration

Functional Requirement Document

BA & Ideation: Dakshraj Jhala

Reviewed By: KG (Project Manager)

Updated Date: 22 September 2025
Status: Approved

Version 1.0

Functional Requirements Document (FRD) - Calendly Integration

1. Module Overview

  • Module Name: Calendly Integration
  • Purpose: Enable integration between the Pixally CRM and Calendly to allow agency users to connect their Calendly accounts and facilitate meeting scheduling with clients through Calendly functionality
  • Business Goal: Streamline the meeting scheduling process by leveraging Calendly's scheduling capabilities while maintaining project-based visibility and role-based access controls within the Pixally CRM ecosystem

2. User Roles & Permissions

Role

Description

Key Permissions

Agency Owner

System owner with full access

Connect/disconnect Calendly, schedule meetings if Calendly is integrated, and view all meetings across all projects of the agency

Agency Admin

System administrator

Connect/disconnect Calendly, schedule meetings if Calendly is integrated, and view all meetings across all projects of the agency

Project Manager

Team leader for specific projects

Users can connect or disconnect Calendly, schedule meetings only if Calendly is integrated, and view meetings only in projects they are members of — where they are the host, a participant, or when a client has scheduled a meeting with the Project Manager

Client

Client portal users

Clients can view all project meetings in which they are participants, hosts, or where an agency member has scheduled a meeting with them, and they can schedule meetings with agency users of the project who have integrated Calendly

3. User Flow

3.1 Connect Calendly Flow (Agency Users)

From Integration Module:

From Project Details or Client Management:

From Agency Dashboard

3.2 Calendly Disconnect Flow

3.3 Client Portal Meeting Scheduling Flow

3.4 Agency Portal Meeting Scheduling Flow

From Project Details → Meetings Tab AND

From Client Management → Client Profile → Meetings Tab —> Select Project & From Client Management → Client Profile → Overview Tab → Schedule Meeting Button:

4. Functional Logic

4.1 If Calendly is Not Integrated by anyone in the agency:

Agency members cannot schedule meetings with clients through Pixally CRM

Clients cannot schedule meetings with agency users (associated with the project) through the client portal

  • Agency > Client Management > Client profile > Meeting tab→Project should display “Connect Calendly” CTA. Refer - Click Here

4.2 Project Details Meeting Tab Visibility Rules

  • If no project team member has integrated Calendly, the Meetings tab will not appear in the project details > Overview of the Client Portal for the client associated with the project
  • The Meetings tab appears in the Client Portal > Project details only if at least one agency’s project member has successfully integrated Calendly, and the client can schedule meetings. Refer - Click Here
  • After successful Calendly integration, the agency user can schedule meetings. Refer - Click Here
  • Client users can only see meetings related to their associated project in which they are participants, or meetings they have scheduled
  • All (Past and upcoming) meetings are displayed in the meeting section (Agency/Client portal)
  • The user who is scheduling the meeting will be displayed as the organiser

4.3 Guest Auto-Population Logic (Client Scheduling)

  • When the client schedules a meeting, the system auto-populates all project team members as guests in Calendly
  • The client can remove any pre-populated guests and can add additional email addresses manually
  • Participant avatars in the meeting table are shown only for emails matching the project team members
  • Non-project-member guests whose emails do not match project members are hidden from the avatar display, but remain as event attendees

4.4 Integration Status Logic

  • When a client clicks the “+ New Meeting” CTA to schedule a project meeting, Non-Calendly–integrated agency users will not appear in the team member selection list in the client portal for the project

4.5 Meeting Mode Display Logic

  • Action buttons vary based on the meeting mode configured by the organizer during scheduling
  • Video Call: CTA - "Join Meeting" (video icon) →On click, opens meeting link (Google / Zoom) in new tab
  • Phone Call: CTA - "View Call Details" (phone icon) →On click, opens phone details pop-up. Refer - Click Here
  • In-Person: CTA - "In Person" (location icon) → On click, opens location details pop-up. Refer - Click Here
  • No Info: CTA - "Meeting Info" → On click, opens general info pop-up. Refer - Click Here

4.6 Calendly Meetings Display in Pixally Calendar

  • All scheduled meetings of the agency user automatically appear in the Tools Module → Calendar Sub Module
  • The calendar continuously syncs new and updated meetings from Calendly as long as the integration is active
  • Calendly Meetings display in the Pixally calendar
    • On clicking a meeting in the calendar, it will display Title, Date & Time, Meeting mode info (Google Meet/phone number/location), participants
  • If a user disconnects their Calendly account:
    • Existing meetings already synced remain visible in the calendar
    • No new meetings will be synced after disconnection

Calendly Filter Panel:

After syncing Calendly to Pixally, a "Calendly" section appears in Pixally's calendar filter panel

The filter shows a single checkbox labeled “Calendly Meetings”.

The user can select/deselect the checkbox, and the updates are reflected in the Pixally calendar.

Select/Deselect Behavior:

Checked (selected): Calendly meetings will appear in the Pixally calendar.

Unchecked (deselected): Calendly meetings will be hidden from the Pixally calendar.

4.7 Client Portal > Overview Tab (Side Menu - Meetings Count)

  • Meetings count shows the total number of upcoming meetings scheduled for that specific project
  • When there is no meeting scheduled, it will display “--”
  • Count updates automatically when meetings are added or removed from the project

4.8 Auto-Population Name & Email Logic

  • Client Scheduling from Client Portal: Client name and email are auto-populated into the Calendly meeting scheduling form
  • Agency Scheduling from Project Details: Selected client name and email are auto-filled in the Calendly meeting scheduling form after the agency user selects the client from the pop-up list of all the clients of the project
  • Agency Scheduling from Client Management > Client Profile: Current client's name and email are automatically pre-filled in the Calendly meeting scheduling form
  • Client Portal > Client Scheduling: All project team members are automatically added as guests when the client schedules a meeting, with the option to remove unwanted participants

4.9 Disconnect Functionality Impact

  • After Calendly is disconnected successfully, on click, the "+ New Meeting" button shows a pop-up: "To schedule a meeting, please integrate Calendly first," with the "Connect Calendly" button
  • User removed from the client-portal user selection lists for scheduling a meeting
  • All existing scheduled meetings remain visible in Pixally CRM, but any updates made outside in Calendly will not be synced in Pixally
  • The Calendly integration card shows the "Connect" button instead of the "Disconnect" button, and the user will be able to re-integrate the Calendly

5. Field Details & Validations

5.1 Calendly Not Integrated - Meetings Tab (Project details/Client Profile)

Field Name

Type

Validation Rules

Heading

Text

"To schedule a meeting, Integrate Calendly first."

Connect Calendly

Button

On click, it opens the Calendly integration pop-up

5.2 Calendly Integrated - (Project details/Client Profile) - No Meetings Yet

Field Name

Type

Validation Rules

Heading

Text

"No meetings yet"

New Meeting

Button

Project details - On click, open the list of all clients of the project. Refer - Click Here

Client Management - Client profile > Select project > On click, the “New Meeting” button opens the user's Calendly screen to schedule a meeting with the client. Refer - Click Here

5.3 Meeting List Table Fields (Project details/ Client Profile/ Client Portal)

Field Name

Type

Validation Rules

Sort

Dropdown

- Default: "Latest", Options: "Latest", "Oldest"

- "Latest" shows the nearest upcoming meetings first, while "Oldest" shows the farthest meetings first

Date & Time

DateTime

Display in viewer's local timezone, format: "Aug 2, 2024 08:30 AM - 9:30 AM"

Meeting Title

Text

From the Calendly event type

Meeting Description

Text

Below title, truncated with ellipses if it exceeds the width

Participants

Avatar

Display the profile of the organizer and meeting participants

Action

Button

Refer - Click Here

5.4 Agency Dashboard - Calendar Widget

Field Name

Type

Validation Rules

Date & Time

DateTime

Display the recent upcoming meeting first in the viewer's local timezone, format: "Aug 2, 2024 08:30 AM - 9:30 AM"

Meeting Title

Text

From the Calendly event type

Phone Call Details pop-up

Field Name

Type

Validation Rules

Pop-Up Title

Text

"Phone Call Details"

Title

Text

From the Calendly event

Date

Date

Display format: "Aug 2, 2024"

Time

Time

Display format: "8:30 AM - 9:30 AM"

Dial

Number

Display the phone number of the invitee

Participants Section

Avatar List

The participants section displays all meeting attendees with their names and profile pictures. The meeting organizer is highlighted with an "Organizer" label

Close

Button

On click, it closes the pop-up

In-Person Meeting Details pop-up

Field Name

Type

Validation Rules

Pop-Up Title

Text

"In-Person Meeting Details"

Title

Text

From the Calendly event

Date

Date

Display format: "Aug 2, 2024"

Time

Time

Display format: "8:30 AM - 9:30 AM"

Location

Text

Full address from Calendly settings

Participants Section

Avatar List

The participants section displays all meeting attendees with their names and profile pictures. The meeting organizer is highlighted with an "Organizer" label

Show on Google Maps Button

Button

Opens the meeting location in Google Maps

Close Button

Button

Closes the Pop-Up

General Meeting Info Pop-Up

Field Name

Type

Validation Rules

Pop-up Title

Text

"Meeting Info"

Date Field

Date

Display format: "Aug 2, 2024"

Time Field

Time

Display format: "8:30 AM - 9:30 AM"

Participants Section

Avatar List

All participants with names

Close Button

Button

Closes pop-up

6. Success Message Handling

Validation Scenario

Success Message

Calendly connected successfully

"Calendly account has been connected successfully."

Calendly disconnected successfully

"Calendly account has been disconnected successfully."

Meeting scheduled successfully

"Meeting has been scheduled successfully."

7. Error Message Handling

Field

Validation Scenario

Error Message

Calendly Connection

OAuth authorization failed

"Failed to connect to Calendly. Please try again."

General

Calendly service unavailable

"Something went wrong."

8. Edge Cases

Scenario

Expected Behavior

Meeting scheduled for the removed project member

The meeting remains visible in the project details

Client tries to schedule with a Calendly disconnected user

User not available in the team member selection pop-up

Multiple users schedule the same time slot

Calendly handles conflicts

Project member removed after scheduling meetings

Meetings remain in project view

A large number of participants added

Truncate participant display with "+X more" indicator in the table view

Network interruption during scheduling

Show "Something went wrong" error message

9. Test Cases

  • Link:

10. Acceptance Criteria

  • No Integration: Only Pixally events shown; “Connect Calendly” button displayed
  • Calendly Connection: Success message confirms integration
  • Calendly Events in Pixally: All scheduled meetings auto-sync into the Pixally calendar and meetings tab
  • Meetings Tab in Client Portal: The Meetings tab will not appear in the client portal if no agency user of that project has Calendly integrated
  • Client Scheduling: Clients can schedule a meeting only with project members who have Calendly connected
  • Agency Scheduling: Agency users with Calendly connected can schedule via the Project or Client profile meeting tab
  • Guest Handling: Project members auto-populated; clients can remove/add guests; non-project members hidden in the participants column
  • Meeting Display: Meetings show title, date/time, participants, description, and mode-based action buttons
  • Filtering: Pixally calendar shows Calendly Meetings checkbox; dashboard widget shows next meeting
  • Disconnection: On disconnect, no new meetings can be scheduled, and the Connect button is shown in Tools > Integration > Calendly; existing meetings remain visible in Pixally

11. Dependencies

Module/System

Dependency Type

Impact if Unavailable

OAuth Service

Authentication dependency

Cannot connect Calendly accounts

Calendly API

External API dependency

No scheduling functionality, sync failures

Project Management System

Data dependency

Cannot determine project associations

User Management System

Authentication dependency

Cannot verify user permissions

Calendar Module

Feature dependency

Meetings not visible in calendar view

Client Portal

Platform dependency

Clients cannot access scheduling features

Time Zone Service

Utility dependency

Incorrect time display across zones

12. References

Linked tickets (0)

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

—