ESC
Type to search...

Calls.InitiateGroupCall.All

Export JSON
Export CSV
Copy URL
Print
Application Read All Resources

Allows the app to place outbound calls to multiple users and add participants to meetings in your organization, without a signed-in user.

Permission data: April 6, 2026 at 4:06 AM UTC
Delegated Access App-Only Access

Permission Details

Application Permission

Initiate outgoing group calls from the app

Allows the app to place outbound calls to multiple users and add participants to meetings in your organization, without a signed-in user.

Properties

Microsoft Graph v1.0 mapped-docs

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

Microsoft Graph v1.0 mapped-docs

JSON representation is shown from stable Microsoft Graph v1.0 metadata.

JSON representation
{
  "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

Microsoft Graph v1.0 mapped-docs

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

Delegated access App-only access
Exact Microsoft Learn match

Microsoft Graph v1.0 endpoints are mapped directly from refreshed Microsoft Learn permissions tables.

Methods
GET /app/calls/{id}/audioRoutingGroups
GET /app/calls/{id}/audioRoutingGroups/{id}
GET /communications/calls/{id}/audioRoutingGroups
GET /communications/calls/{id}/audioRoutingGroups/{id}
GET /communications/calls/{id}/contentSharingSessions
GET /communications/calls/{id}/contentSharingSessions/{id}
POST /app/calls/{id}/addLargeGalleryView
POST /app/calls/{id}/audioRoutingGroups
POST /communications/calls
POST /communications/calls/{id}/addLargeGalleryView
POST /communications/calls/{id}/audioRoutingGroups
POST /communications/calls/{id}/participants/invite
PATCH /app/calls/{id}/audioRoutingGroups/{id}
PATCH /communications/calls/{id}/audioRoutingGroups/{id}
DELETE /app/calls/{id}/audioRoutingGroups/{id}
DELETE /communications/calls/{id}/audioRoutingGroups/{id}
Exact Microsoft Learn match

Microsoft Graph beta endpoints are mapped directly from refreshed Microsoft Learn permissions tables.

Methods
GET /app/calls/{id}/audioRoutingGroups
GET /app/calls/{id}/audioRoutingGroups/{id}
GET /communications/calls/{id}/audioRoutingGroups
GET /communications/calls/{id}/audioRoutingGroups/{id}
GET /communications/calls/{id}/contentSharingSessions
GET /communications/calls/{id}/contentSharingSessions/{id}
POST /app/calls
POST /app/calls/{id}/addLargeGalleryView
POST /app/calls/{id}/audioRoutingGroups
POST /app/calls/{id}/participants/invite
POST /communications/calls
POST /communications/calls/{id}/addLargeGalleryView
POST /communications/calls/{id}/audioRoutingGroups
POST /communications/calls/{id}/participants/invite
PATCH /app/calls/{id}/audioRoutingGroups/{id}
PATCH /communications/calls/{id}/audioRoutingGroups/{id}
DELETE /app/calls/{id}/audioRoutingGroups/{id}
DELETE /communications/calls/{id}/audioRoutingGroups/{id}
Exact Microsoft Learn PowerShell match

Microsoft Graph PowerShell v1.0 commands are mapped directly from refreshed Microsoft Learn PowerShell snippets.

Commands
Add-MgCommunicationCallLargeGalleryView /app/calls/{id}/addLargeGalleryView
call: addLargeGalleryView
Get-MgCommunicationCallAudioRoutingGroup /app/calls/{id}/audioRoutingGroups
List audioRoutingGroups
Get-MgCommunicationCallAudioRoutingGroup /app/calls/{id}/audioRoutingGroups/{id}
Get audioRoutingGroup
Get-MgCommunicationCallContentSharingSession /communications/calls/{id}/contentSharingSessions
List contentSharingSessions
Get-MgCommunicationCallContentSharingSession /communications/calls/{id}/contentSharingSessions/{id}
Get contentSharingSession
Invoke-MgInviteCommunicationCallParticipant /communications/calls/{id}/participants/invite
participant: invite
New-MgCommunicationCall /communications/calls
Create call
New-MgCommunicationCallAudioRoutingGroup /app/calls/{id}/audioRoutingGroups
Create audioRoutingGroup
Remove-MgCommunicationCallAudioRoutingGroup /app/calls/{id}/audioRoutingGroups/{id}
Delete audioRoutingGroup
Update-MgCommunicationCallAudioRoutingGroup /app/calls/{id}/audioRoutingGroups/{id}
Update audioRoutingGroup
Exact Microsoft Learn PowerShell match

Microsoft Graph PowerShell beta commands are mapped directly from refreshed Microsoft Learn PowerShell snippets.

Commands
Add-MgBetaCommunicationCallLargeGalleryView /app/calls/{id}/addLargeGalleryView
call: addLargeGalleryView
Get-MgBetaCommunicationCallAudioRoutingGroup /app/calls/{id}/audioRoutingGroups
List audio routing groups
Get-MgBetaCommunicationCallAudioRoutingGroup /app/calls/{id}/audioRoutingGroups/{id}
Get audio routing group
Get-MgBetaCommunicationCallContentSharingSession /communications/calls/{id}/contentSharingSessions
List contentSharingSessions
Get-MgBetaCommunicationCallContentSharingSession /communications/calls/{id}/contentSharingSessions/{id}
Get contentSharingSession
Invoke-MgBetaInviteCommunicationCallParticipant /app/calls/{id}/participants/invite
participant: invite
New-MgBetaCommunicationCall /app/calls
Create call
New-MgBetaCommunicationCallAudioRoutingGroup /app/calls/{id}/audioRoutingGroups
Create audio routing group
Remove-MgBetaCommunicationCallAudioRoutingGroup /app/calls/{id}/audioRoutingGroups/{id}
Delete audio routing group
Update-MgBetaCommunicationCallAudioRoutingGroup /app/calls/{id}/audioRoutingGroups/{id}
Update audio routing group

Code Examples

C# / .NET SDK
participant: invite
// Code snippets are only available for the latest version. Current version is 5.x

// Dependencies
using Microsoft.Graph.Communications.Calls.Item.Participants.Invite;
using Microsoft.Graph.Models;

var requestBody = new InvitePostRequestBody
{
	Participants = new List<InvitationParticipantInfo>
	{
		new InvitationParticipantInfo
		{
			OdataType = "#microsoft.graph.invitationParticipantInfo",
			ReplacesCallId = "a7ebfb2d-871e-419c-87af-27290b22e8db",
			Identity = new IdentitySet
			{
				OdataType = "#microsoft.graph.identitySet",
				User = new Identity
				{
					OdataType = "#microsoft.graph.identity",
					Id = "278405a3-f568-4b3e-b684-009193463064",
					DisplayName = "string",
				},
			},
		},
	},
	ClientContext = "f2fa86af-3c51-4bc2-8fc0-475452d9764f",
};

// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Communications.Calls["{call-id}"].Participants.Invite.PostAsync(requestBody);
JavaScript
participant: invite
const options = {
	authProvider,
};

const client = Client.init(options);

const inviteParticipantsOperation = {
  participants: [
    {
      '@odata.type': '#microsoft.graph.invitationParticipantInfo',
      replacesCallId: 'a7ebfb2d-871e-419c-87af-27290b22e8db',
      identity: {
        '@odata.type': '#microsoft.graph.identitySet',
        user: {
          '@odata.type': '#microsoft.graph.identity',
          id: '278405a3-f568-4b3e-b684-009193463064',
          displayName: 'string'
        }
      }
    }
  ],
  clientContext: 'f2fa86af-3c51-4bc2-8fc0-475452d9764f'
};

await client.api('/communications/calls/{id}/participants/invite')
	.post(inviteParticipantsOperation);
PowerShell
participant: invite
Import-Module Microsoft.Graph.CloudCommunications

$params = @{
	participants = @(
		@{
			"@odata.type" = "#microsoft.graph.invitationParticipantInfo"
			replacesCallId = "a7ebfb2d-871e-419c-87af-27290b22e8db"
			identity = @{
				"@odata.type" = "#microsoft.graph.identitySet"
				user = @{
					"@odata.type" = "#microsoft.graph.identity"
					id = "278405a3-f568-4b3e-b684-009193463064"
					displayName = "string"
				}
			}
		}
	)
	clientContext = "f2fa86af-3c51-4bc2-8fc0-475452d9764f"
}

Invoke-MgInviteCommunicationCallParticipant -CallId $callId -BodyParameter $params
Python
participant: invite
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.communications.calls.item.participants.invite.invite_post_request_body import InvitePostRequestBody
from msgraph.generated.models.invitation_participant_info import InvitationParticipantInfo
from msgraph.generated.models.identity_set import IdentitySet
from msgraph.generated.models.identity import Identity
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = InvitePostRequestBody(
	participants = [
		InvitationParticipantInfo(
			odata_type = "#microsoft.graph.invitationParticipantInfo",
			replaces_call_id = "a7ebfb2d-871e-419c-87af-27290b22e8db",
			identity = IdentitySet(
				odata_type = "#microsoft.graph.identitySet",
				user = Identity(
					odata_type = "#microsoft.graph.identity",
					id = "278405a3-f568-4b3e-b684-009193463064",
					display_name = "string",
				),
			),
		),
	],
	client_context = "f2fa86af-3c51-4bc2-8fc0-475452d9764f",
)

result = await graph_client.communications.calls.by_call_id('call-id').participants.invite.post(request_body)

App Registration

1

Navigate to Azure Portal

Go to App registrations in Microsoft Entra admin center

2

Add API Permission

Select your app → API permissions → Add a permission → Microsoft Graph

3

Select Permission Type

Choose Application permissions and search for Calls.InitiateGroupCall.All

4

Grant Admin Consent

Application permissions always require admin consent.