Intulse Logo

WEBHOOKS


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.

Extension Status Updated

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"
}

Call Started

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"
}

Call Completed

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,
}

Text Message Received

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"
}

Voicemail Received

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"
}

HAVE ANOTHER IDEA FOR A USEFUL WEBHOOK?

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.