ESC
Type to search...

LifecycleWorkflows.ReadWrite.All

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

Allows the app to create, update, list, read and delete all workflows, tasks and related lifecycle workflows resources without a signed-in user.

Delegated Access App-Only Access

Permission Details

Application Permission

Read and write all lifecycle workflows resources

Allows the app to create, update, list, read and delete all workflows, tasks and related lifecycle workflows resources without a signed-in user.

Delegated Permission Admin consent required

Read and write all lifecycle workflows resources

Allows the app to create, update, list, read and delete all workflows, tasks and related lifecycle workflows resources on behalf of the signed-in user.

Relationships

Relationship Type Description
customTaskExtensions customTaskExtension collection The customTaskExtension instance.
deletedItems deletedItemContainer Deleted workflows in your lifecycle workflows instance.
taskDefinitions taskDefinition collection The definition of tasks within the lifecycle workflows instance.
workflows workflow collection The workflows in the lifecycle workflows instance.
workflowTemplates workflowTemplate collection The workflow templates in the lifecycle workflow instance.

Graph Methods

Delegated access App-only access
Methods
GET /identityGovernance/lifecycleWorkflows/customTaskExtensions
GET /identityGovernance/lifecycleWorkflows/customTaskExtensions/{customTaskExtensionId}
GET /identityGovernance/lifecycleWorkflows/deletedItems/workflows/
GET /identityGovernance/lifecycleWorkflows/deletedItems/workflows/{workflowId}/
GET /identityGovernance/lifecycleWorkflows/insights/topTasksProcessedSummary(startDateTime={startDateTime},endDateTime={endDateTime})
GET /identityGovernance/lifecycleWorkflows/insights/topWorkflowsProcessedSummary(startDateTime={startDateTime},endDateTime={endDateTime})
GET /identityGovernance/lifecycleWorkflows/insights/workflowsProcessedByCategory(startDateTime={startDateTime},endDateTime={endDateTime})
GET /identityGovernance/lifecycleWorkflows/insights/workflowsProcessedSummary(startDateTime={startDateTime},endDateTime={endDateTime})
GET /identityGovernance/lifecycleWorkflows/settings
GET /identityGovernance/lifecycleWorkflows/taskDefinitions
GET /identityGovernance/lifecycleWorkflows/taskDefinitions/{taskDefinitionId}
GET /identityGovernance/lifecycleWorkflows/workflows
GET /identityGovernance/lifecycleWorkflows/workflows/{workflow_id}/runs/{runId}/userProcessingResults/{userProcessingResultId}
GET /identityGovernance/lifecycleWorkflows/workflows/{workflow-id}/userProcessingResults
GET /identityGovernance/lifecycleWorkflows/workflows/{workflowId}
GET /identitygovernance/lifecycleWorkflows/workflows/{workflowId}/executionScope
GET /identityGovernance/lifecycleWorkflows/workflows/{workflowId}/runs/
GET /identityGovernance/lifecycleWorkflows/workflows/{workflowId}/runs/{runId}
GET /identityGovernance/lifecycleWorkflows/workflows/{workflowId}/runs/{runId}/taskProcessingResults
GET /identityGovernance/lifecycleWorkflows/workflows/{workflowId}/runs/{runId}/userProcessingResults/
GET /identityGovernance/lifecycleWorkflows/workflows/{workflowId}/runs/{runId}/userProcessingResults/{userProcessingResultId}/taskProcessingResults
GET /identityGovernance/lifecycleWorkflows/workflows/{workflowId}/runs/summary(startDateTime={timestamp},endDateTime={timestamp})
GET /identityGovernance/lifecycleWorkflows/workflows/{workflowId}/taskReports
GET /identityGovernance/lifecycleWorkflows/workflows/{workflowId}/taskReports/{taskReportId}/taskProcessingResults
GET /identityGovernance/lifecycleWorkflows/workflows/{workflowId}/taskReports/summary(startDateTime={timestamp},endDateTime={timestamp})
GET /identityGovernance/lifecycleWorkflows/workflows/{workflowId}/tasks
GET /identityGovernance/lifecycleWorkflows/workflows/{workflowId}/userProcessingResults/{userProcessingResultId}/taskProcessingResults
GET /identityGovernance/lifecycleWorkflows/workflows/{workflowId}/versions
GET /identityGovernance/lifecycleWorkflows/workflows/{workflowId}/versions/{workflowVersion-versionNumber}
GET /identityGovernance/lifecycleWorkflows/workflows/{workflowId}/versions/{workflowVersion-versionNumber}/tasks
GET /identityGovernance/lifecycleWorkflows/workflowTemplates
GET /identityGovernance/lifecycleWorkflows/workflowTemplates/{workflowTemplateId}
POST /identityGovernance/lifecycleWorkflows/customTaskExtensions
POST /identityGovernance/lifecycleWorkflows/deletedItems/workflows/{workflowId}/restore
POST /identityGovernance/lifecycleWorkflows/workflows
POST /identityGovernance/lifecycleWorkflows/workflows/{workflowId}/activate
POST /identityGovernance/lifecycleWorkflows/workflows/{workflowId}/createNewVersion
POST /identityGovernance/lifecycleWorkflows/workflows/{workflowId}/tasks/{taskId}/taskProcessingResults/{taskProcessingResultsId}/resume
PATCH /identityGovernance/lifecycleWorkflows/customTaskExtensions/{customTaskExtensionId}
PATCH /identityGovernance/lifecycleWorkflows/settings
PATCH /identityGovernance/lifecycleWorkflows/workflows/{workflowId}
PATCH /identityGovernance/lifecycleWorkflows/workflows/{workflowId}/tasks/{taskId}
DELETE /identityGovernance/lifecycleWorkflows/customTaskExtensions/{customTaskExtensionId}/
DELETE /identityGovernance/lifecycleWorkflows/deletedItems/workflows/{workflowId}/
DELETE /identityGovernance/lifecycleWorkflows/workflows/{workflowId}/
Methods
GET /identityGovernance/lifecycleWorkflows/customTaskExtensions
GET /identityGovernance/lifecycleWorkflows/customTaskExtensions/{customTaskExtensionId}
GET /identityGovernance/lifecycleWorkflows/deletedItems/workflows/
GET /identityGovernance/lifecycleWorkflows/deletedItems/workflows/{workflowId}/
GET /identityGovernance/lifecycleWorkflows/insights/topTasksProcessedSummary(startDateTime={startDateTime},endDateTime={endDateTime})
GET /identityGovernance/lifecycleWorkflows/insights/topWorkflowsProcessedSummary(startDateTime={startDateTime},endDateTime={endDateTime})
GET /identityGovernance/lifecycleWorkflows/insights/workflowsProcessedByCategory(startDateTime={startDateTime},endDateTime={endDateTime})
GET /identityGovernance/lifecycleWorkflows/insights/workflowsProcessedSummary(startDateTime={startDateTime},endDateTime={endDateTime})
GET /identityGovernance/lifecycleWorkflows/settings
GET /identityGovernance/lifecycleWorkflows/taskDefinitions
GET /identityGovernance/lifecycleWorkflows/taskDefinitions/{taskDefinitionId}
GET /identityGovernance/lifecycleWorkflows/workflows
GET /identityGovernance/lifecycleWorkflows/workflows/{workflow_id}/runs/{runId}/userProcessingResults/{userProcessingResultId}
GET /identityGovernance/lifecycleWorkflows/workflows/{workflow-id}/userProcessingResults
GET /identityGovernance/lifecycleWorkflows/workflows/{workflowId}
GET /identitygovernance/lifecycleWorkflows/workflows/{workflowId}/executionScope
GET /identityGovernance/lifecycleWorkflows/workflows/{workflowId}/runs/
GET /identityGovernance/lifecycleWorkflows/workflows/{workflowId}/runs/{runId}
GET /identityGovernance/lifecycleWorkflows/workflows/{workflowId}/runs/{runId}/taskProcessingResults
GET /identityGovernance/lifecycleWorkflows/workflows/{workflowId}/runs/{runId}/userProcessingResults/
GET /identityGovernance/lifecycleWorkflows/workflows/{workflowId}/runs/{runId}/userProcessingResults/{userProcessingResultId}/taskProcessingResults
GET /identityGovernance/lifecycleWorkflows/workflows/{workflowId}/runs/summary(startDateTime={timestamp},endDateTime={timestamp})
GET /identityGovernance/lifecycleWorkflows/workflows/{workflowId}/taskReports
GET /identityGovernance/lifecycleWorkflows/workflows/{workflowId}/taskReports/{taskReportId}/taskProcessingResults
GET /identityGovernance/lifecycleWorkflows/workflows/{workflowId}/taskReports/summary(startDateTime={timestamp},endDateTime={timestamp})
GET /identityGovernance/lifecycleWorkflows/workflows/{workflowId}/tasks
GET /identityGovernance/lifecycleWorkflows/workflows/{workflowId}/userProcessingResults/{userProcessingResultId}/taskProcessingResults
GET /identityGovernance/lifecycleWorkflows/workflows/{workflowId}/versions
GET /identityGovernance/lifecycleWorkflows/workflows/{workflowId}/versions/{workflowVersion-versionNumber}
GET /identityGovernance/lifecycleWorkflows/workflows/{workflowId}/versions/{workFlowVersion-versionNumber}/tasks
GET /identityGovernance/lifecycleWorkflows/workflowTemplates
GET /identityGovernance/lifecycleWorkflows/workflowTemplates/{workflowTemplateId}
POST /identityGovernance/lifecycleWorkflows/customTaskExtensions
POST /identityGovernance/lifecycleWorkflows/deletedItems/workflows/{workflowId}/restore
POST /identityGovernance/lifecycleWorkflows/workflows
POST /identityGovernance/lifecycleWorkflows/workflows/{workflowId}/activate
POST /identityGovernance/lifecycleWorkflows/workflows/{workflowId}/activatewithscope
POST /identityGovernance/lifecycleWorkflows/workflows/{workflowId}/createNewVersion
POST /identityGovernance/lifecycleWorkflows/workflows/{workflowId}/tasks/{taskId}/taskProcessingResults/{taskProcessingResultsId}/resume
PATCH /identityGovernance/lifecycleWorkflows/customTaskExtensions/{customTaskExtensionId}
PATCH /identityGovernance/lifecycleWorkflows/settings
PATCH /identityGovernance/lifecycleWorkflows/workflows/{workflowId}
PATCH /identityGovernance/lifecycleWorkflows/workflows/{workflowId}/tasks/{taskId}
DELETE /identityGovernance/lifecycleWorkflows/customTaskExtensions/{customTaskExtensionId}/
DELETE /identityGovernance/lifecycleWorkflows/deletedItems/workflows/{workflowId}/
DELETE /identityGovernance/lifecycleWorkflows/workflows/{workflowId}/
Commands
Get-MgIdentityGovernanceLifecycleWorkflow
Get-MgIdentityGovernanceLifecycleWorkflowCustomTaskExtension
Get-MgIdentityGovernanceLifecycleWorkflowDeletedItemWorkflow
Get-MgIdentityGovernanceLifecycleWorkflowExecutionScope
Get-MgIdentityGovernanceLifecycleWorkflowRun
Get-MgIdentityGovernanceLifecycleWorkflowRunTaskProcessingResult
Get-MgIdentityGovernanceLifecycleWorkflowRunUserProcessingResult
Get-MgIdentityGovernanceLifecycleWorkflowRunUserProcessingResultTaskProcessingResult
Get-MgIdentityGovernanceLifecycleWorkflowSetting
Get-MgIdentityGovernanceLifecycleWorkflowTask
Get-MgIdentityGovernanceLifecycleWorkflowTaskDefinition
Get-MgIdentityGovernanceLifecycleWorkflowTaskReport
Get-MgIdentityGovernanceLifecycleWorkflowTaskReportTaskProcessingResult
Get-MgIdentityGovernanceLifecycleWorkflowTemplate
Get-MgIdentityGovernanceLifecycleWorkflowUserProcessingResult
Get-MgIdentityGovernanceLifecycleWorkflowVersion
Get-MgIdentityGovernanceLifecycleWorkflowVersionTask
Initialize-MgIdentityGovernanceLifecycleWorkflow
Invoke-MgGraphIdentityGovernanceLifecycleWorkflowInsight
Invoke-MgSummaryIdentityGovernanceLifecycleWorkflowRun
Invoke-MgTopIdentityGovernanceLifecycleWorkflowInsightTaskProcessedSummary
Invoke-MgTopIdentityGovernanceLifecycleWorkflowInsightWorkflowProcessedSummary
Invoke-MgWorkflowIdentityGovernanceLifecycleWorkflowInsightProcessedSummary
New-MgIdentityGovernanceLifecycleWorkflow
New-MgIdentityGovernanceLifecycleWorkflowCustomTaskExtension
New-MgIdentityGovernanceLifecycleWorkflowNewVersion
Remove-MgIdentityGovernanceLifecycleWorkflow
Remove-MgIdentityGovernanceLifecycleWorkflowCustomTaskExtension
Remove-MgIdentityGovernanceLifecycleWorkflowDeletedItemWorkflow
Restore-MgIdentityGovernanceLifecycleWorkflowDeletedItemWorkflow
Resume-MgIdentityGovernanceLifecycleWorkflowTaskProcessingResult
Update-MgIdentityGovernanceLifecycleWorkflow
Update-MgIdentityGovernanceLifecycleWorkflowCustomTaskExtension
Update-MgIdentityGovernanceLifecycleWorkflowSetting
Update-MgIdentityGovernanceLifecycleWorkflowTask
Commands
Get-MgBetaIdentityGovernanceLifecycleWorkflow
Get-MgBetaIdentityGovernanceLifecycleWorkflowCustomTaskExtension
Get-MgBetaIdentityGovernanceLifecycleWorkflowDeletedItemWorkflow
Get-MgBetaIdentityGovernanceLifecycleWorkflowExecutionScope
Get-MgBetaIdentityGovernanceLifecycleWorkflowRun
Get-MgBetaIdentityGovernanceLifecycleWorkflowRunTaskProcessingResult
Get-MgBetaIdentityGovernanceLifecycleWorkflowRunUserProcessingResult
Get-MgBetaIdentityGovernanceLifecycleWorkflowRunUserProcessingResultTaskProcessingResult
Get-MgBetaIdentityGovernanceLifecycleWorkflowSetting
Get-MgBetaIdentityGovernanceLifecycleWorkflowTask
Get-MgBetaIdentityGovernanceLifecycleWorkflowTaskDefinition
Get-MgBetaIdentityGovernanceLifecycleWorkflowTaskReport
Get-MgBetaIdentityGovernanceLifecycleWorkflowTaskReportTaskProcessingResult
Get-MgBetaIdentityGovernanceLifecycleWorkflowTemplate
Get-MgBetaIdentityGovernanceLifecycleWorkflowUserProcessingResult
Get-MgBetaIdentityGovernanceLifecycleWorkflowVersion
Get-MgBetaIdentityGovernanceLifecycleWorkflowVersionTask
Initialize-MgBetaIdentityGovernanceLifecycleWorkflow
Initialize-MgBetaIdentityGovernanceLifecycleWorkflowDeletedItemWorkflowWithScope
Initialize-MgBetaIdentityGovernanceLifecycleWorkflowWithScope
Invoke-MgBetaGraphIdentityGovernanceLifecycleWorkflowInsight
Invoke-MgBetaSummaryIdentityGovernanceLifecycleWorkflowRun
Invoke-MgBetaTopIdentityGovernanceLifecycleWorkflowInsightTaskProcessedSummary
Invoke-MgBetaTopIdentityGovernanceLifecycleWorkflowInsightWorkflowProcessedSummary
Invoke-MgBetaWorkflowIdentityGovernanceLifecycleWorkflowInsightProcessedSummary
New-MgBetaIdentityGovernanceLifecycleWorkflow
New-MgBetaIdentityGovernanceLifecycleWorkflowCustomTaskExtension
New-MgBetaIdentityGovernanceLifecycleWorkflowNewVersion
Remove-MgBetaIdentityGovernanceLifecycleWorkflow
Remove-MgBetaIdentityGovernanceLifecycleWorkflowCustomTaskExtension
Remove-MgBetaIdentityGovernanceLifecycleWorkflowDeletedItemWorkflow
Restore-MgBetaIdentityGovernanceLifecycleWorkflowDeletedItemWorkflow
Resume-MgBetaIdentityGovernanceLifecycleWorkflowTaskProcessingResult
Update-MgBetaIdentityGovernanceLifecycleWorkflow
Update-MgBetaIdentityGovernanceLifecycleWorkflowCustomTaskExtension
Update-MgBetaIdentityGovernanceLifecycleWorkflowSetting
Update-MgBetaIdentityGovernanceLifecycleWorkflowTask

Code Examples

C# / .NET SDK
// Install: dotnet add package Microsoft.Graph
// Install: dotnet add package Azure.Identity
using Microsoft.Graph;
using Azure.Identity;

// Delegated permissions - interactive user sign-in
var scopes = new[] { "LifecycleWorkflows.ReadWrite.All" };
var options = new InteractiveBrowserCredentialOptions
{
    ClientId = "YOUR_CLIENT_ID",
    TenantId = "YOUR_TENANT_ID",
    RedirectUri = new Uri("http://localhost")
};
var credential = new InteractiveBrowserCredential(options);
var graphClient = new GraphServiceClient(credential, scopes);

// Example: GET /me
var result = await graphClient.Me.GetAsync();
Console.WriteLine($"User: {result?.DisplayName}");

// Application permissions - daemon/service app
var tenantId = "YOUR_TENANT_ID";
var clientId = "YOUR_CLIENT_ID";
var clientSecret = "YOUR_CLIENT_SECRET";

var credential = new ClientSecretCredential(tenantId, clientId, clientSecret);
var graphClient = new GraphServiceClient(credential);

// Example: GET /users/{user-id}
var users = await graphClient.Users.GetAsync();
foreach (var user in users?.Value ?? [])
{
    Console.WriteLine($"User: {user.DisplayName}");
}
JavaScript / TypeScript
// npm install @azure/msal-browser @microsoft/microsoft-graph-client
import { PublicClientApplication } from "@azure/msal-browser";
import { Client } from "@microsoft/microsoft-graph-client";
import { AuthCodeMSALBrowserAuthenticationProvider } from 
    "@microsoft/microsoft-graph-client/authProviders/authCodeMsalBrowser";

const msalConfig = {
    auth: {
        clientId: "YOUR_CLIENT_ID",
        authority: "https://login.microsoftonline.com/YOUR_TENANT_ID"
    }
};

const pca = new PublicClientApplication(msalConfig);
await pca.initialize();

// Delegated: Login with required scope
const loginResponse = await pca.loginPopup({
    scopes: ["LifecycleWorkflows.ReadWrite.All"]
});

const authProvider = new AuthCodeMSALBrowserAuthenticationProvider(pca, {
    account: loginResponse.account,
    scopes: ["LifecycleWorkflows.ReadWrite.All"],
    interactionType: "popup"
});

const graphClient = Client.initWithMiddleware({ authProvider });

// Example: GET /me
const result = await graphClient.api("/me").get();
console.log(result);

// Application: Use client credentials (Node.js backend only)
// npm install @azure/identity @microsoft/microsoft-graph-client
import { ClientSecretCredential } from "@azure/identity";
import { TokenCredentialAuthenticationProvider } from 
    "@microsoft/microsoft-graph-client/authProviders/azureTokenCredentials";

const credential = new ClientSecretCredential(
    "YOUR_TENANT_ID",
    "YOUR_CLIENT_ID", 
    "YOUR_CLIENT_SECRET"
);

const authProvider = new TokenCredentialAuthenticationProvider(credential, {
    scopes: ["https://graph.microsoft.com/.default"]
});

const graphClient = Client.initWithMiddleware({ authProvider });
const result = await graphClient.api("/users").get();
console.log(result);
PowerShell
# Install Microsoft Graph PowerShell module
Install-Module Microsoft.Graph -Scope CurrentUser

# Delegated access - interactive sign-in
Connect-MgGraph -Scopes "LifecycleWorkflows.ReadWrite.All"

# Verify connection
Get-MgContext | Select-Object Account, TenantId, Scopes

# Example: GET /me
$result = Invoke-MgGraphRequest -Method GET -Uri "https://graph.microsoft.com/v1.0/me"
$result | ConvertTo-Json -Depth 5

# Application access with certificate
$params = @{
    ClientId = "YOUR_CLIENT_ID"
    TenantId = "YOUR_TENANT_ID"
    CertificateThumbprint = "YOUR_CERT_THUMBPRINT"
}
Connect-MgGraph @params

# Or with client secret (not recommended for production)
# Connect-MgGraph -ClientSecretCredential $credential

# Example: GET /users
$result = Invoke-MgGraphRequest -Method GET -Uri "https://graph.microsoft.com/v1.0/users"
$result | ConvertTo-Json -Depth 5

# Always disconnect when done
Disconnect-MgGraph
Python
# pip install msgraph-sdk azure-identity
from azure.identity import InteractiveBrowserCredential, ClientSecretCredential
from msgraph import GraphServiceClient
import asyncio

# Delegated permissions - interactive browser sign-in
credential = InteractiveBrowserCredential(
    client_id="YOUR_CLIENT_ID",
    tenant_id="YOUR_TENANT_ID"
)
scopes = ["LifecycleWorkflows.ReadWrite.All"]
client = GraphServiceClient(credential, scopes)

async def get_data():
    # Example: GET /me
    result = await client.me.get()
    print(f"User: {result.display_name}")
    return result

asyncio.run(get_data())

# Application permissions - client credentials
credential = ClientSecretCredential(
    tenant_id="YOUR_TENANT_ID",
    client_id="YOUR_CLIENT_ID",
    client_secret="YOUR_CLIENT_SECRET"
)
scopes = ["https://graph.microsoft.com/.default"]
client = GraphServiceClient(credential, scopes)

async def get_users():
    # Example: GET /users
    result = await client.users.get()
    for user in result.value:
        print(f"User: {user.display_name}")
    return result

asyncio.run(get_users())

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 LifecycleWorkflows.ReadWrite.All

4

Grant Admin Consent

Application permissions always require admin consent. Click "Grant admin consent" in the Azure portal.