Microsoft Entra ID — LiveSync™

Automatic creation and updating of team members from Microsoft Entra ID groups via Microsoft Graph — read-only, admin consent, mapping groups to roles.

LiveSync™ connects Swopi to your Microsoft Entra ID, and from that point on your members and their digital business cards manage themselves: a new employee in a group means a ready-to-go account in Swopi complete with a business card; a change of position in the directory means up-to-date details on the card. Set it up once and it runs without manual data entry.

This is a pull sync — at a scheduled interval (daily / weekly / …) Swopi reads data from Microsoft Graph, one-way and read-only. The exact list of permissions can be found on the Permissions (least privilege) page. For a real-time (push) option, see SCIM 2.0.

#Overview

Data source Microsoft Graph (customer tenant)
Permission type Application permissions (app-only, client_credentials)
Permission scope User.Read.All, GroupMember.Read.All — read-only, with admin consent
Direction Entra ID → Swopi (one-way pull)
Frequency Daily / weekly / monthly / quarterly, or any time manually via "Synchronize now"
Role mapping Each group → role (Admin / Manager / Member)
Availability Teams plan, configured by the organization administrator

#Prerequisites

  • permission to edit the App Registration in your Entra ID and to grant admin consent,
  • security groups whose members are to be synchronized into Swopi,
  • the Swopi Teams plan.

#Step 1 — App Registration and permissions (provided by the customer)

In the Azure Portal → Microsoft Entra ID → App registrations:

  1. Use the same app registration as for SSO, or create a new one.

  2. API permissions → Add a permission → Microsoft Graph → Application permissions → add these two permissions (read-only):

    User.Read.All
    
    GroupMember.Read.All
    
  3. Click Grant admin consent for {tenant} — without this step the Graph requests will fail.

    📸 Screenshot: admin consent granted for the Graph permissions. images/entra-graph-consent.png

  4. Certificates & secrets → New client secret → create a client secret (if you don't already have one) and copy the value.

#Step 2 — Configuration in Swopi (customer administrator)

Dashboard → Integrations → Microsoft Entra ID:

  1. Connection — fill in the Directory (tenant) ID, Application (client) ID, and client secret. Searching for groups also verifies that the connection works.

    📸 Screenshot: connecting Entra ID and searching for groups. images/swopi-entra-connect.png

  2. Groups — select the groups whose members should be synchronized, and for each one set a role (Admin / Manager / Member). See Role mapping.

  3. Frequency — we recommend Daily.

  4. Fields to synchronize — for each field you choose:

    • Synchronize — the field is populated for new members,
    • Overwrite — changes in Entra overwrite the value in Swopi on the next sync. With overwrite disabled, manual edits in Swopi are preserved.

#Field mapping

Field in Swopi Attribute in Entra ID
Name Display name
Email (sign-in account) Mail (fallback: User principal name)
Position Job title
Company Company name
Phone Mobile phone (fallback: Business phone)
Location Street address, City, ZIP, Country

#How synchronization works

  • New member in a group → an account assigned to your organization is created in Swopi, along with a digital business card (pre-filled with the name and a QR code). The account has no password — the user signs in via SSO.
  • Existing member → details are updated according to the Overwrite toggles; the role is reconciled with current group membership.
  • Role based on groups → the group → role mapping is applied (priority Admin > Manager > Member). The Owner role is never overwritten.
  • Security — accounts belonging to another organization are never taken over; the sync skips them and lists them in the results summary. The client secret never leaves the server.
  • Removal from a group — the pull sync does not remove the member in Swopi (v1 does not delete). Automatic account deprovisioning is handled by SCIM 2.0; until then, an admin removes members manually in the Users section.

After each run, the configuration shows a summary: the number of new members, the number of updated members, and any skipped records with the reason.

📸
summary of the last synchronization run.

images/swopi-entra-sync-summary.png

## Relationship to SCIM 2.0

This integration covers automated creation and updating of members by reading from Microsoft Graph (pull). SCIM 2.0 provisioning is a push standard by which Entra ID itself writes changes, including deactivations — see SCIM 2.0 provisioning. Both approaches share the group-to-role mapping.

#Troubleshooting

Symptom Cause and solution
"graph-token-failed" when verifying the connection Wrong tenant/client ID or client secret, or admin consent not granted. Verify step 1.
Connection succeeds, but the group has no members Missing GroupMember.Read.All or admin consent. Members are read only for objects of type user.
A member was synchronized, but their phone is missing The field has Overwrite disabled and is empty in Swopi — or the attribute is not populated in Entra.
"account belongs to another organization — skipped" The email already exists in another Swopi organization. For security, the sync does not take it over.
A removed employee still has an account in Swopi The pull sync does not delete. Use SCIM for automatic deprovisioning, or remove the member manually.

Integration contact: support@swopi.co