Administrator guide
Microsoft SharePoint administrator runbook
Create, verify, rotate, and revoke a customer-managed Microsoft Entra connection used by Workmate to read SharePoint as a signed-in user.
Last verified against Workmate and Microsoft documentation: August 26, 2026
Keep secrets out of support channels. Never paste a client secret, access token, refresh token, authorization code, or certificate private key into a ticket, chat, email, screenshot, or log. Workmate support should need only the safe diagnostics named in this guide.
Tasks in this runbook
- Understand the permission model
- Prepare roles and values
- Register and connect the Entra app
- Restrict who may authenticate
- Verify the connection
- Choose an app boundary
- Rotate, reconnect, disconnect, and revoke
- Respond to an incident
- Troubleshoot safely
Permission model
Microsoft Entra ID is Microsoft's identity and access service. An app registration identifies the customer-owned application that Workmate uses. Its corresponding enterprise application is the tenant-local object where an administrator controls sign-in, assignment, and consent.
Microsoft Graph is Microsoft's API for Microsoft 365. Delegated access means Workmate calls Graph on behalf of a signed-in Microsoft user. A delegated permission, also called a scope, limits what the app may ask Graph to do. Consent records that a user or administrator approved those scopes.
Effective access is the intersection of all applicable controls:
- Delegated Microsoft Graph permissions configured on the Entra app.
- User or tenant-wide admin consent granted to the enterprise application.
- The scopes actually present on the delegated access token.
- The signed-in user's SharePoint permissions and Microsoft policies.
- Enterprise-application assignment, when “Assignment required” is enabled.
- Workmate's own team ownership and Workmate-to-connection assignment.
Workmate validates and uses the resulting access. It does not create users, grant SharePoint membership, grant tenant consent, assign users to the enterprise application, or change Microsoft-side permissions.
The Entra app registration is the administrator-facing permission source of truth. Workmate requests Microsoft Graph https://graph.microsoft.com/.default and records the concrete delegated scopes Microsoft returns on each token. Workmate still exposes only its implemented operations; an extra token scope does not create generic Graph access.
Prerequisites
- A Workmate team administrator who can add a Microsoft Entra app.
- A dedicated Entra app registration used only for Workmate. Do not share it with unrelated software, because every consented delegated Graph permission may be represented by
/.defaulttokens issued to this client. - A Microsoft tenant ID and permission to register an app. Microsoft lists Application Developer as the minimum built-in role for its registration quickstart; tenant policy may require an application administrator.
- A Microsoft identity that can read every SharePoint site the Workmate should use. Use a dedicated, accountable identity when your policy requires it.
- A Cloud Application Administrator, Application Administrator, or appropriately configured custom role if users cannot consent or you want tenant-wide consent for these delegated Graph permissions. Privileged Role Administrator can grant consent for any permission.
Open Workmate's Entra app setup dialog before configuring authentication. It displays the exact redirect URI for your Workmate deployment.
Set up the connection
1. Register a single-tenant application
- Sign in to the Microsoft Entra admin center and switch to the tenant that owns the SharePoint sites.
- Go to Entra ID > App registrations > New registration.
- Enter a recognizable name, such as
<WORKMATE-SHAREPOINT-APP-NAME>. This registration must be dedicated to Workmate and must not be reused by unrelated applications. - For Supported account types, choose Accounts in this organizational directory only. A Workmate app record is bound to one tenant; a multitenant registration adds no benefit to this customer-managed setup.
- Select Register. Record the Directory (tenant) ID and Application (client) ID from Overview.
2. Add the exact redirect URI
- In Workmate, open Apps, choose Microsoft Entra App, and copy the displayed Web redirect URI.
- In the Entra app registration, open Authentication > Add a platform > Web.
- Paste the URI exactly, including scheme, host, path, and any port. Do not choose the single-page application platform and do not invent a localhost or production URI.
- Select Configure or Save.
Microsoft requires the redirect in an authorization request to exactly match a registered redirect URI. Copy it again from Workmate when moving between environments.
3. Create the client secret
- In the app registration, open Certificates & secrets > Client secrets > New client secret.
- Use a description that names its Workmate purpose and choose the shortest lifetime your rotation process can support. Microsoft allows at most 24 months and recommends less than 12 months.
- Copy the secret Value immediately. Do not copy the Secret ID. Microsoft shows the value only once.
- Store the value only in your approved secret handoff process until it has been submitted to Workmate, then remove temporary copies.
4. Configure delegated Microsoft Graph permissions
- Open API permissions > Add a permission > Microsoft Graph > Delegated permissions.
- Add
User.Readfor identity verification. Then add the delegated permissions for each Workmate service your team will connect — grant only the services you intend to use:- Outlook Mail:
Mail.Read,Mail.ReadWrite,Mail.Send - Outlook Calendar:
Calendars.Read,Calendars.ReadWrite - Outlook Contacts:
Contacts.Read,Contacts.ReadWrite - SharePoint:
Sites.Read.All
Sites.Selected(with explicit site grants) works in place ofSites.Read.All. Workmate recognizes broader observed authority such asSites.ReadWrite.All, but its curated SharePoint operations remain read-only; do not grant SharePoint write authority for Workmate. - Outlook Mail:
- Remove unrelated permissions. This app is dedicated to Workmate, so another application's requirements must not widen it.
- If your organization uses tenant-wide consent, select Grant admin consent and review the prompt. Otherwise, the connecting user may consent if tenant policy permits it. Tenant consent policy can still require an administrator even where Microsoft's permission reference does not mark a delegated scope as inherently admin-consent required.
Workmate requests Microsoft Graph /.default, plus the sign-in protocol scopes openid, profile, and offline_access. Microsoft uses /.default to issue the statically configured Graph permissions that have been consented for this client and user. Adding a permission to the registration is not consent, and consent is not proof that a particular token contains the scope. Workmate records and displays the exact delegated scopes Microsoft returns.
When using Sites.Selected
- Configure and consent delegated
Sites.Selectedon the Entra app. - Use Microsoft's selected-permissions procedure to grant this Entra application the
readrole on each intended SharePoint site. - Confirm that the signed-in delegated user also has sufficient SharePoint access to the site.
All three conditions are required: token scope, explicit site grant, and delegated-user access. Workmate does not copy selected-site grants into its database. Microsoft evaluates them on each site request.
Do not combine a broad scope with Sites.Selected when your goal is a selected-only boundary. If a token contains Sites.Read.All or Sites.ReadWrite.All as well as Sites.Selected, the broad scope remains effective. Selected grants are not deny rules.
5. Enter the app in Workmate and connect an identity
- In the Workmate dialog, enter a customer-recognizable name, Directory (tenant) ID, Application (client) ID, and the client secret Value.
- Submit the app. Workmate never displays the secret again.
- Select Connect identity for the new Entra app and choose the Workmate that will use the connection.
- Sign in at Microsoft with the intended tenant identity. Review the requested permissions and complete consent if prompted. Microsoft's prompt reflects the permissions configured on the dedicated app, not a separate Workmate scope chooser.
- Return to Workmate and confirm that the expected identity appears under the Entra app. Assign the connection only to the intended Workmates.
Restrict which identities may authenticate
Enterprise-application assignment is a Microsoft sign-in control. It is separate from Workmate assignment:
- Entra assignment decides which users or groups may sign in to this app and receive delegated tokens.
- Workmate assignment decides which Workmate may attempt a curated operation using an already connected identity.
- Neither assignment grants SharePoint site access; SharePoint and token permissions still apply.
- In the Entra admin center, go to Entra ID > Enterprise apps > All applications and open the customer-owned Workmate app.
- Open Properties, set Assignment required? to Yes, and save.
- Open Users and groups > Add user/group, select only approved identities, and assign.
- Test with an assigned identity before relying on the restriction.
Microsoft documents Cloud Application Administrator, Application Administrator, User Administrator, or service-principal owner as roles that can make assignments, with differences in what each may assign. Group assignment requires Microsoft Entra ID P1 or P2, and nested group membership does not cascade. When assignment is required, grant needed consent before expecting assigned users to sign in.
Verify the connection
- Open the connected app in Workmate and confirm the tenant ID, Entra app, client ID, identity, object ID, requested
/.defaultauthority, and observed scopes. - Select Check health. A healthy result means Microsoft accepted the token and Graph
/meconfirmed the expected identity. - Enter the exact approved site URL under Target SharePoint site and select Check site. This runs a bounded SharePoint metadata lookup through the assigned Workmate.
- For selected-only negative evidence, test a site the signed-in user can access but this Entra app has not received a
readgrant for. Microsoft should deny or hide that site. If a broad scope is also observed, the user's access may still allow the request because selected-site grants are not deny rules.
Safe diagnostics include tenant and client IDs, principal name and object ID, token expiration, requested resource authority, observed scope names, effective curated capability state, last-check time, connection state, and stable site outcomes. Do not request raw tokens or provider response bodies.
Choose an app boundary
- One app for one security boundary: use the same app where identities share credential ownership, consent review, rotation, and incident response.
- Separate apps for separate boundaries: use different apps when departments, regions, or regulated workloads require independent credentials, consent, enterprise assignments, rotation, or revocation.
- SharePoint access: grant each connected Microsoft identity access only to the sites it should read through Workmate.
Prefer the smallest number of apps that still matches your organization's ownership, audit, and incident-response boundaries.
Every app in this model is dedicated to Workmate. “Same boundary” means multiple Workmate identities may use one reviewed Workmate app; it does not mean the registration may be shared with unrelated products.
Routine operations
Rotate a client secret without interruption
- In Microsoft Entra, create the replacement secret first. Keep the current secret active.
- In Workmate, select Rotate secret for the Entra app. Enter the replacement secret Value and, optionally, its Microsoft expiration date.
- Select Validate and rotate. Workmate uses an eligible delegated refresh credential to ask Microsoft to validate the replacement.
- If Workmate reports validated, the replacement is current. Delete the old secret in Microsoft, then run connection health and a SharePoint read.
- If validation is not available because no usable delegated credential exists, the replacement may still be promoted. Reconnect the affected identity and verify it before deleting the old Microsoft secret.
Microsoft rejection of the replacement as an invalid or unauthorized client leaves the current Workmate secret unchanged. A revoked delegated grant may allow emergency promotion and mark the identity for reconnect. A transient Microsoft or network failure does not promote the candidate. Successful promotion is atomic: Workmate immediately removes the prior encrypted secret value and retains only safe version metadata. There is no stored old secret to roll back to.
The optional expiration date is customer-supplied metadata for operations; it is not proof from Microsoft. Initial app setup does not collect an expiration date.
Reconnect an identity
Use Reconnect when consent, the refresh grant, or identity authorization needs repair. Workmate requests Graph /.default, forces a consent prompt, records the newly returned delegated scopes, and requires the same Microsoft identity. Reconnect does not change the tenant or client ID and does not grant SharePoint membership or a selected-site role.
Apply Entra permission changes and migrate existing connections
Adding or removing an API permission in Entra does not rewrite an access token already issued, and Workmate does not reinterpret its last observed scopes as current Entra configuration. Complete required consent and reconnect for a deterministic new token. Refresh and secret-rotation validation also replace observed scopes when Microsoft returns a new scope set, but their timing is not an administrator-facing deployment mechanism.
Connections created before Workmate adopted /.default are labeled as legacy in diagnostics. They continue renewing with their previously observed resource scopes so deployment does not silently broaden them. Reconnect once to migrate that connection to the dedicated-app /.default authority model.
Understand each stop or revoke action
| Action | What it stops | What remains |
|---|---|---|
| Remove Workmate assignment | That Workmate's use of the connection | Microsoft token custody, consent, user access, and other assignments |
| Disconnect in Workmate | Workmate's local use by removing encrypted delegated credentials | Safe identity/audit metadata, Workmate assignments, Microsoft consent, enterprise assignment, client secrets, and SharePoint access |
| Remove enterprise-app user assignment | Future sign-in by that user when assignment is required | Existing token lifetime, SharePoint permissions, consent, and Workmate custody |
| Delete a Microsoft client secret | New token exchanges that require that secret | Access tokens already issued until Microsoft rejects or they expire |
| Revoke delegated consent/grant | The Microsoft delegated authorization represented by that grant | App registration and SharePoint membership |
| Disable enterprise app sign-in | New user sign-ins to the enterprise app | Existing token lifetime and Microsoft resource permissions |
To review or revoke delegated consent, go to Enterprise apps > the application > Permissions. Microsoft allows tenant-wide admin consent to be revoked in the portal. User-specific consent must be revoked with Microsoft Graph or PowerShell. Use a Cloud Application Administrator or Application Administrator for this permission review, and record the grant that was removed.
Emergency response
- Contain Workmate use: remove the affected Workmate assignment or disconnect the connection. Disconnect removes Workmate's encrypted delegated credentials but is not Microsoft-side revocation.
- Contain Microsoft sign-in: disable sign-in on the enterprise application or remove assignments when appropriate.
- Invalidate credentials: delete the suspected client secret in Microsoft, revoke affected delegated grants, and apply your tenant's user-session revocation procedure. Existing access tokens may remain usable until Microsoft rejects them or they expire.
- Recover: create a new Microsoft secret, rotate it into Workmate, reconnect the intended identity, restore only reviewed assignments and consent, then run health and positive/negative site tests.
- Preserve safe evidence: record times, actor names, tenant and client IDs, object IDs, secret version numbers, state, and stable diagnostics. Never preserve secret or token values in the incident record.
Troubleshooting
| Symptom | Check | Action |
|---|---|---|
| Wrong tenant or tenant mismatch | Workmate tenant ID, Entra Overview tenant, Microsoft sign-in tenant | Use the correct single-tenant registration. Tenant/client changes require a new Workmate Entra app and connection, not secret rotation. |
| Wrong identity | Identity and object ID shown in Workmate diagnostics | Reconnect and select the exact same intended Microsoft identity. Sign out of unrelated Microsoft sessions if account selection is ambiguous. |
| Missing consent or scope | Observed scopes in Workmate; API permissions and consent in Entra | Add the required delegated permission, grant consent under tenant policy, then reconnect and approve every requested permission. |
| Enterprise-app assignment denial | Assignment required setting and direct/group membership | Assign the identity directly or through a licensed supported group. Nested groups do not confer assignment. |
| Healthy identity but inaccessible site | Check site outcome, user access, and for Sites.Selected the Microsoft-side site grant | Grant both the application and delegated user the intended site access. Do not add a broad scope merely to bypass a missing selected-site grant. |
| Client secret invalid or expired | Entra secret expiration and Workmate's safe version metadata | Create a replacement in Microsoft, rotate it in Workmate, then reconnect if requested. Enter the secret Value, not Secret ID. |
| Delegated grant revoked | Workmate “Revoked” diagnostic and Entra permissions | Restore reviewed consent and reconnect the intended identity. |
| Transient Graph or token failure | Stable Workmate message and last-check time | Wait and run Check health again. Do not rotate or broaden permissions solely for a transient Microsoft or network failure. |
Security-review summary
- The customer owns the Entra app, tenant consent, Microsoft identities, client-secret lifecycle, enterprise assignments, and SharePoint permissions.
- Workmate encrypts client secrets and delegated access, refresh, and ID tokens with team-scoped AES-256-GCM envelopes bound to the stored record context.
- Workmate authorizes the exact team, connection, and Workmate assignment before decrypting credentials or calling Microsoft.
- Client secrets are write-only after submission. Product APIs and UI expose safe metadata, scope names, state, timestamps, and stable diagnostics, not plaintext credentials.
- Microsoft provider error text and response bodies are mapped to stable customer-safe outcomes. Secrets, tokens, and provider payloads are prohibited from application logs, errors, and agent-visible results.
- The native customer-managed path uses the customer's Entra app, Workmate's encrypted credential custody, and direct bounded Graph operations. Pipedream-backed integrations instead broker OAuth and API request/response payloads through Pipedream; do not assume the same scopes, custody, or lifecycle controls.
Official Microsoft procedures
- Register an application
- Add a redirect URI
- Add application credentials
- Microsoft identity platform admin consent
- Grant tenant-wide admin consent
- Assign users and groups to an enterprise application
- Review and revoke enterprise-application permissions
- Microsoft Graph Sites.Read.All permission reference
- Microsoft identity platform .default scope
- Microsoft Graph selected permissions overview