Microsoft Graph API Permissions Usage
Permission Overview
1. CallRecords.Read.All (Application Permission)
- Type: Application
- Admin Consent Required: Yes
When used
- Triggered when Microsoft sends a webhook notification for new call records
- Used during call record notification processing
How used
- Retrieves detailed call record data, including:
- Call participants (users and phone numbers)
- Call organizer
- Call start and end times
- Call modalities (audio, video, VoIP)
- Data is used to create interaction logs in Maximizer CRM for all participants
API endpoint
GET /communications/callRecords/{callRecordId}?$expand=participants_v2
Webhook subscription
- Resource:
/communications/callRecords - Change type:
created
2. OnlineMeetingArtifact.Read.All (Application Permission)
- Type: Application
- Admin Consent Required: Yes
When used
- Required for webhook subscriptions related to online meeting artifacts
How used
- Enables subscription to online meeting recording notifications
- Subscription is created during app installation and maintained during webhook validation/recreation
Webhook subscription
- Resource:
/communications/onlineMeetings/getAllRecordings - Change type:
created
3. OnlineMeetingRecording.Read.All (Application Permission)
- Type: Application
- Admin Consent Required: Yes
When used
- Required to receive notifications when meeting recordings become available
How used
- Enables subscription to recording creation events
- Subscription is automatically maintained and renewed
Webhook subscription
- Resource:
/communications/onlineMeetings/getAllRecordings - Change type:
created
4. OnlineMeetings.Read.All (Application Permission)
- Type: Application
- Admin Consent Required: Yes
When used
- Triggered when processing transcript notifications
- Used to retrieve meeting details when transcripts become available
How used
- Retrieves meeting details, including:
- Meeting subject/title
- Organizer
- Attendees/participants
- Metadata
- Data is used to:
- Identify participants for document association
- Provide context for transcripts stored in Maximizer
API endpoint
GET /users/{userId}/onlineMeetings/{onlineMeetingId}
5. OnlineMeetingTranscript.Read.All (Application Permission)
- Type: Application
- Admin Consent Required: Yes
When used
- Triggered when Microsoft sends webhook notifications for new transcripts
- Used during transcript processing
How used
- Retrieves transcript metadata:
- Creation date/time
- Transcript ID
- Downloads transcript content in VTT format
- Used to:
- Create document records in Maximizer CRM
- Associate transcripts with contacts (AbEntry) and leads
- Store transcripts with proper naming and metadata
API endpoints
GET /users/{userId}/onlineMeetings/{onlineMeetingId}/transcripts/{transcriptId}
GET /users/{userId}/onlineMeetings/{onlineMeetingId}/transcripts/{transcriptId}/content?$format=text/vtt
Webhook subscription
- Resource:
/communications/onlineMeetings/getAllTranscripts - Change type:
created
Document storage
- Naming format:
Teams-Call-Transcription_{date}_{meetingSubject}.vtt - Associated with all matched participants in Maximizer (AbEntry and Leads)
6. User.Read (Delegated Permission)
- Type: Delegated
- Admin Consent Required: No
When used
- User sign-in and basic profile access in delegated scenarios
7. User.Read.All (Application Permission)
- Type: Application
- Admin Consent Required: Yes
When used
- Retrieval of user information when required
How used
- Retrieves:
- Email address
- Display name
- User ID
- Used to:
- Send email notifications to administrators
- Identify users accessing resources
API endpoint
GET /users/{userId}
Summary
| Permission | Primary Use Case | Frequency |
|---|---|---|
| CallRecords.Read.All | Retrieve call records for interaction logs | On webhook notification |
| OnlineMeetingArtifact.Read.All | Webhook subscription for artifacts | During setup |
| OnlineMeetingRecording.Read.All | Webhook subscription for recordings | During setup |
| OnlineMeetings.Read.All | Retrieve meeting details for transcripts | On transcript event |
| OnlineMeetingTranscript.Read.All | Retrieve and download transcripts | On webhook notification |
| User.Read | User sign-in and profile access | As needed |
| User.Read.All | Retrieve user information | As needed |