How to connect a dialer to your CRM without replacing it
The question is not always which CRM to buy. If yours already works and the team knows it, replacing it has a high cost and little return. The dialer can be added through the API without touching it.
In short
- You do not need to migrate the CRM to modernize dialing.
- The dialer hands back each call result through API or webhook.
- The webhook notifies instantly; the API is for querying or reprocessing.
- Less migration means less risk and a rollout in days.
When NOT to migrate the CRM
A CRM the team knows well, with years of history and reports already built, has a value that never shows up in a feature comparison. Migrating it means retraining people, rebuilding reports and risking the historical record.
If your problem is that dialing has become outdated, not that case management is wrong, integration is the cheaper and less risky path.
What gets exchanged
The integration works in two directions, and both are simple:
| Direction | What travels | How |
|---|---|---|
| CRM → Dialer | Numbers to dial and their priority | API upload or file |
| Dialer → CRM | What happened on each call | Webhook or API |
The result of each call
This is what your CRM receives when a call ends:
{
"id": "1746532991.4823",
"number": "56912345678",
"result": "CONTACTED",
"duration_s": 143,
"agent": "1004",
"disposition": "PAYMENT_PROMISE",
"recording": "https://.../1746532991.mp3",
"date": "2026-08-28T12:03:13-04:00"
}
With that your CRM writes the interaction where it always has. Nothing changes for the agent or for whoever pulls the reports.
Webhook or API: which to use
Webhook — for what is happening now
The dialer notifies you as soon as the call ends, sending the JSON to the URL you give it. Your CRM finds out instantly without asking. This is the right choice for day-to-day work.
API — for querying and repairing
You ask whenever you want. Useful for reconciling at end of day, reprocessing if your system was down, or building historical reports.
The sensible approach is to use both: the webhook for live operation and an API query at the end of the day to check nothing is missing. A two-minute network outage cannot cost you the interactions from that window.
What to define beforehand
- The disposition mapping. Your CRM has its codes and the dialer has its own. If they are not mapped, historical reports stop being comparable.
- Who owns customer state. If both systems can flag "do not contact", you need to define which one wins.
- Where recordings live. It is usually best to keep them in the dialer and store only the link, because of size and legal retention.
It works as a full CRM or only as the dialing engine, handing results back through REST API and webhooks to your current system. You can start integrated and migrate later, or never migrate at all.
See the integration →If all you want to fix is time lost on voicemail, it adds onto your current Asterisk or Vicidial and also hands its result back through the API. Without touching anything else.
See the detector →Frequently asked questions
Can I use a new dialer without changing my CRM?
Yes. The dialer hands back each call result through REST API or webhook, and your CRM writes it where it always has. There is no need to migrate case management or retrain the team.
What is the difference between a webhook and the API?
The webhook notifies your system as soon as the call ends, without you asking. The API lets you query whenever you want: reconciling at end of day, reprocessing after an outage or building historical reports. Using both is the sensible approach.
What happens if my system is down and misses the webhooks?
That is why it is worth complementing with an API query at end of day: you compare results and recover whatever did not arrive.
Have a CRM you want to keep?
We review whether it can be integrated and what it would take. No commitment.
Let us talk