ESC
Type to search...

WorkforceIntegration.ReadWrite.All

Export JSON
Export CSV
Copy URL
Print
ApplicationDelegated Read/Write All Resources

Allows the app to manage workforce integrations to synchronize data from Microsoft Teams Shifts, without a signed-in user.

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

Permission Details

Application Permission

Read and write workforce integrations

Allows the app to manage workforce integrations to synchronize data from Microsoft Teams Shifts, without a signed-in user.

Delegated Permission Admin consent required

Read and write workforce integrations

Allows the app to manage workforce integrations, to synchronize data from Microsoft Teams Shifts, on behalf of the signed-in user.

Properties

Microsoft Graph v1.0 exact-category-docs

Properties is shown from stable Microsoft Graph v1.0 metadata.

Property Type Description
apiVersion Int32Nullable API version for the callback URL. Start with 1.
createdDateTime DateTimeOffsetRead-onlyNullable The date and time at which this workforceIntegration was first created. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z. Inherited from changeTrackedEntity.
displayName StringNullable Name of the workforce integration.
eligibilityFilteringEnabledEntities eligibilityFilteringEnabledEntities Support to view eligibility-filtered results. The possible values are: none, swapRequest, offerShiftRequest, unknownFutureValue, timeOffReason. Use the Prefer: include-unknown-enum-members request header to get the following members in this evolvable enum: timeOffReason.
encryption workforceIntegrationEncryption The workforce integration encryption resource.
isActive BooleanNullable Indicates whether this workforce integration is currently active and available.
supportedEntities workforceIntegrationSupportedEntities The Shifts entities supported for synchronous change notifications. Shifts call back to the provided URL when client changes occur to the entities specified in this property. By default, no entities are supported for change notifications. The possible values are: none, shift, swapRequest, userShiftPreferences, openShift, openShiftRequest, offerShiftRequest, unknownFutureValue, timeCard, timeOffReason, timeOff, timeOffRequest. Use the Prefer: include-unknown-enum-members request header to get the following values in this evolvable enum: timeCard , timeOffReason , timeOff , timeOffRequest.
url StringNullable Workforce Integration URL for callbacks from the Shifts service.
createdBy object Identity of the creator of the entity.
id string The unique identifier for an entity. Read-only.
lastModifiedBy objectRead-only Identity of the person who last modified the entity.
lastModifiedDateTime date-timeRead-onlyNullable The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z

JSON Representation

Microsoft Graph v1.0 exact-category-docs

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

JSON representation
{
  "@odata.type": "#microsoft.graph.workforceIntegration",
  "apiVersion": "Int32",
  "createdDateTime": "String (timestamp)",
  "displayName": "String",
  "eligibilityFilteringEnabledEntities": "String",
  "encryption": {
    "@odata.type": "microsoft.graph.workforceIntegrationEncryption"
  },
  "id": "String (identifier)",
  "isActive": "Boolean",
  "lastModifiedBy": {
    "@odata.type": "microsoft.graph.identitySet"
  },
  "lastModifiedDateTime": "String (timestamp)",
  "supportedEntities": "String",
  "url": "String"
}

Relationships

Relationships metadata is not available for this permission mapping.

View resource documentation

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 /teamwork/workforceIntegrations
GET /teamwork/workforceIntegrations/{workforceIntegrationId}
POST /teamwork/workforceIntegrations
PATCH /teamwork/workforceIntegrations/{workforceIntegrationId}
DELETE /teamwork/workforceIntegrations/{workforceIntegrationId}
Exact Microsoft Learn match

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

Methods
GET /teamwork/workforceIntegrations
GET /teamwork/workforceIntegrations/{workforceIntegrationId}
POST /teamwork/workforceIntegrations
PATCH /teamwork/workforceIntegrations/{workforceIntegrationId}
DELETE /teamwork/workforceIntegrations/{workforceIntegrationId}
Exact Microsoft Learn PowerShell match

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

Commands
Get-MgTeamworkWorkforceIntegration /teamwork/workforceIntegrations
List workforceIntegrations
Get-MgTeamworkWorkforceIntegration /teamwork/workforceIntegrations/{workforceIntegrationId}
Get workforceIntegration
New-MgTeamworkWorkforceIntegration /teamwork/workforceIntegrations
Create workforceIntegration
Remove-MgTeamworkWorkforceIntegration /teamwork/workforceIntegrations/{workforceIntegrationId}
Delete workforceIntegration
Update-MgTeamworkWorkforceIntegration /teamwork/workforceIntegrations/{workforceIntegrationId}
Update workforceIntegration
Exact Microsoft Learn PowerShell match

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

Commands
Get-MgBetaTeamworkWorkforceIntegration /teamwork/workforceIntegrations
List workforceIntegrations
Get-MgBetaTeamworkWorkforceIntegration /teamwork/workforceIntegrations/{workforceIntegrationId}
Get workforceIntegration
New-MgBetaTeamworkWorkforceIntegration /teamwork/workforceIntegrations
Create workforceIntegration
Remove-MgBetaTeamworkWorkforceIntegration /teamwork/workforceIntegrations/{workforceIntegrationId}
Delete workforceIntegration
Update-MgBetaTeamworkWorkforceIntegration /teamwork/workforceIntegrations/{workforceIntegrationId}
Update workforceintegration

Code Examples

C# / .NET SDK
Create workforceIntegration
// Code snippets are only available for the latest version. Current version is 5.x

// Dependencies
using Microsoft.Graph.Models;

var requestBody = new WorkforceIntegration
{
	DisplayName = "ABCWorkforceIntegration",
	ApiVersion = 1,
	IsActive = true,
	Encryption = new WorkforceIntegrationEncryption
	{
		Protocol = WorkforceIntegrationEncryptionProtocol.SharedSecret,
		Secret = "My Secret",
	},
	Url = "https://ABCWorkforceIntegration.com/Contoso/",
	SupportedEntities = WorkforceIntegrationSupportedEntities.Shift | WorkforceIntegrationSupportedEntities.SwapRequest,
	EligibilityFilteringEnabledEntities = EligibilityFilteringEnabledEntities.SwapRequest,
};

// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Teamwork.WorkforceIntegrations.PostAsync(requestBody);
JavaScript
Create workforceIntegration
const options = {
	authProvider,
};

const client = Client.init(options);

const workforceIntegration = {
  displayName: 'ABCWorkforceIntegration',
  apiVersion: 1,
  isActive: true,
  encryption: {
    protocol: 'sharedSecret',
    secret: 'My Secret'
  },
  url: 'https://ABCWorkforceIntegration.com/Contoso/',
  supportedEntities: 'Shift,SwapRequest',
  eligibilityFilteringEnabledEntities: 'SwapRequest'
};

await client.api('/teamwork/workforceIntegrations')
	.post(workforceIntegration);
PowerShell
Create workforceIntegration
Import-Module Microsoft.Graph.Teams

$params = @{
	displayName = "ABCWorkforceIntegration"
	apiVersion = 1
	isActive = $true
	encryption = @{
		protocol = "sharedSecret"
		secret = "My Secret"
	}
	url = "https://ABCWorkforceIntegration.com/Contoso/"
	supportedEntities = "Shift,SwapRequest"
	eligibilityFilteringEnabledEntities = "SwapRequest"
}

New-MgTeamworkWorkforceIntegration -BodyParameter $params
Python
Create workforceIntegration
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.models.workforce_integration import WorkforceIntegration
from msgraph.generated.models.workforce_integration_encryption import WorkforceIntegrationEncryption
from msgraph.generated.models.workforce_integration_encryption_protocol import WorkforceIntegrationEncryptionProtocol
from msgraph.generated.models.workforce_integration_supported_entities import WorkforceIntegrationSupportedEntities
from msgraph.generated.models.eligibility_filtering_enabled_entities import EligibilityFilteringEnabledEntities
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = WorkforceIntegration(
	display_name = "ABCWorkforceIntegration",
	api_version = 1,
	is_active = True,
	encryption = WorkforceIntegrationEncryption(
		protocol = WorkforceIntegrationEncryptionProtocol.SharedSecret,
		secret = "My Secret",
	),
	url = "https://ABCWorkforceIntegration.com/Contoso/",
	supported_entities = WorkforceIntegrationSupportedEntities.Shift | WorkforceIntegrationSupportedEntities.SwapRequest,
	eligibility_filtering_enabled_entities = EligibilityFilteringEnabledEntities.SwapRequest,
)

result = await graph_client.teamwork.workforce_integrations.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 or delegated permissions and search for WorkforceIntegration.ReadWrite.All

4

Grant Admin Consent

Application permissions always require admin consent.