Roster for Microsoft Entra ID

Turn Entra users and groups into runtime routing context for AI agents and workflows.

Roster connects to Microsoft Entra ID through Microsoft Graph to resolve who should approve, own, review, receive, or handle work. Use the users and groups your organization already manages in Entra—without copying approver names into prompts, workflow definitions, or application code.

Connect Microsoft Entra IDRead the configuration guide

Last verified 07/13/2026

Entra identifies your workforce. Roster resolves who should act.

Microsoft Entra ID provides authoritative user identities, groups, and membership information.

But agents and workflows need answers to business questions:

Which users belong to this group?

It asks:

Who should approve this request?
Which group owns this application?
Who should review this production change?
Who is covering while the normal owner is unavailable?

Roster associates selected Entra users and groups with project-specific participants such as Production Release Approver, Vendor Security Reviewer, or Regional Finance Owner. It then resolves the active participant using directory membership, project context, labels, metadata, and Roster delegations.

How Roster connects to Microsoft Entra ID

Roster's native connector reads users, groups, and direct group membership through Microsoft Graph v1.0.

SOURCE OF TRUTHROSTERCONSUMERSEntra directoryUSERS+2,481GROUPSEU-AppSecFinanceSREMEMBERSHIPSMICROSOFT GRAPH v1.0SELECTIVE MATERIALIZATIONonly records admins pickPARTICIPANTApplication Security Reviewerregion=EU · app=atlasScheduled refreshnot a full syncLIVE SEARCH · ADMIN PICKERAI AGENTSMCP clientsWORKFLOWSautomationREST APIapps & servicesCLI / CIterminal & pipelines

When an administrator searches for an Entra user or group in Roster, the connector queries Microsoft Graph live.

After the administrator associates a selected record with a participant, Roster materializes that directory record. For a selected group, Roster also stores the direct membership relationships required for participant resolution.

Runtime Resolve requests and directory searches through REST or MCP use Roster's materialized directory state rather than calling Microsoft Graph for every request.

What you can resolve

Dynamic approvers

Select an approver from a current Entra user or group instead of storing a fixed email address in each workflow.

Who should approve the Atlas production deployment?

Application and service owners

Associate Entra groups with participants representing technical or business ownership.

Who owns the customer identity service?

Human reviewers for AI agents

Let an agent resolve the appropriate security, legal, finance, or operational reviewer before taking a sensitive action.

Who should review this authentication change?

Escalation contacts

Resolve the group or user responsible for a specific project, region, customer, application, or severity level.

Who should receive this critical customer escalation?

Delegated responsibility

Apply a time-bound Roster delegation when the normal owner is unavailable.

Who is covering for the release approver this week?

From an Entra group to a workflow participant

An Entra group identifies directory members. A Roster participant defines the responsibility those members can fulfil in a particular context.

ENTRA GROUPROSTER PARTICIPANTPROJECT CONTEXTRESOLUTIONEentraEU-Application-Securitygroup · 12 members+3object_ide3f2a…sourcedirectoryMAPS TORrosterApplication Security Reviewerparticipant · responsibilityregion=EUapp=atlasrisk=hightier=criticalmembers← EU-Application-SecuritySCOPED INPROJECTAtlasDeploymentEMEAproduction+ delegation overlayRESOLVES
Who should review this European production change?
AAnja K.via EU-App-Security

The same Entra group can support different responsibilities across different Roster projects without changing the source directory.

Participants can also carry metadata such as: Region, Department, Product, Application, Approval threshold, Risk category, Customer segment, Escalation level.

Use Entra-backed context from every Roster surface

Once Entra records have been associated with Roster participants, the same organizational context is available across every Roster surface.

MCP

Let Claude, ChatGPT, Codex, or another compatible MCP client resolve organizational responsibility.

claude · mcp
Who should approve this production change?
→ tool: resolve
Anja Kowalski · Application Security Reviewer · via EU-App-Security
REST API

Add directory-backed participant resolution to internal tools, workflow engines, and custom agents.

POST /api/v1/resolve
curl -X POST "<your-roster-public-url>/api/v1/resolve" \
-H "Authorization: Bearer $ROSTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query":"Who approves this change?","project_id":"proj_atlas"}'
// 200 OK
{ "participant": "app_security_reviewer", "user": "anja@acme.com" }
CLI and CI

Resolve ownership and sign-off requirements from the terminal or deployment pipeline.

~/roster · zsh
$ roster resolve "Who should approve the Atlas deployment?"
✓ Anja Kowalski <anja@acme.com>
role: Application Security Reviewer · source: entra:EU-App-Security
Roster platform

Let administrators browse Entra users and groups, associate them with participants, configure delegations, and review resolution history.

app.roster.ai › participants
Application Security Reviewer
linked · entra:EU-Application-Security
delegation · Anja K. → Piotr M. (until Fri)

What Roster reads from Microsoft Entra ID

Entra dataUsed by RosterMaterialized in Roster
Stable object IDYesFor selected records
Display nameYesFor selected records
User principal nameYesFor selected users
Email addressWhen availableFor selected users
Mail nicknameFor lookupAs applicable
Group ID and nameYesFor selected groups
Group emailWhen availableFor selected groups
Direct group membersYesFor selected groups
Passwords and authentication methodsNoNo
Application secretsNoNo

Typical Microsoft Graph resources used by the connector are:

/users
/groups
/groups/{id}/members

The directory connector is read-oriented. It is not used to create, modify, or delete Entra users and groups.

Live lookup and materialized resolution

Roster uses two deliberate data-access modes.

Live provider browsing

Roster queries Microsoft Graph when an administrator searches for an Entra user or group from the participant picker.

Materialized runtime data

Once selected, the record is stored in Roster and associated with a participant. Selected group memberships are refreshed according to the configured schedule. REST, MCP, CLI, and Resolve operations use the same materialized state, giving every integration surface a consistent organizational context.

Connection requirements

To configure the connector, you need:

  1. 01A Microsoft Entra tenant
  2. 02An app registration
  3. 03A tenant ID
  4. 04A client ID
  5. 05A client secret stored outside source control
  6. 06Microsoft Graph application permissions
  7. 07Tenant administrator consent
  8. 08A refresh schedule

Roster's current client-secret implementation requires these Graph application permissions:

User.Read.All
Group.Read.All
GroupMember.Read.All

Store the secret in the runtime environment or your secret manager:

env:ENTRA_CLIENT_SECRET

Apply your organization's normal secret rotation, expiration, and revocation policies.

View detailed Entra connector requirements

Entra directory data and Entra login are separate

Roster supports two distinct Microsoft Entra integration paths.

Entra directory connector

Provides users, groups, and membership information for participant resolution.

Entra identity provider

Lets human users sign in to Roster through Microsoft OIDC or an independently configured SAML enterprise application.

The two integrations can be used together or independently. Configuring Entra login does not automatically connect Entra directory data to participants. Configuring the directory connector does not automatically enable Entra login.

Example: resolve a production approver

A CI pipeline is preparing to deploy the Atlas application.

Instead of containing a fixed approver email, the pipeline asks:

Who should approve the Atlas production deployment?

Roster evaluates:

  1. The Atlas project
  2. The Production Release Approver participant
  3. Participant labels and metadata
  4. The associated Entra user or group
  5. Current materialized group membership
  6. Any active Roster delegation

The pipeline receives the active participant and can continue through its existing pull-request, deployment, ticketing, or approval system. Roster resolves who should act. It does not replace the system that sends or enforces the approval.

Frequently asked questions

No. Roster queries Entra live when an administrator searches for a record, then materializes the selected users, groups, and required direct membership relationships.

Give your agents and workflows live Entra context

Keep identities and groups in Microsoft Entra ID. Use Roster to resolve who should act for a particular approval, project, workflow, escalation, or agent request.

Connect Microsoft Entra IDRead the Entra connector documentationExplore all integrations