Another way of integrating Intulse with 3rd party software is via Webhooks. If you’re unfamiliar with webhooks you can think of them as Intulse making a web request to a URL you specify when “something” happens.
Currently, there are the following types of webhooks and in order to register your service to use these webhooks you will need to use the Intulse API to register your webhook.
Whenever an extension’s device state changes this webhook is triggered. All endpoints registered with a webhook type of ExtensionUpdated will receive a POST request containing the following JSON:
{
"Extension": "string",
"Status": "string",
"ConnectedLineName": "string",
"ConnectedLineNumber": "string"
}
Whenever a call completes for a recognized extension/user this webhook is triggered. All endpoints registered with a webhook type of CallStarted will receive a POST request containing the following JSON:
{
"ClientId": integer,
"UserId": integer,
"UserDisplayName": "string",
"Extension": "string",
"Id": "string",
"LinkedId": "string",
"StartUtc": "date",
"Direction": "Outbound" | "Inbound",
"RemotePartyName": "string",
"RemotePartyNumber": "string"
}
Whenever a call completes for a recognized extension/user this webhook is triggered. All endpoints registered with a webhook type of CallCompleted will receive a POST request containing the following JSON:
{
"ClientId": integer,
"UserId": integer,
"UserDisplayName": "string",
"Extension": "string",
"Id": "string",
"LinkedId": "string",
"StartUtc": "date",
"AnswertUtc": "date" | null,
"Direction": "Outbound" | "Inbound",
"RemotePartyName": "string",
"RemotePartyNumber": "string",
"DurationInSeconds": integer | null,
"Recording": "string" | null,
}
Whenever a text message is received on a number belonging to your organization this webhook is triggered. All endpoints registered with a webhook type of TextMessageReceived will receive a POST request containing the following JSON:
{
"Id": integer,
"From": "string",
"To": "string",
"Body": "string",
"Attachments": [
{
"Id": integer,
"IsImage": boolean,
"IsAudio": boolean,
"MimeType": "string",
"Name": "string",
"SizeInBytes": integer,
"Url": "string"
}
],
"CreatedUtc": "date"
}
Whenever a voicemail is received on in any mailbox in your organization this webhook is triggered. All endpoints registered with a webhook type of VoicemailReceived will receive a POST request containing the following JSON:
{
"Mailbox": "string",
"MailboxName": "string",
"MessageId": "string",
"CallerIdName": "string",
"CallerIdNumber": "string",
"DurationInSeconds": integer,
"Transcription": "string",
"OriginalDateUtc": "date"
}
We’ll consider building it! Please contact our support team and let us know what you’re looking for and how you intend to use it.