Sensio 365 Integration

This article describes the eADM integration with Sensio 365, a platform for managing welfare technology devices and patient alarms in care homes. The integration handles user provisioning and role assignments between eADM and Sensio 365, and serves as the reference implementation for the eADM third-party integration framework.

Overview

Sensio 365 is used by Norwegian municipalities and care organisations to manage welfare technology devices, including patient alarms, in nursing homes and similar facilities. The eADM–Sensio 365 integration automates joiner, mover, and leaver workflows for staff accounts in Sensio 365, driven by role assignments in eADM.

The integration connects to the Sensio Partner API and synchronises users, site memberships, and group memberships. Because Sensio 365 uses a site-and-group model for access control, eADM system roles map directly to Sensio groups within specific sites.

Architecture

The integration is built as a native server-side export sync step (ExportSensio / sync step ID 1103), following the same pattern as Aidn and KS Kunnskap:

  • Runs in the eADM application environment (IP whitelisting toward Sensio; no VPN)

  • OAuth2 client_credentials with scope employee_write

  • Imports Sensio sites/groups as eADM system roles

  • Creates/updates employees and manages site/group membership from eADM permissions

Partner API base (QA): https://wf-qa.papi.sensio.no/partner
Swagger: https://wf-qa.papi.sensio.no/partner/swagger/index.html

Data Model

Sensio object

eADM representation

Notes

Site

Reference only

Sites cannot be created or modified via the API. Used to scope group memberships.

Group

System role

Groups are imported from Sensio and synced as system roles. Groups cannot be created or deleted via the API. Naming convention: [SiteName] - [GroupName]. Metadata: siteId\|groupId.

Employee

eADM user

Users cannot be deleted via the API; they can only be added to or removed from sites and groups.

Scope

In scope

  • Importing system roles from Sensio sites and groups

  • Creating and updating user accounts in Sensio 365 according to the sync template

  • Adding users to sites

  • Removing users from sites

  • Adding users to groups

  • Removing users from groups

  • User matching by email address, username, national identity number (pid), or externalUserId

  • API throttling handling (HTTP 429 + Retry-After)

  • Configurable group and site exclusions in the syncstep configuration

  • Full server-side logging, including merge reports and object history

  • Graceful handling of connectivity issues

Out of scope

  • Deleting users in Sensio 365 (not supported by the Sensio API)

  • Creating or deleting groups in Sensio 365 (not supported by the Sensio API)

  • Creating, updating, or deleting sites in Sensio 365 (not supported by the Sensio API)

  • Initial population of existing users to roles prior to go-live

Configuration

The syncstep configuration for the Sensio 365 integration accepts the following parameters.

Parameter

Description

Api Url

Partner API base URL, e.g. https://wf-qa.papi.sensio.no/partner

API Token URL

OAuth token endpoint, e.g. https://wf-qa.papi.sensio.no/partner/api/v1/tokens/oauth/accesstoken

Client Credential Reference

Client ID + Client Secret (scope issued: employee_write)

Site IDs to exclude

Comma-separated Sensio site GUIDs to skip

Group IDs to exclude

Comma-separated Sensio group GUIDs to skip (e.g. admin roles)

Merge Attribute User

One of: email, username, pid, externalUserId

Extended Logging

Optional verbose API logging

Export template attributes for users: name, email, username, pid, externalUserId, phoneNumber. Role membership is driven by eADM system-role permissions (SystemRoleId), not by separate group export flows.

Go-live checklist (Fredrikstad / operators)

  1. Database: Ensure SyncStep row exists for ID 1103 / name Export Sensio (is exportable, supports config key).

  2. Whitelist: Ask Sensio to whitelist Identum egress IPs for the Partner API (VPN is not used).

  3. Credentials: Create a Client Credential in eADM with Client ID + Client Secret from Sensio (1Password holds QA details). Link it on the company sync step via Client Credential Reference.

  4. System: Create/select an eADM System dedicated to Sensio and assign it on the company sync step (SystemId). Roles are provisioned into this system as [SiteName] - [GroupName].

  5. Sync step parameters: Set Api Url, API Token URL, exclusions, and Merge Attribute User to match how Fredrikstad identifies employees in Sensio.

  6. Export template: Map eADM fields to Sensio employee attributes; keep merge attribute consistent with Merge Attribute User.

  7. Dry-run: Run with test=true (UI test export or CLI sensio <orgnr> false true). Review Sensio_*_MergeReport.txt and Sensio_*_Sites.json before enabling production.

  8. Production: Enable the sync step in the customer schedule. First full export also synchronises group membership for all managed Sensio groups.

  9. CLI: IntegrationsSyncStepRunner sensio <orgnr> <fullexport> <test> [objectId]

Last updated: