Call recording - M8Com webhook

Information om Call recording webhook

3 min läsning

Setup

A user with Superadmin access to a M8Com customer account will be able to setup Call Recording integrations. The following data is needed to setup a new integration and should be provided by the call recording receiver.

  • Endpoint, the endpoint M8Com should send data to when a call recording is completed. https protocol is required and needs to be included when setting up the integration.
    • https://example.acme.com/call-recordings/update
  • Secret, a unique key or identifier that can be used to identify the request it will be included in the request header as Authorization Bearer
    • 123ExampleCustomer321
  • Settings, these settings can be toggled on the webhook and changed according to preference
    • Send answer group recordings, If we should send recordings belonging to answer groups to this webhook
      • All answer groups, all recordings belonging to answer groups on this customer will be sent to the webhook
      • Specific answer groups, you can choose a specific set of answer groups that you want recordings from
    • Send user recordings, if we should send recordings belonging to users to this webhook
    • All users, all recordings belonging to users on this customer will be sent to the webhook
    • Specific users, you can choose a specific set of users that you want recordings from

Data model - Current version (V2)

Changelog

From v1

  • Adding is not breaking 🚨
    • From this version and onwards, new fields may be introduced to JSON data models over time and is not considered a breaking change. Integrators must ensure that their integrations ignore unknown fields by default.
  • Summary

    A new field “summary” is introduced

Later changes

  • Added userId as another identifier in the data provided (released 2025-04-10)

Data Provided

FieldTypeDescription
idnumberUnique identifier for the call
fileUrlsstring[]Array of URLs to access the recording, expires after 30 min
callerNumberstringNumber of the caller (unique identifier if VoIP)
calleeNumberstringNumber of the callee (unique identifier if VoIP)
startTimenumberTimestamp when call started
endTimenumberTimestamp when call ended
waitTimenumber | nullAvailable for queue calls, how long did the caller wait (ms)
talkTimenumberHow long the call lasted (ms)
agentIdstring | nullUnique identifier for the agent (null if personal call)
agentNamestring | nullName of agent (null if personal call)
answerGroupNamestring | nullName of answer group (null if personal call)
answerGroupIdstring | nullUnique identifier of answer group (null if personal call)
referredTostring | nullNumber caller was transferred to
referredBystring | nullNumber caller was transferred from
directionstringInbound/outbound (from the perspective of the recorder)
recorderIdstringUnique identifier of user/agent doing the recording. (Email address or phone number)
summarystringA summary derived from the call recording. This field is provided only if Conversation Intelligence (CI) is enabled and the synchronization of CI summaries is active for the call recording owner and the webhook.
userIdstringUnique identifier of the user/agent doing the recording. The same ID across all available webhooks

Requests

After the service is connected a request will be sent to the webhook every time a call log with call recordings is created as long as the owner matches the toggled settings on the webhook. The request will look as follows.

{
  "uri": ENDPOINT,
  "method": "POST",
  "headers": {
    "Content-Type": "application/json",
    "Authorization": `Bearer ${SECRET}`
  },
  "body": DATA
}

Service unavailable

In the case that endpoint does not respond with 200 when requests are made. M8Com will attempt to resend the call recordings using exponential back-off before disabling the integration. A disabled integration can be restarted from M8Com if the secret is known by an admin.

Besvarade detta din fråga?

    Få kontroll över varje samtal