Speaker Availability with O365 and GCal Integration
- What's New
- Functional Summary
- Key Capabilities
- Speaker Availability – Overview
- Configuration & Administration
- O365 Calendar Availability Administration
- O365 Connector Configuration
- Google Connector Configuration
- Active Connector Rules
- Availability Diagnostics
- User Roles / Permissions / Prerequisites
-
- Administrative Access
- Prerequisites
-
- How It Works / User Flow – Step-by-Step
- 1. View Speaker Availability During Speaker Selection
- 2. Assign a Speaker
- 3. View Availability Information
- 4. Recalculate Availability
- 5. Configure O365 Calendar Availability
- 6. Configure Google Calendar Availability
- Availability Statuses
- Availability Source Behavior
- Internal Availability
- O365 Calendar Availability
- O365 Status Mapping
- Google Calendar Availability
- Google Status Mapping
- Data Handling & System Behavior
- Availability Source Abstraction
- Personal Blocks
- Internal-Only Availability Mode
- Syncing Behavior
- Timezone Handling
- Important Considerations & Limitations
- FAQs
- How is speaker availability determined?
- Does Speaker Availability support Microsoft 365?
- Does Speaker Availability support Google Calendar?
- What happens if O365 or Google Calendar is unavailable?
- What does the Syncing status mean?
- Are personal blocks considered availability conflicts?
- Can users see whether a conflict came from O365, Google, or an internal schedule?
- Can multiple active O365 connectors exist?
- Support & Troubleshooting
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 AvailabilityNavigate 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 |
|
|
Busy/Unavailable |
|
||
|
No access |
Busy/Unavailable |
|
|
|
No status |
|
||
|
Tenant without integration |
No access |
Busy/Unavailable |
|
|
No status |
|
Availability Source Behavior
Speaker Availability evaluates multiple availability sources.
Internal AvailabilityDerived 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.