Calls.JoinGroupCall.All
Allows the app to join group calls and scheduled meetings in your organization, without a signed-in user. The app will be joined with the privileges of a directory user to meetings in your organization.
Permission Details
Join group calls and meetings as an app
Allows the app to join group calls and scheduled meetings in your organization, without a signed-in user. The app will be joined with the privileges of a directory user to meetings in your organization.
f6b49018-60ab-4f81-83bd-22caeabfed2d
Properties
Properties is shown from stable Microsoft Graph v1.0 metadata.
| Property | Type | Description |
|---|---|---|
callbackUri |
String |
The callback URL on which callbacks are delivered. Must be an HTTPS URL. |
callChainId |
StringNullable |
A unique identifier for all the participant calls in a conference or a unique identifier for two participant calls in a P2P call. This identifier must be copied over from Microsoft.Graph.Call.CallChainId. |
callOptions |
outgoingCallOptions |
Contains the optional features for the call. |
callRoutes |
callRoute collection |
The routing information on how the call was retargeted. Read-only. |
chatInfo |
chatInfo |
The chat information. Required information for joining a meeting. |
direction |
callDirection |
The direction of the call. The possible values are incoming or outgoing. Read-only. |
id |
String |
The unique identifier for the call. Read-only. |
incomingContext |
incomingContext |
Call context associated with an incoming call. |
mediaConfig |
appHostedMediaConfig or serviceHostedMediaConfig |
The media configuration. Required. |
mediaState |
callMediaState |
Read-only. The call media state. |
meetingInfo |
organizerMeetingInfo, tokenMeetingInfo, or joinMeetingIdMeetingInfo |
The meeting information. Required information for meeting scenarios. |
myParticipantId |
StringNullable |
Read-only. |
requestedModalities |
modality collection |
The list of requested modalities. The possible values are: unknown, audio, video, videoBasedScreenSharing, data. |
resultInfo |
resultInfo |
The result information. For example, the result can hold termination reason. Read-only. |
source |
participantInfo |
The originator of the call. |
Showing 15 of 25 properties.
JSON Representation
JSON representation is shown from stable Microsoft Graph v1.0 metadata.
{
"callbackUri": "String",
"callChainId": "String",
"callOptions": {"@odata.type": "#microsoft.graph.outgoingCallOptions"},
"chatInfo": {"@odata.type": "#microsoft.graph.chatInfo"},
"contentSharingSessions": [{ "@odata.type": "microsoft.graph.contentSharingSession" }],
"direction": "String",
"id": "String (identifier)",
"mediaConfig": {"@odata.type": "#microsoft.graph.mediaConfig"},
"mediaState": {"@odata.type": "#microsoft.graph.callMediaState"},
"meetingInfo": {"@odata.type": "#microsoft.graph.meetingInfo"},
"myParticipantId": "String",
"requestedModalities": ["String"],
"resultInfo": {"@odata.type": "#microsoft.graph.resultInfo"},
"source": {"@odata.type": "#microsoft.graph.participantInfo"},
"state": "String",
"subject": "String",
"targets": [{"@odata.type": "#microsoft.graph.invitationParticipantInfo"}],
"toneInfo": {"@odata.type": "#microsoft.graph.toneInfo"},
"transcription": {"@odata.type": "#microsoft.graph.callTranscriptionInfo"},
}
Relationships
Relationships is shown from stable Microsoft Graph v1.0 metadata.
| Relationship | Type | Description |
|---|---|---|
contentSharingSessions |
contentSharingSession collection |
Read-only. Nullable. |
operations |
commsOperation collection |
Read-only. Nullable. |
participants |
participant collection |
Read-only. Nullable. |
audioRoutingGroups |
audioRoutingGroup collection |
Related audioRoutingGroups data exposed by this resource. |
callRoutes |
callRoute collection |
The routing information on how the call was retargeted. Read-only. |
requestedModalities |
array |
The list of requested modalities. The possible values are: unknown, audio, video, videoBasedScreenSharing, data. |
targets |
invitationParticipantInfo collection |
The targets of the call. Required information for creating peer to peer call. |
activeModalities |
array |
The list of active modalities. The possible values are: unknown, audio, video, videoBasedScreenSharing, data. Read-only. |
routingPolicies |
array |
This property is applicable for peer to peer calls only. The possible values are: none, noMissedCall, disableForwardingExceptPhone, disableForwarding, preferSkypeForBusiness, unknownFutureValue. |
Graph Methods
Microsoft Graph v1.0 endpoints are mapped directly from refreshed Microsoft Learn permissions tables.
Microsoft Graph beta endpoints are mapped directly from refreshed Microsoft Learn permissions tables.
Microsoft Graph PowerShell v1.0 commands are mapped directly from refreshed Microsoft Learn PowerShell snippets.
Microsoft Graph PowerShell beta commands are mapped directly from refreshed Microsoft Learn PowerShell snippets.
Code Examples
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Communications.Calls.Item.Answer;
using Microsoft.Graph.Models;
var requestBody = new AnswerPostRequestBody
{
CallbackUri = "callbackUri-value",
MediaConfig = new AppHostedMediaConfig
{
OdataType = "#microsoft.graph.appHostedMediaConfig",
Blob = "<Media Session Configuration Blob>",
},
AcceptedModalities = new List<Modality?>
{
Modality.Audio,
},
CallOptions = new IncomingCallOptions
{
OdataType = "#microsoft.graph.incomingCallOptions",
IsContentSharingNotificationEnabled = true,
IsDeltaRosterEnabled = true,
IsInteractiveRosterEnabled = true,
},
ParticipantCapacity = 200,
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
await graphClient.Communications.Calls["{call-id}"].Answer.PostAsync(requestBody);
const options = {
authProvider,
};
const client = Client.init(options);
const answer = {
callbackUri: 'callbackUri-value',
mediaConfig: {
'@odata.type': '#microsoft.graph.appHostedMediaConfig',
blob: '<Media Session Configuration Blob>'
},
acceptedModalities: [
'audio'
],
callOptions: {
'@odata.type': '#microsoft.graph.incomingCallOptions',
isContentSharingNotificationEnabled: true,
isDeltaRosterEnabled: true,
isInteractiveRosterEnabled: true
},
participantCapacity: 200
};
await client.api('/communications/calls/{id}/answer')
.post(answer);
Import-Module Microsoft.Graph.CloudCommunications
$params = @{
callbackUri = "callbackUri-value"
mediaConfig = @{
"@odata.type" = "#microsoft.graph.appHostedMediaConfig"
blob = "<Media Session Configuration Blob>"
}
acceptedModalities = @(
"audio"
)
callOptions = @{
"@odata.type" = "#microsoft.graph.incomingCallOptions"
isContentSharingNotificationEnabled = $true
isDeltaRosterEnabled = $true
isInteractiveRosterEnabled = $true
}
participantCapacity = 200
}
Invoke-MgAnswerCommunicationCall -CallId $callId -BodyParameter $params
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.communications.calls.item.answer.answer_post_request_body import AnswerPostRequestBody
from msgraph.generated.models.app_hosted_media_config import AppHostedMediaConfig
from msgraph.generated.models.modality import Modality
from msgraph.generated.models.incoming_call_options import IncomingCallOptions
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = AnswerPostRequestBody(
callback_uri = "callbackUri-value",
media_config = AppHostedMediaConfig(
odata_type = "#microsoft.graph.appHostedMediaConfig",
blob = "<Media Session Configuration Blob>",
),
accepted_modalities = [
Modality.Audio,
],
call_options = IncomingCallOptions(
odata_type = "#microsoft.graph.incomingCallOptions",
is_content_sharing_notification_enabled = True,
is_delta_roster_enabled = True,
is_interactive_roster_enabled = True,
),
participant_capacity = 200,
)
await graph_client.communications.calls.by_call_id('call-id').answer.post(request_body)
App Registration
Navigate to Azure Portal
Go to App registrations in Microsoft Entra admin center
Add API Permission
Select your app → API permissions → Add a permission → Microsoft Graph
Select Permission Type
Choose Application permissions and search for Calls.JoinGroupCall.All
Grant Admin Consent
Application permissions always require admin consent.