Autoheal
This webhook lets your endpoint receive autoheal results for guest accounts in EasyLife 365. It includes the guest details and the owners assigned by the autoheal process so downstream systems can sync ownership and compliance data.
HTTP Request
POST YourApiUrl
Content-Type: application/json
Payload
This payload is sent when autoheal processes a guest and assigns owners:
{
"guest": {
"id": "8550ba43-5e34-47e8-865f-16dceeb9997e",
"userType": "Guest",
"userPrincipalName": "autohealuser_easylife.com#EXT#@nuborocks.onmicrosoft.com",
"externalUserStateChangeDateTime": "2026-08-24T04:11:04+00:00",
"externalUserState": "PendingAcceptance",
"displayName": "Invited Autoheal user",
"createdDateTime": "2026-08-24T04:11:04+00:00",
"businessPhones": [],
"accountEnabled": true,
"mail": "autohealuser@easylife.com",
"extensions": [
{
"pId": "fed12c6f-8b7b-4665-8319-feaad55e202d",
"noEsca": false,
"extensionName": "cloud.easyLife.policy",
"id": "cloud.easyLife.policy"
},
{
"extensionName": "cloud.easyLife.metadata",
"id": "cloud.easyLife.metadata"
}
],
"metadata": {
"additionalData": {
"extensionName": "cloud.easyLife.metadata",
"id": "cloud.easyLife.metadata"
}
},
"policy": {
"pId": "fed12c6f-8b7b-4665-8319-feaad55e202d",
"noEsca": false
},
"easylife365_user": {
"policyId": "fed12c6f-8b7b-4665-8319-feaad55e202d",
"isCompliant": true,
"primaryOwner": "44ec3ff0-06bb-42fd-a3d6-835c55e68990",
"hasOwners": true
},
"easylife365_usermetadata": {
"policyId": "fed12c6f-8b7b-4665-8319-feaad55e202d",
"isCompliant": true,
"primaryOwner": "44ec3ff0-06bb-42fd-a3d6-835c55e68990",
"hasOwners": true
},
"onPremisesExtensionAttributes": {},
"sponsors": [
{
"$type": "EL.Core.Business.EasyLifeUserSponsorDto",
"id": "44ec3ff0-06bb-42fd-a3d6-835c55e68990"
}
]
},
"assignedOwners": [
{
"id": "44ec3ff0-06bb-42fd-a3d6-835c55e68990",
"userType": "Member",
"userPrincipalName": "aor@nuborocks.onmicrosoft.com",
"displayName": "Alessio Orvieto",
"accountEnabled": true,
"mail": "aor@nuborocks.onmicrosoft.com",
"extensions": [],
"easylife365_user": {
"resourceType": "OneDrive",
"policyId": "99999999-9999-9999-9999-999999999999",
"isCompliant": true,
"hasOwners": false
},
"easylife365_usermetadata": {
"resourceType": "OneDrive",
"policyId": "99999999-9999-9999-9999-999999999999",
"isCompliant": true,
"hasOwners": false
},
"onPremisesExtensionAttributes": {},
"sponsors": []
}
]
}
Response
A status 200 OK is expected with no body.
Activity logging behavior
When event logging is enabled, EasyLife 365 also writes a single Engine Activity entry for successful autoheal webhook processing.
An activity is created only when all of the following are true:
- The webhook call succeeds.
- The payload is an autoheal guest payload.
- A valid guest ID is present.
- At least one assigned owner with a valid ID is present.
The activity uses:
- Category:
ENGINE - EventId:
ASSIGN-OWNER - ResourceId: Guest ID
- DisplayName: Guest display name (fallback: mail, UPN, or ID)
- NextValue: Comma-separated list of assigned owner IDs
No Engine Activity entry is written for failed webhook calls, non-autoheal payloads, or payloads without valid assigned owner IDs.