Skip to content

CRM Integration for Caller ID with HTTP Webhooks

Overview

Integrating your CRM with Cisco CallManager using Call Telemetry allows you to enhance your customer service by displaying caller information on your Cisco IP Phones. This guide demonstrates how to use the Call Telemetry policy engine to process CURRI API call events and trigger Apps that look up caller ID names from any JSON API.

In this example, we'll use the Star Wars API to demonstrate how the integration works. Although the Star Wars API doesn't have phone numbers, the concepts are applicable to any CRM API.

Prerequisites

Before starting, ensure you have the following:

Integration Steps

The integration involves the following steps - creating a policy, a rule, and associating a webhook App.

Create a New Policy

  • Go to Policies.
  • Click on Add Policy.
  • Provide a name and description for the policy. Let's call this one "CRM Policy."

Create Policy Rule

  • Select the newly created policy.
  • Click Add Rule.
  • Define a trigger pattern for the rule using Regular Expressions. For example, to match all calls, use .*.

Policy showing registered

Policy Design

For this example we will apply the policy on a phone.

TIP

You can apply the policy in any inbound direction to a translation pattern, route pattern, or phone extension. The policy will trigger on all calls that match the rule pattern.

Refer to the Call Policy Design Guide

Create a Webhook App to talk your CRM API

This example uses the Star Wars API to demonstrate how to query a CRM API for caller information.

  • From the sidebar, click Realtime Policies.
  • Click on Apps.

Create a New Webhook App

  • Click Add to create a new App.
  • Choose Webhook under the Realtime tab, as shown below.

Creating a Webhook App

Fill in your Webhook API Details

  • Name: Enter a name for your App, such as "CRM Caller ID Lookup".
  • Description: Provide a brief description.
  • URL: Enter the URL of your API. For this example, we use the Star Wars API: https://swapi.dev/api/people/{event.calling_number}/.
  • HTTP Method: Select GET.

Webhook request associated with a rule

Finally, Associate the Webhook with Your Rule

  1. Open the Policy:

    • Navigate to Policies.
    • Select your CRM Rule.
  2. Assign the Webhook:

    • Open the rule.
    • Click Associate App.
    • Select your Webhook App.

Webhook request associated with a rule

4. Test the CRM API Integration

Run a Call Test

  • Go to the Call Telemetry dashboard.
  • Navigate to Call Tests.
  • Set up a test with a calling number that maps to your CRM data (e.g., calling number 1 for "Luke Skywalker").

Review API Results

  • Execute the test call.
  • Check the results under app_data.webhooks.data.
  • Verify that the name field from the API response is correctly populated.

TIP

For the Star Wars API, people are numbered starting with 1 (Luke Skywalker). Ensure your call test uses the calling number 1.

Call Test results from Star Wars API

Reference API Data within the CRM Rule

This step is important to ensure that the caller ID name is correctly displayed on your Cisco IP Phone. In the last step, we confirmed that the API response contains the caller ID name. Now, we need to reference this data in the rule configuration.

Modify the Rule

  • Go back to your rule configuration.
  • Use the workflow variable path app_data.webhook.data.name to assign the caller ID name.

Rule modifiers showing webhook data reference

Verify the CRM Integration

This final step ensures that the caller ID name is correctly displayed on your Cisco IP Phone. We will verify this by running another call test. And the CURRI API response should contain the correct name. This will be the payload that is sent to the Cisco Callmanager, and displayed on the Cisco IP Phone.

Run Final Call Test

  • Initiate another call test with the calling number 1.
  • Verify that the raw Cisco CURRI API response contains the correct name (e.g., "Luke Skywalker").

Star Wars results in test

Benefits of CRM Integration

Integrating your CRM with Cisco CallManager through Call Telemetry offers the following benefits:

  • Improved Caller Identification: Instantly access caller information from your CRM, providing context to your team before answering calls.
  • Enhanced Customer Service: Provide personalized service based on caller history.
  • Efficiency and Productivity: Reduce the time spent on looking up caller information and streamline call handling processes.
  • Real-time Data Access: Access up-to-date caller information from your CRM in real-time, ensuring accurate and timely responses.