Webhooks
Webhooks are a great way to be notified once a new resource is being created or an escalation occurs against your resources. The webhook delivers data to your application as soon as the event happens, meaning you get the data immediately.
When a webhook is being called, we forward a JSON object contains all the relevant information about the escalation's details, including the type of escalation, details about the resource, and other metadata. The EasyLife 365 Engine then sends the escalation details to the webhook URLs you specified in the action's webhook settings via an HTTP POST in JSON format.
Types of Events
- Provisioning Events: These webhooks trigger upon resource creation. Configuration options in templates or provisioning actions allow you to tailor notifications to your specific needs.
- Policy Escalation Events: Webhooks are set off following the escalation of a policy.
Examples
Here are some examples of the JSON Object sent to your webhook.
- Mailbox Creation
- No Owner Escalation
This payload is sent to the webhook when a Shared Mailbox is created.
{
"eventType": "mailboxcreated",
"mailBox": {
"id": "3b49e858-1234-1xw2x-yz34-ef8681b37463",
"displayName": "Creation Web",
"mail": "mymailbox@mydomain.test",
"metadata": {
"additionalData": {
"el-check-26": "false",
"el-dd-543": "Key",
"tId": "65aab8c3-1234-1xw2x-yz34-a276c7017b31"
}
},
"policy": {
"pId": "9a46cacb-1234-1xw2x-yz34-8f2d46be0fa5",
"noEsca": false,
"owSta": "compliant",
"coSta": "compliant",
"coCh": "2023-11-10T23:59:59+02:00",
"arSta": "compliant",
"arCh": "2023-11-10T23:59:59+02:00"
},
"schema": {
"ResourceType": "SharedMailbox",
"TemplateId": "65aab8c3-1234-1xw2x-yz34-a276c7017b31",
"PolicyId": "9a46cacb-1234-1xw2x-yz34-8f2d46be0fa5",
"IsCompliant": true,
"PrimaryOwner": "0a3a4267-1234-1xw2x-yz34-f924c5a9766b",
"SecondaryOwner": "6a95c23b-cbb3-4f06-9b05-5e96ac65c78c",
"HasOwners": true,
"AdditionalData": {},
"BackingStore": {
"ReturnOnlyChangedValues": false,
"InitializationCompleted": true
},
"OdataType": "#microsoft.graph.ComplexExtensionValue"
},
"isDirSynced": false
},
"tenantId": "1840b34e-1234-1xw2x-yz34-0b7b58c49dc7"
}
This payload is sent to the webhook when an escalation for a Shared Mailbox with No Owners is applied.
{
"escalationType": 2,
"mailbox": {
"id": "bc7cb416-1234-1xw2x-yz34-1fe84daf41f3",
"displayName": "My Test Mailbox",
"mail": "mymailbox@mydomain.test",
"metadata": {
"additionalData": {}
},
"policy": {
"pId": "9a46cacb-1234-1xw2x-yz34-8f2d46be0fa5",
"noEsca": true
},
"schema": {
"ResourceType": "SharedMailbox",
"PolicyId": "9a46cacb-1234-1xw2x-yz34-8f2d46be0fa5",
"IsCompliant": false,
"HasOwners": false,
"AdditionalData": {},
"BackingStore": {
"ReturnOnlyChangedValues": false,
"InitializationCompleted": true
},
"OdataType": "#microsoft.graph.ComplexExtensionValue"
},
"isDirSynced": false
}
}
Testing webhooks
What if you want to get started with webhooks, but don't have a server (that's open to the Internet) set up to receive them? What if you're troubleshooting a webhook-based system, and you just want to see whether EasyLife 365 successfully sends out webhook requests?
You can use the website https://webhook.site to create a webhook. This website will allow you to create a webhook and monitor the data sent by the EasyLife 365 Engine to it.
Take note to keep the tab open in your browser. Each time you visit https://webhook.site/, even with a previously generated URL, it will always generate a new webhook. This is done to protect your data and privacy. Simply put - nobody else can see your data.