Skip to content
English
  • There are no suggestions because the search field is empty.

Speaker Availability with O365 and GCal Integration

Overview

Overview

This release introduces Speaker Availability, enabling users to evaluate speaker availability directly within agenda planning and speaker assignment workflows.

The enhancement combines internal scheduling data, personal blocks, Microsoft O365 calendar availability, and Google Calendar availability to provide a unified availability status for speakers. Availability indicators are surfaced throughout the application, helping users identify scheduling conflicts before assigning speakers to agenda topics.

The release also introduces administrative capabilities for configuring and managing O365 Calendar Availability integrations through CRM Integrations, along with enhanced diagnostics and troubleshooting tools.


What's New
  • Real-time speaker availability evaluation during agenda planning
  • Availability indicators in Suggested Speakers
  • Availability indicators in Search Speakers
  • Speaker hover popovers displaying availability information
  • Agenda modal enhancements supporting availability visibility
  • Internal scheduling conflict evaluation
  • Personal block conflict evaluation
  • Microsoft O365 Calendar Availability integration
  • Google Calendar Availability integration
  • Unified availability status across all supported availability sources
  • Syncing indicators while availability is being calculated or retrieved
  • Automatic availability recalculation when agenda or speaker assignments change
  • Speaker availability recalculation after speaker removal
  • Speaker availability recalculation after visit cancellation or deletion
  • O365 Calendar Availability administration through Integrations Settings
  • Speaker Availability diagnostic and health-check capabilities
  • Duplicate O365 connector detection and validation

Functional Summary

Speaker Availability evaluates speaker commitments across multiple availability sources and presents a single availability status to users.

The system automatically combines:

  • Internal scheduling commitments
  • Agenda assignments
  • Personal blocks
  • O365 calendar events
  • Google calendar events

Availability is evaluated against the proposed agenda time and displayed throughout the speaker assignment workflow.

Users do not need to determine which system generated the availability result. The application provides a single unified status that reflects the speaker’s overall availability.


Key Capabilities
  • Unified speaker availability evaluation
  • Internal scheduling conflict detection
  • Personal block conflict detection
  • O365 calendar free/busy integration
  • Google Calendar free/busy integration
  • Availability indicators across speaker selection workflows
  • Hover popover availability information
  • Agenda planning availability support
  • Automatic recalculation of availability when scheduling data changes
  • Internal-only fallback mode when external integrations are unavailable
  • O365 integration administration
  • Availability diagnostics and troubleshooting tools
  • Audit logging of administrative integration changes

 

Speaker Availability – Overview

 
 

Area

 

What this means for users

 

Suggested Speakers

Users can see speaker availability before assignment

Search Speakers

Availability indicators help identify available speakers

Assigned Speakers

Availability remains visible after assignment

Agenda Planning

Availability is evaluated against agenda timing

Hover Popovers

Availability information is available without opening speaker details

Internal Scheduling

Existing visit and agenda commitments impact availability

Personal Blocks

Personal blocks prevent speakers from appearing available

O365 Integration

External Microsoft 365 calendar conflicts are evaluated

Google Integration

External Google Calendar conflicts are evaluated

Syncing State

Users can see when availability is still being calculated

Internal-Only Mode

Availability continues to function when external integrations are unavailable

 
 
 

Configuration & Administration

O365 Calendar Availability Administration

Administrators can configure Microsoft 365 integrations used by Speaker Availability.

Navigation: Admin → CRM Integrations (Integrations Configurations)

A new Integration Type is available:

O365 /Google Calendar Availability

Administrators can:

  • Create integrations
  • Edit integrations
  • Activate integrations
  • Deactivate integrations
  • Rotate client secrets
  • Delete integrations
  • Validate connector configuration

O365 Connector Configuration

Supported configuration fields include:

  • Name
  • Entra Tenant ID
  • Client ID
  • Client Secret
  • Authority URL
  • Service UPN
  • Active Status
  • Cache TTL

 

Google Connector Configuration

Supported configuration fields include:

  • Name
  • Workspace customer ID *
  • Service account email *
  • Service account JSON key *
  • Service UPN (impersonated mailbox) *
  • Workspace domain (e.g. ACME Laboratories ) *
  • GCP project id (optional)
  • Cache TTL (seconds, 60–3600)

Active Connector Rules

Only one active connector is permitted per tenant.

Supported scenarios:

  

Scenario

Supported

 

One Active Connector

Yes

Multiple Inactive Connectors

Yes

Active + Inactive Connectors

Yes

Multiple Active Connectors

No

 
 
 

Availability Diagnostics

Navigation:

Admin → Speaker Availability Test

The diagnostic tool allows administrators to:

  • Validate connector configuration
  • Verify connectivity
  • Confirm onboarding
  • Troubleshoot availability issues

User Roles / Permissions / Prerequisites

Speaker Availability is available to users with access to agenda planning and speaker assignment workflows.

 
 

Access Level

 

What Users Can Do

 

Briefing Manager

View availability and assign speakers

Admin

Configure integrations and manage availability settings

Standard User

View availability where permitted

 
 
 

Administrative Access

Only Nexus Support users can:

  • Create O365 integrations
  • Edit O365 integrations
  • Delete O365 integrations
  • Rotate credentials
  • Activate/deactivate connectors

Prerequisites
  • Speaker record exists.
  • Visit and agenda information are available.
  • Speaker availability processing is enabled.
  • O365 or Google integration must be configured if external calendar availability is required.
  • Appropriate service account permissions must exist for O365 integrations.

How It Works / User Flow – Step-by-Step

1. View Speaker Availability During Speaker Selection

Open an agenda topic.

Navigate to:

  • Suggested Speakers
  • Search Speakers

The system evaluates:

  • Internal commitments
  • Personal blocks
  • External calendar commitments

Availability indicators are displayed beside each speaker.

 

2. Assign a Speaker

Select a speaker from:

  • Suggested Speakers
  • Search Speakers

The system validates availability and displays the current availability status.

After assignment:

  • Speaker assignment is saved.
  • Availability indicators refresh.
  • Conflicts continue to be evaluated.

3. View Availability Information

Hover over a speaker.

The system displays availability information through a hover popover.

Information may include:

  • Availability status
  • Availability messaging
  • Conflict-related information

Availability source details remain hidden from users.

 

 


4. Recalculate Availability

Availability is automatically recalculated when:

  • Speaker is assigned
  • Speaker is removed
  • Agenda time changes
  • Agenda duration changes
  • Visit date changes
  • Visit time changes
  • Visit is cancelled
  • Visit is deleted

Availability indicators automatically refresh.


5. Configure O365 Calendar Availability

Navigate to:

Admin → CRM Integrations

Select:

O365 Calendar Availability

Configure:

  • Entra Tenant ID
  • Client ID
  • Client Secret
  • Authority URL
  • Service UPN

Save the configuration.

The integration becomes available for speaker availability calculations.

6. Configure Google Calendar Availability

Navigate to:

Admin → CRM Integrations

Select:

O365 Calendar Availability

Configure:

  • Workspace customer ID
  • Service account email
  • Service account JSON key
  • Service UPN (impersonated mailbox)
  • Workspace domain

Save the configuration.

The integration becomes available for speaker availability calculations.


Availability Statuses
 
 

Integration

 

Access to calendar

 

Status

 

Description

 

Tenant with integration

Have access

Available

  • Check both internal and external (Office 365/Google) calendars. If the status is available in both, show it as "Available". Meaning there doesn’t exist any invite on any of the calendars or Speaker has not been added on any Agenda in the system.
  • For Google Calendar, map the status with Available status if the calendar sends response as
    • Free
  • For Outlook, map the status with Available status if the calendar sends response as
    • Free

Busy/Unavailable

  • Check both internal and external (Office 365/Google) calendars.
    • If busy in any, show as "Busy/Unavailable". This happens when the speaker is added to any Agenda in Internal calendar.
  • For Google Calendar, map the status with Unavailable/Busy status if the calendar sends response as
    • Busy
  • For Outlook, map the status with Available status if the calendar sends response as (If not Busy)
    • Tentative
    • Busy
    • Out of Office
    • Working Elsewhere
  • If any of the above statuses is there in one calendar and available on other, then show Busy

No access

Busy/Unavailable

  • Check internal calendars and show Busy if
    • The speaker is added to any Topic
    • Speaker is added and the speaker has an invite on the calendar
    • Speaker is added to the agenda and the speaker has responded Accepted, Declined or Tentatively Accepted to the invite

No status

  • In case there is no access, and the internal calendar is free
  • If the user is removed from the agenda topic

Tenant without integration

No access

Busy/Unavailable

  • Check internal calendars and show Busy if
    • The speaker is added to any Topic
    • Speaker is added and the speaker has an invite on the calendar
    • Speaker is added to the agenda and the speaker has responded Accepted, Declined or Tentatively Accepted to the invite

No status

  • In case we don’t have access, and the internal calendar is free
  • If the user is removed from the agenda topic
 
 
 

Availability Source Behavior

Speaker Availability evaluates multiple availability sources.

Internal Availability

Derived from:

  • Visit assignments
  • Agenda assignments
  • Internal scheduling conflicts
  • Personal blocks

O365 Calendar Availability

Derived from:

  • Microsoft 365 calendar free/busy information

O365 Status Mapping

 
 

O365 Status

 

System Status

 

Free

Available

Tentative

Busy / Unavailable

Busy

Busy / Unavailable

Out of Office

Busy / Unavailable

Working Elsewhere

Busy / Unavailable

 
 
 

Google Calendar Availability

Derived from:

  • Google Calendar free/busy information

Google Status Mapping

 
 

Google Status

 

System Status

 

Free

Available

Busy

Busy / Unavailable

 
 
 

Data Handling & System BehaviorAvailability Source Abstraction

The application presents a unified availability result.

Users only see:

  • Available
  • Busy / Unavailable
  • Syncing

The system does not indicate whether the status originated from:

  • Internal scheduling
  • Personal blocks
  • O365
  • Google Calendar

Personal Blocks

Personal blocks participate in availability calculations.

When a personal block overlaps the requested time:

  • Speaker is marked Busy / Unavailable.
  • Availability indicators update accordingly.

Internal-Only Availability Mode

Internal-only availability is used when:

  • No external integration exists.
  • External integration is unavailable.
  • Authentication fails.
  • Provider access is unavailable.

Availability is calculated using:

  • Visit assignments
  • Agenda assignments
  • Personal blocks
  • Internal scheduling conflicts

The user experience remains unchanged.


Syncing Behavior

The Syncing status indicates availability is currently being calculated or retrieved.

This may occur when:

  • Internal availability is being evaluated.
  • O365 availability is being fetched.
  • Google availability is being fetched.
  • Availability recalculation is in progress.

Once processing completes:

  • Syncing indicator is removed.
  • Final availability status is displayed.

Timezone Handling

Availability calculations account for:

  • Visit timezone
  • Agenda timezone
  • Personal block timezone
  • External calendar timezone

The system supports:

  • Daylight savings adjustments
  • Cross-region scheduling
  • Offset calculations
  • Multi-timezone comparisons

Important Considerations & Limitations
  • Availability is evaluated using all available data sources.
  • Users are not shown which source generated the availability result.
  • Personal blocks are treated as availability conflicts.
  • Any conflict source can result in Busy / Unavailable status.
  • Partial overlaps are treated as conflicts.
  • Availability indicators automatically refresh when scheduling information changes.
  • Internal-only availability is used when external integrations cannot be accessed.
  • O365 integrations require valid service account permissions.
  • Only one active O365 connector is supported per tenant.
  • Existing agenda workflows remain unchanged.
  • Existing speaker assignment workflows remain unchanged.

FAQs

How is speaker availability determined?

The system evaluates internal scheduling commitments, personal blocks, and available external calendar integrations.


Does Speaker Availability support Microsoft 365?

Yes. Speaker Availability supports Microsoft O365 Calendar Availability integration.


Does Speaker Availability support Google Calendar?

Yes. Google Calendar availability can be incorporated into availability calculations.


What happens if O365 or Google Calendar is unavailable?

The system automatically falls back to internal scheduling data and continues calculating availability.


What does the Syncing status mean?

Syncing indicates that availability is currently being calculated or retrieved.


Are personal blocks considered availability conflicts?

Yes. Personal blocks are treated as availability conflicts and can cause a speaker to be marked Busy / Unavailable.


Can users see whether a conflict came from O365, Google, or an internal schedule?

No. Speaker Availability intentionally presents a unified status and does not expose the source of the conflict.


Can multiple active O365 connectors exist?

No. Only one active O365 connector is supported per tenant.