About this integration
Connect Microsoft Viva employee experience signals and actions into your workflows. Use it from the workflow canvas with no custom glue script required.
This integration exposes 1 trigger, 5 search modules and 6 actions as workflow nodes. Authentication uses oauth or oauth authentication.
How to connect
The credential form asks for Microsoft - Tenant, Microsoft - Client ID, Microsoft - Client Secret, and Microsoft - Tenant.
OAuth asks you to approve Analytics.Read, User.Read.All, and EngagementRole.Read.All before access is granted.
Sign in and approve access — your password is never shared with WEXTL®, and you can revoke access from the provider at any time.
You’ll be redirected to sign in and approve access — your password is never shared with WEXTL.
You’ll be redirected to sign in and approve access — your password is never shared with WEXTL.
Connecting Microsoft Viva to WEXTL®
| Field | Type | Help |
|---|---|---|
Microsoft - TenantRequired | select | Go to |
Microsoft - Client IDRequired | text | Go to the Microsoft Entra admin center → Entra ID → App registrations and select New registration. → enter a description and expiration → Add, then immediately copy your Client ID |
Microsoft - Client SecretRequired | password | Copy you client Secret from the previously created app |
- Analytics.Read
- User.Read.All
- EngagementRole.Read.All
- EngagementRole.ReadWrite.All
- Community.Read.All
- Community.ReadWrite.All
- LearningContent.Read.All
- LearningContent.ReadWrite.All
- LearningAssignedCourse.Read
- LearningAssignedCourse.ReadWrite
- LearningProvider.Read
- LearningProvider.ReadWrite
| Field | Type | Help |
|---|---|---|
Microsoft - TenantRequired | select | Go to |
Microsoft - Client IDRequired | text | Register your application in the Microsoft Entra admin center, then copy the Application (client) ID from the app's Overview page |
Microsoft - Client SecretRequired | password | In your app registration, go to Certificates & secrets → Client secrets, create a new client secret, and copy its value immediately after it's generated. |
- Analytics.Read
- User.Read.All
- EngagementRole.Read.All
- EngagementRole.ReadWrite.All
- Community.Read.All
- Community.ReadWrite.All
- LearningContent.Read.All
- LearningContent.ReadWrite.All
- LearningAssignedCourse.Read
- LearningAssignedCourse.ReadWrite
- LearningProvider.Read
- LearningProvider.ReadWrite
Use it in workflow automation
Start with Watch Members, then add Create a Community.
The canvas below runs Watch Members into Create a Community — watch the video, then drop a node onto the canvas.
Select the Watch Members trigger and the workflow fires automatically when the event occurs — no polling required.
Then add Create an Engagement Member Role as the next node. Branch, filter, or hand off to other integrations from there.
The integration includes 7 ready-made modules for HR work — each run logs its inputs and outputs for debugging.
Microsoft Viva workflow on the canvas: Watch Members then Create an Engagement Member Role
Triggers, searches and actions
Use the tables below to inspect Microsoft Viva's 1 trigger, 5 search modules, and 6 actions.
Triggers
1 trigger fire automatically when specified events occur — no polling or cron job needed.
- Watch Members
Searches
Fetch data on demand using 5 search modules that query the app during a run.
- List Assigned Roles
- List Communities
- List Members
- List Roles
- Retrieve a Community
Actions
6 action modules cover the full range of create, update, and delete operations.
- Create a Community
- Create an Engagement Member Role
- Delete a Community
- Delete an Engagement Member Role
- Make an API Call
Explore the fields available for each Microsoft Viva trigger, search, and action.
Triggers
| Field | Type |
|---|---|
@odata type | text |
ID | text |
User ID | text |
Created date time | date |
Searches
| Field | Type |
|---|---|
User IDRequired | choice |
Display Name | text |
Limit | number |
| Field | Type |
|---|---|
ID | text |
Display name | text |
| Field | Type |
|---|---|
Limit | number |
| Field | Type |
|---|---|
ID | text |
Display name | text |
Description | text |
Privacy | text |
Group ID | text |
| Field | Type |
|---|---|
Engagement Role IDRequired | choice |
Limit | number |
| Field | Type |
|---|---|
@odata type | text |
ID | text |
User ID | text |
Created date time | date |
| Field | Type |
|---|---|
Display Name | text |
Limit | number |
| Field | Type |
|---|---|
ID | text |
Display name | text |
| Field | Type |
|---|---|
Community IDRequired | choice |
| Field | Type |
|---|---|
ID | text |
Display name | text |
Description | text |
Privacy | text |
Group ID | text |
Actions
| Field | Type |
|---|---|
Display NameRequired | text |
DescriptionRequired | text |
PrivacyRequired | choice |
| Field | Type |
|---|---|
ID | text |
Display name | text |
Description | text |
Privacy | text |
Group ID | text |
| Field | Type |
|---|---|
Engagement Role IDRequired | choice |
User IDRequired | choice |
| Field | Type |
|---|---|
@odata type | text |
Created date time | date |
ID | text |
User ID | text |
| Field | Type |
|---|---|
Community IDRequired | choice |
| Field | Type |
|---|---|
Engagement Role IDRequired | choice |
| Field | Type |
|---|---|
URLRequired | text |
MethodRequired | choice |
Headers | array |
Header | object |
Query String | array |
Parameter | object |
Body | text |
| Field | Type |
|---|---|
Body | text |
Headers | object |
Status code | number |
| Field | Type |
|---|---|
Community IDRequired | choice |
Display Name | text |
Description | text |
Privacy | choice |



