Web Service Integration

Web Service Integration lets CCaaS send call and chat data to an external web service when a defined event occurs.

Web Service Integration enables CCaaS to push data to an external web service when a defined call or chat event occurs. On the configured event, the system sends an HTTP request to the target URL, optionally including call data as URL parameters, HTTP headers, or a request body. Web Service Integration Profiles are configured directly in the CCaaS web portal.


Use Cases


Accessing Web Service Integration

Web Service Integration is accessible to accounts with Supervisor or Admin permissions.

  1. Navigate to API Enablement > WebService Integration
  2. All configured Web Service Integration Profiles are listed under Profiles in the modal

Managing Profiles

Each profile in the list has the following actions:

IconAction
PencilEdits the profile
CopyCreates a copy of the profile, which can then be edited
TrashDeletes the profile

Select Done to close the modal.


Creating a Web Service Integration Profile

  1. Select the + icon in the Profiles header
  2. Complete the fields in the WebService Profile window — see Profile Configuration
  3. Select Test WebService to verify the request is generated correctly and handled by the target web service
  4. Select Save
📘

When Configuring

The target web service and its business logic (authenticating the request, processing the payload) are built and maintained outside of CCaaS. Research the target CRM or web service ahead of time to determine the required URL and data.


Profile Configuration

FieldDescription
Profile NameA name to identify the Web Service Integration Profile
Target URLThe base URL of the request; the system sends a request to this URL when an interaction meets the configured criteria
HTTP MethodThe HTTP method used for the request. Defaults to POST
Send the request whenThe point in the interaction's lifecycle when the request is sent. Defaults to Call is Completed — see Send the Request When
Triggering Call CriteriaThe conditions a call must meet to trigger a request. If no criteria are configured, every call triggers a request. Select the edit icon to configure
URL ParametersOptional parameters appended to the Target URL as query string values, populated with interaction data or a static string — see Available Parameters. Select the edit icon to configure
HTTP HeadersOptional custom headers included with the request. Select the edit icon to configure
Request BodyThe body sent with the request. Defaults to None

Send the Request When

EventBehavior
Call is PresentingTriggers when the call is ringing the agent, before being answered
Call is ConnectedTriggers when the agent answers the call. Recommended over Call is Presenting for most use cases
Call is CompletedTriggers when the call disconnects, before the recording is processed — excludes any post-call notes or account codes
Call and Recordings ProcessedTriggers after the call ends and any associated recording has finished processing
Call is UpdatedTriggers when a completed call's recording is processed, and again whenever account codes are added to or removed from the call afterward
Chat is EndedTriggers when a web chat or SMS conversation ends — whether ended by the customer, marked complete by the agent, timed out, or abandoned in queue
📘

Multiple Call is Updated Events

Because Call is Updated can trigger more than once for the same call, the receiving endpoint should be prepared to handle duplicate posts — using a unique value such as Media ID to differentiate them.

Available Parameters

URL Parameters and the Request Body can be populated with a static string or one of the following interaction data values:

VariableResolved Value
Empty ValueAn empty string
Account CodesA comma-delimited list of account codes (e.g., Opp Won, Large Sale, Processed in CRM)
AgentThe agent associated with the last event on the call, including name and extension (e.g., John Doe (154))
Agent ExtensionThe agent's extension only (e.g., 154)
Agent NameThe agent's name only (e.g., John Doe)
Call DirectionThe direction of the call: Internal, Inbound, Outbound, or Intersite
Caller NameThe caller ID name
Cradle to Grave LinkA URL that opens Cradle to Grave filtered to this one interaction, for calls and chats. The link opens for a recipient already signed in to CCaaS
DNISThe DNIS associated with the last event on the call
End TimeThe end time of the interaction, in milliseconds since January 1, 1970, 00:00:00 GMT — the same format as Time. Empty when the interaction has not ended yet
External NumberThe number of the other party associated with the last event on the call
Group/SkillThe group or skill associated with the last event on the call
LocationOn an inbound call, the location of the calling party's number. On an outbound call, the location of the dialed party's number
Media IDThe long-form UUID of the call, message thread, or email
Recording KeyThe recording key for the call's recording, used with the Recordings API. Multiple keys are sent as a JSON array. Use Call and Recordings Processed so recordings are processed before the request is sent
Report Media IDThe short-form ID used in Cradle to Grave and Reports in place of the UUID — useful for comparing API data against a report
TagA comma-delimited list of tags associated with the call's events
TimeThe start time of the interaction, in milliseconds since January 1, 1970, 00:00:00 GMT
TranscriptThe full transcript of the call
Transcript SummariesAn AI-generated summary of the full transcript
Transcript TopicsThe topics detected from the transcript
📘

Legacy Equivalents

Older profiles may reference Call ID or Report Call ID — legacy equivalents of Media ID and Report Media ID respectively. Audio Recording Link is no longer offered for new profiles; profiles that already use it keep resolving. Use Cradle to Grave Link instead.