Unify Integrations
Logo
Microsoft Entra ID

Microsoft Entra ID

Logo

9 mins READ

Microsoft Entra ID, formerly Azure Active Directory, is Microsoft's cloud identity and access management service for users, groups, devices and apps, with single sign-on and multi-factor authentication. The UnifyApps Microsoft Entra ID connector uses the Microsoft Graph API to create, update, disable and delete users and groups, manage group members, owners and licenses, read directory details and react to user and group changes from workflows and agents.

This guide covers every authentication type available on the connection form, and the actions and triggers supported, along with the Microsoft Graph permission each one needs.

Authentication

Before you begin, you should have the following information:

  • Connection name: a descriptive name such as MyAppMicrosoftEntraIDIntegration, so the connection is easy to identify later.

  • Authentication type: select the type of authentication for connecting to your Microsoft Entra ID tenant:

    1. OAuth

    2. OAuth with client configuration

    3. Client credentials

Every authentication type needs a Client ID and Client Secret from your own Azure app registration. For the two OAuth types, the Scopes field is optional: if you leave it empty, the connection requests offline_access, Group.ReadWrite.All, User.ReadWrite.All, People.Read.All and Directory.Read.All. If you select scopes yourself, include offline_access so the connection can refresh its token. All of these permissions except offline_access need admin consent.

1. OAuth

Use this when actions should run on behalf of a signed-in Microsoft user, through your organization's Azure app registration.

Step 1: App registration in Azure

  1. Log in to the Azure portal, search for App registrations and click New registration.

microsoft-entra-id-screenshot-1.png
microsoft-entra-id-screenshot-1.png

  1. Enter a name and choose the supported account type as Multitenant or Single tenant.

  2. Under Redirect URI, choose platform Web and paste the UnifyApps Callback URL. The OAuth form does not show it; select OAuth with client configuration on the connection form to copy it. Both types use the same URL, which differs per environment.

  3. Click Register.

microsoft-entra-id-screenshot-2.png
microsoft-entra-id-screenshot-2.png

  1. On the Overview tab, copy the Application (client) ID and the Directory (tenant) ID.

microsoft-entra-id-screenshot-3.png
microsoft-entra-id-screenshot-3.png

  1. Go to API permissions → Add a permission → Microsoft Graph → Delegated permissions and add the permissions the connection will use, for example User.ReadWrite.All, Group.ReadWrite.All, Directory.Read.All, People.Read.All and offline_access. See the Scopes Required column below.

  2. Click Grant admin consent. The directory permissions above require it.

  3. Go to Certificates & secrets → New client secret, add a description and expiry, and click Add. Copy the secret Value immediately and store it securely. It is not shown again.

microsoft-entra-id-screenshot-4.png
microsoft-entra-id-screenshot-4.png

Step 2: Connection setup in UnifyApps

  1. Open Connections → New Connection → Microsoft Entra ID and enter a Connection name.

  2. Select OAuth as the Authentication type.

  3. Enter the Client ID and Client Secret copied from Azure.

  4. Leave Tenant ID as common, or enter your tenant ID to restrict sign-in to one organization.

  5. Optionally select the Scopes you need, including offline_access.

  6. Leave Delegated scopes on (the default).

  7. Click Authorize, sign in with a Microsoft account in your tenant and accept the consent screen.

  8. Confirm the success message after the redirect back to UnifyApps.

Note: with the OAuth types, actions run as the signed-in user. Write actions also need that user to hold a suitable Microsoft Entra role, for example User Administrator or Groups Administrator.

2. OAuth with client configuration

Use this when your organization wants the connection to use its own Azure app registration while actions still run on behalf of a signed-in user. It works like OAuth, and the form also shows the Callback URL to register in Azure.

Step 1: App registration in Azure

  1. Register the app as described in Step 1 of OAuth above. Under Redirect URI, choose platform Web and paste the Callback URL shown at the top of this connection form.

  2. Copy the Application (client) ID, Directory (tenant) ID and client secret Value.

Step 2: Connection setup in UnifyApps

  1. Open Connections → New Connection → Microsoft Entra ID and enter a Connection name.

  2. Select OAuth with client configuration as the Authentication type.

  3. Enter the Client ID and Client Secret copied from Azure.

  4. Leave Tenant ID as common, or enter your tenant ID.

  5. Optionally select the Scopes you need, including offline_access.

  6. Leave Delegated scopes on (the default).

  7. Click Authorize, sign in with Microsoft and accept the consent screen.

  8. Confirm the success message after the redirect back to UnifyApps.

3. Client credentials

Use this for app-only access that does not depend on a signed-in user. The app acts as itself with the application permissions granted in Azure.

Step 1: Register the app in Azure

  1. Log in to the Azure portal, search for App registrations and click New registration.

  2. Enter a name and supported account type, and click Register. No redirect URI is needed for this flow.

  3. From Overview, copy the Application (client) ID and Directory (tenant) ID.

  4. Go to API permissions → Add a permission → Microsoft Graph → Application permissions and add the permissions the connection will use, for example User.Read.All and Group.Read.All to read, or User.ReadWrite.All and Group.ReadWrite.All to make changes. See the Scopes Required column below.

  5. Click Grant admin consent. Application permissions do not work until an administrator consents to them.

  6. Go to Certificates & secrets → New client secret, click Add, and copy the secret Value.

Step 2: Create the connection in UnifyApps

  1. Select Client credentials as the Authentication type.

  2. Enter the Client ID, Client Secret and Tenant ID. Use your actual tenant ID here; common is meant for the sign-in based flows.

  3. Leave Delegated scopes off (the default for this type).

  4. Click Test Connection to validate the credentials, then click Create.

Actions

Permissions are Microsoft Graph permissions. Where Delegated and Application differ, Delegated applies to the OAuth types and Application to Client credentials. Any broader permission also works. Some least-privileged permissions, such as GroupMember.ReadWrite.All, LicenseAssignment.ReadWrite.All and User.RevokeSessions.All, are not in the form's Scopes list: with the OAuth types, use the broader permission shown in brackets; with Client credentials, grant whichever you prefer in Azure.

Actions

Description

Scopes Required

Add group owner

Adds an owner to a security group or Microsoft 365 group.

Group.ReadWrite.All (or Directory.ReadWrite.All)

Add or remove user license

Adds or removes a user license in Microsoft Entra ID.

LicenseAssignment.ReadWrite.All (or User.ReadWrite.All)

Add user to group

Adds the selected user to a group in Microsoft Entra ID.

GroupMember.ReadWrite.All (or Group.ReadWrite.All)

Count group members

Gets the number of direct members in a group.

GroupMember.ReadBasic.All (or Group.Read.All)

Count groups

Gets the total number of groups in Microsoft Entra ID.

Group.Read.All (or Directory.Read.All)

Count users

Gets the total number of users in Microsoft Entra ID.

Delegated: User.ReadBasic.All (or User.Read.All); Application: User.Read.All

Create group

Creates a group in Microsoft Entra ID.

Delegated: Group.ReadWrite.All; Application: Group.Create (or Group.ReadWrite.All)

Create user

Creates a user in Microsoft Entra ID.

User.Create and User.Read.All, plus User.ReadUpdate.All if you set update fields (or User.ReadWrite.All for all)

Delete group

Deletes a group in Microsoft Entra ID.

Group.ReadWrite.All

Delete user

Deletes a user in Microsoft Entra ID.

User.ReadWrite.All

Disable user

Disables a user in Microsoft Entra ID.

User.EnableDisableAccount.All and User.Read.All (or User.ReadWrite.All)

Download photo

Downloads a user's photo from Microsoft Entra ID.

ProfilePhoto.Read.All (or User.Read.All)

Get all groups details

Gets the details of all groups in Microsoft Entra ID.

Group.Read.All (or Directory.Read.All)

Get all subscribed SKUs

Gets the details of all subscribed SKUs (licenses) in Microsoft Entra ID.

LicenseAssignment.Read.All (or Directory.Read.All)

Get all users

Gets all users in Microsoft Entra ID.

Delegated: User.ReadBasic.All (or User.Read.All); Application: User.Read.All

Get Connection Details

Gets the profile of the connected user, or of a given user, from Microsoft Entra ID.

Delegated: User.Read for your own profile, User.Read.All for another user; Application: User.Read.All

Get direct reports

Gets the users and contacts that report directly to a user in Microsoft Entra ID.

Delegated: User.Read and User.ReadBasic.All (or User.Read.All); Application: User.Read.All

Get group details

Gets the details of a group in Microsoft Entra ID.

Group.Read.All (or Directory.Read.All)

Get groups delta

Gets groups created, updated or deleted in Microsoft Entra ID, using a delta query.

Group.Read.All (or Directory.Read.All)

Get groups latest delta token

Returns a delta token for the current point in time, without a full sync, to pass to Get groups delta later.

Group.Read.All (or Directory.Read.All)

Get manager

Gets the details of a user's manager in Microsoft Entra ID.

User.Read.All (delegated; Microsoft lists no application permission)

Get user details

Gets the details of a user in Microsoft Entra ID.

Delegated: User.Read for your own profile, User.Read.All for another user; Application: User.Read.All

Get user license

Gets the license details of a user in Microsoft Entra ID.

LicenseAssignment.Read.All (or User.Read.All); delegated, Microsoft lists no application permission

Get users delta

Gets users created, updated or deleted in Microsoft Entra ID, using a delta query.

User.Read.All

List group memberships

Lists the groups, admin roles and administrative units that a group is a direct member of.

GroupMember.ReadBasic.All (or Group.Read.All)

List group owners

Lists the owners of a group.

GroupMember.Read.All (or Group.Read.All)

List transitive members

Lists the users, groups, devices and organizational contacts that are members of a group, including nested members.

GroupMember.ReadBasic.All (or Group.Read.All)

List transitive memberships

Lists the groups that a group is a member of, including groups it is a nested member of.

GroupMember.ReadBasic.All (or Group.Read.All)

List user groups

Lists the groups of a user in Microsoft Entra ID.

Delegated: User.Read for your own groups, User.Read.All for another user; Application: Directory.Read.All

Remove group owner

Removes an owner from a Microsoft 365 group or security group.

Group.ReadWrite.All (or Directory.ReadWrite.All)

Remove user from group

Removes a user from a group in Microsoft Entra ID.

GroupMember.ReadWrite.All (or Group.ReadWrite.All)

Revoke user sign-in session

Revokes a user's sign-in sessions in Microsoft Entra ID.

Delegated: User.RevokeSessions.All (or User.ReadWrite.All); Application: User.RevokeSessions.All

Search group members

Searches the members of a group in Microsoft Entra ID.

GroupMember.ReadBasic.All (or Group.Read.All)

Search groups

Searches groups in Microsoft Entra ID.

Group.Read.All (or Directory.Read.All)

Search transitive group members

Searches the transitive (nested) members of a group in Microsoft Entra ID.

GroupMember.ReadBasic.All (or Group.Read.All)

Search users

Searches users in Microsoft Entra ID.

Delegated: User.ReadBasic.All (or User.Read.All); Application: User.Read.All

Update group

Updates a group in Microsoft Entra ID.

Group.ReadWrite.All (or Directory.ReadWrite.All)

Update user

Updates a user in Microsoft Entra ID.

User.ReadUpdate.All (or User.ReadWrite.All)

Triggers

Triggers

Description

Scopes Required

Deleted user

Triggers when a user is permanently deleted in Microsoft Entra ID.

User.Read.All

New / updated group

Triggers when a group is created or updated in Microsoft Entra ID.

Group.Read.All

New / updated user

Triggers when a user is created or updated in Microsoft Entra ID.

User.Read.All

New / updated user (Polling)

Polls Microsoft Entra ID with the users delta query and triggers when a user is created, updated or deleted.

User.Read.All