Cas d'Usage d'Intégration
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.
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
- Go to Settings > Phone System > Smart IVRs in your Hipcall dashboard.
- Click New and choose Webservice as the route type.
- Enter your endpoint URL (e.g.
https://your-server.example.com/api/smart-ivr). - 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 5008and 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
| Tool | Purpose |
|---|---|
| Web Service-Based Smart IVRs | Triggers your endpoint on incoming calls and routes based on the response |
Next Steps
- Smart IVRs documentation — Configure route types, timeouts, and fallback behavior
- REST API authentication — Secure your endpoint with API keys or Basic Auth
- Webhooks documentation — Combine with call events for post-call logging and analytics
Demander à la Communauté
Des questions ou envie de partager votre intégration ? Rejoignez la discussion.
Outils et APIs
Six façons d'étendre et d'intégrer Hipcall dans vos systèmes.
REST API
Accédez à vos données Hipcall de manière programmatique. Gérez les extensions, initiez des appels, récupérez les enregistrements d'appels et plus encore via une API HTTP RESTful avec authentification OAuth 2.0 et clé API.
Webhooks
Recevez des notifications HTTP en temps réel pour plus de 13 types d'événements — appels entrants, appels répondus, raccroché, messageries vocales et plus encore. Envoyez les données d'appels dans n'importe quel système instantanément.
Routage Intelligent Basé sur les Services Web
Acheminez les appels entrants dynamiquement en utilisant votre propre logique métier. Hipcall appelle votre service web au moment de la sonnerie et achemine l'appel en fonction de votre réponse JSON.
Appel Rapide
Déclenchez des appels sortants de manière programmatique. Initiez un appel depuis le poste d'un agent vers n'importe quel numéro via une seule requête API — idéal pour les intégrations clic-pour-appeler.
Gestion Externe
Gérez votre compte Hipcall depuis des systèmes externes. Provisionnez des utilisateurs, mettez à jour les flux d'appels et contrôlez les paramètres sans vous connecter au tableau de bord.
Insight Card
Affichez le contexte de l'appelant en temps réel sur l'écran de l'agent au moment où un appel se connecte. Envoyez n'importe quelle donnée — nom, entreprise, solde du compte — depuis votre CRM ou ERP via l'API.