DEV Community

X10CRM
X10CRM

Posted on

We Put the Phone Inside the CRM. Here’s Why.

Sales managers already have enough tabs open.

CRM. Softphone. Call history. Notes. Scripts. Analytics.

And somehow, during an actual call, they still need to jump between all of them.

We didn’t want that in X10CRM.

So we put telephony directly inside the CRM.

No extra softphone. No copying numbers. No “where was that recording again?”

Just open the lead and call.

Why WebRTC?

Because the browser is already open.

That’s basically the whole idea.

With WebRTC, a manager can make and receive calls directly from the CRM without installing another app.

The flow becomes simple:

  • open a lead
  • click call
  • talk to the customer
  • write notes
  • finish the call
  • keep everything in the same place

The call history stays with the lead.

The recording stays with the lead.

The result stays with the lead.

That sounds obvious.

But once you’ve worked with sales teams, you know how much time disappears into small repetitive actions.

What’s Behind It

The basic flow looks like this:

Browser
   ↓
WebRTC
   ↓
WSS / SIP
   ↓
Asterisk
   ↓
SIP Provider
   ↓
Customer
Enter fullscreen mode Exit fullscreen mode

The browser handles the call interface.

Asterisk handles routing, queues, recordings and the SIP side.

The CRM connects everything back to the customer.

That last part is what matters most.

A phone call by itself isn’t very useful data.

A phone call connected to a lead, manager, deal stage and recording is.

Every Call Becomes CRM Data

When someone calls a customer, we don’t want the manager to manually write:

“Called John. Talked for 3 minutes. Interested. Call back Monday.”

The system already knows most of that.

So we store call data automatically.

For example:

{
  "direction": "outbound",
  "agent_id": 42,
  "lead_id": 1841,
  "duration": 214,
  "status": "answered"
}
Enter fullscreen mode Exit fullscreen mode

Now the CRM knows:

  • who called
  • who answered
  • how long the call lasted
  • which lead it belongs to
  • what happened next

Less manual work.

Fewer forgotten notes.

Cleaner data.

Recordings Are Where It Gets Interesting

We also record calls.

With Asterisk, that part can be fairly straightforward:

same => n,MixMonitor(${UNIQUEID}.wav)
Enter fullscreen mode Exit fullscreen mode

But the recording itself is only the beginning.

Once you have the audio, you can do much more with it.

Add AI and the Call Stops Being Just Audio

A recorded call can be:

Call
 ↓
Recording
 ↓
Transcription
 ↓
Analysis
 ↓
Useful CRM Data
Enter fullscreen mode Exit fullscreen mode

Now the system can pull out things like:

  • customer objections
  • call result
  • important requests
  • next steps
  • script compliance
  • manager performance

That means managers don’t have to listen to every call again.

And supervisors don’t have to randomly open recordings just to understand what’s happening.

The CRM can help surface the useful parts.

Then Comes the Autodialer

Manual dialing is another small thing that becomes a big problem at scale.

Copy number.

Paste number.

Click call.

Wait.

Repeat.

Do that 100 times a day and suddenly a lot of time is gone.

So the autodialer handles the boring part.

Lead Queue
   ↓
Autodialer
   ↓
Available Manager
   ↓
Call
   ↓
Result
   ↓
Next Lead
Enter fullscreen mode Exit fullscreen mode

The manager focuses on the conversation.

The system handles the repetition.

That’s the kind of automation we like.

Not automation for the sake of saying “AI-powered”.

Automation that removes annoying work.

The Hard Part Isn’t Making a Call

A browser making a call is not the hardest part.

The annoying problems come after that.

NAT.

Firewalls.

Microphone permissions.

Dropped WebSocket connections.

Page refreshes.

Multiple tabs.

Call state.

Recording storage.

Syncing everything back to the CRM in real time.

That’s where the real engineering starts.

And honestly, that’s also what makes this kind of system interesting to build.

Why We Built It This Way

We could have connected X10CRM to a separate softphone and stopped there.

But then the manager still has two systems.

We wanted one workflow.

The CRM already knows:

  • who the customer is
  • what they want
  • who owns the lead
  • what happened before
  • what stage the deal is in

Telephony adds the conversation itself.

And once the call, recording, notes, AI analysis and next action all live in one place, the CRM starts feeling much less like a database.

It starts feeling like an actual workspace.

That’s what we’re building with X10CRM.

https://x10crm.com

Final Thought

The best CRM features are often not the flashy ones.

They’re the ones that remove one click.

Then another.

Then another.

Until the workflow simply feels easier.

That’s what we wanted from telephony inside X10CRM.

And there’s still a lot more we want to build.

Top comments (1)

Collapse
 
devantibot profile image
Info Comment hidden by post author - thread only accessible via permalink
DEV ANTIBOT •

You need to verify your account .
Link is in the profile.

Some comments have been hidden by the post's author - find out more