Integration with CRM - Sending CallerID and Agent Extension when call answered

Hello friends!
The company that i work are implementing FreePBX in a clinic that has a Call Center with 30 operators - their service is mostly receptive, but they also have a large volume of outbound calls.

This clinic has a hospital management system (like a CRM) that operators use to schedule and cancel appointments and exams for patients who come into contact with them.

One of the things that management requested was an integration between the telephony platform and their CRM system (Klingo) - something that some systems that were offered to them already have.

Basically, they want that when a call is answered by an operator, FreePBX sends the operator’s extension and the caller’s number to the CRM - this way, the CRM will check in its database if there is a customer registered with that number, and the appointment tab for that customer will open on the screen of the operator who answered the call (which is why the operator’s extension is necessary).

Vinny is a call center operator, logged into FreePBX and the CRM - he has just answered a call from CallerID +5571992840000.

FreePBX will report this to the CRM, something like “Hey Klingo! Extension 2003 just answered a call from +5571992840000.”

Klingo will say “Ah yes! Extension 2003 belongs to user Vinny, let me see if I have a client with the number +5571992840000… yes!
It’s the client “John Spencer”, I will show his profile on the Vinny user screen.”

I’m almost sure that this is possible - I’ve seen some people do it with some CRMs, and in conversation with the Klingo developer he also told us that it’s possible, and gave us the link to his API (Build, Collaborate & Integrate APIs | SwaggerHub), I even checked the CRM Link and CID Superfecta Send to URL modules but I still have some doubts - how exactly and what would be the best way to send this information to the CRM?
I only need to send the caller ID of the caller and the extension of the person who answered - from then on, the CRM will carry out actions based on what it received.

I have read the API he sent me, but I was still a little confused on how to implement this in FreePBX.
And he also sent me an access token.
If I’m not mistaken, it’s using this token (together with the CRM URL) that I should send this information, correct?
Can you guys help me with this, please :sweat_smile:?

PS: I apologize for the long post and possible grammar errors, english is not my mother tongue.

1 Like

It took a little work (a lot!) but I managed to resolve it and fortunately, the integration is working and the client is happy with the result.

I created a python script connected to the AMI that monitors AgentConnect events, and whenever it detects one, it sends the necessary information to the cloud CRM exactly the way they asked.

I also made the script run in the background (as a service) so there is no need for the terminal to be open running it, it is also generating some logs so we can have an idea of how the service is running and if it is working correctly.

I posted my solution so that maybe it can help give some direction to someone looking for something similar - if anyone needs the script or wants to talk to me about implementing a similar project, I’m more than happy to help :grin:

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.