Integratie Gebruiksscenario

Route Incoming Calls Automatically Based on CRM Data

Learn how to look up callers in your CRM and route them to the right team automatically, before the call is even answered.

Smart IVRs

Overview

Not every caller deserves the same experience. Registered customers should reach your support team immediately; unknown numbers should go to a general queue. Manually maintaining routing rules in the phone system does not scale — and it breaks the moment your CRM data changes.

This guide shows how to use Web Service-Based Smart IVRs to query your CRM in real time and return a routing decision before the call is even answered.

How It Works

When a call arrives, Hipcall’s Smart IVRs feature calls your HTTP endpoint with the caller’s phone number. Your server looks up the number in your CRM and responds with an extension number. Hipcall routes the call accordingly — all in milliseconds, before the caller hears a single ring.

Architecture

flowchart TD
    A[Incoming call] --> B[Hipcall Smart IVRs fires]
    B --> C[POST to your endpoint\nwith caller number]
    C --> D{Found in CRM?}
    D -- Yes --> E[Return VIP extension\ne.g. 1093]
    D -- No --> F[Return general extension\ne.g. 1094]
    E --> G[Call routed to VIP queue]
    F --> H[Call routed to general queue]

Step 1: Configure Smart IVRs in Hipcall

  1. Go to Settings > Phone System > Smart IVRs in your Hipcall dashboard.
  2. Click New and choose Webservice as the route type.
  3. Enter your endpoint URL (e.g. https://your-server.example.com/api/smart-ivr).
  4. Save the rule and assign it to the phone number or IVR menu you want to control.

Local development: Use ngrok to expose your local server. Run ngrok http 5008 and use the generated URL as your endpoint.

Step 2: Receive the Webhook

Hipcall sends a POST request to your endpoint with the caller’s phone number as soon as the call arrives.

Example request from Hipcall:

{
  "caller": "+442045205757"
}

The caller field contains the caller’s phone number in E.164 format. Your endpoint must respond within the timeout window — keep the CRM lookup fast.

Step 3: Look Up the Caller

Normalize the phone number to match your database format, then query your CRM.

Example normalization (Python):

def normalize_phone(phone):
    # Strip non-numeric characters
    phone = ''.join(filter(str.isdigit, phone))
    # Handle Turkish local formats
    if phone.startswith('0') and len(phone) == 11:
        phone = '9' + phone
    elif len(phone) == 10:
        phone = '90' + phone
    return phone

Query your database using the normalized number:

caller = data.get('caller')
normalized = normalize_phone(caller)

customer = db.execute(
    'SELECT id FROM customers WHERE phone = ?',
    (normalized,)
).fetchone()

Step 4: Return the Routing Decision

Respond with a JSON object containing the extension to route the call to. Use one extension for known customers, another for unknown callers.

Registered customer:

{ "extension": "1093" }

Unknown caller:

{ "extension": "1094" }

Hipcall reads the extension value and transfers the call to that extension immediately. The caller never experiences a delay.

Tools Used

ToolPurpose
Web Service-Based Smart IVRsTriggers your endpoint on incoming calls and routes based on the response

Next Steps

Vraag de Community

Heeft u vragen of wilt u uw integratie delen? Sluit u aan bij de discussie.

Tools en API's

Zes manieren om Hipcall uit te breiden en te integreren in uw systemen.

REST API

Toegang tot uw Hipcall-gegevens via programmeren. Beheer extensies, initieer gesprekken, haal gespreksregistraties op en meer via een RESTful HTTP API met OAuth 2.0 en API-sleutelauthenticatie.

Webhooks

Ontvang realtime HTTP-meldingen voor meer dan 13 soorten gebeurtenissen — inkomende gesprekken, beantwoorde gesprekken, ophangingen, voicemails en meer. Verstuur gespreksgegevens onmiddellijk naar elk systeem.

Webservice-gebaseerde Slimme Routering

Routeer inkomende gesprekken dynamisch met uw eigen bedrijfslogica. Hipcall roept uw webservice aan tijdens het overgaan en routeert het gesprek op basis van uw JSON-antwoord.

Snel Bellen

Activeer uitgaande gesprekken programmatisch. Initieer een gesprek van de extensie van een agent naar elk nummer via een enkele API-aanvraag — geweldig voor klik-om-te-bellen integraties.

Extern Beheer

Beheer uw Hipcall-account vanuit externe systemen. Voorzie gebruikers, update gespreksstromen en beheer instellingen zonder in te loggen op het dashboard.

Insight Card

Geef realtime beller-context weer op het scherm van de agent op het moment dat een gesprek verbindt. Stuur willekeurige gegevens — naam, bedrijf, accountsaldo — vanuit uw CRM of ERP via de API.