Integrating FreePBX with MyCase Legal Case Management - Feasible?

Once again, thanks to all for your assistance. This is by no means an urgent matter, so if your time is limited, please help a more deserving soul.

I am a lawyer who has used FreePBX since the Trixbox days, but I have almost no programming experience. We have a simple office PBX setup with Grandstream IP phones, each with just one extension. We also use a cloud-based system called MyCase to track time and manage our contacts. MyCase has an API that allows access to its features over a web interface. The API documentation is below:

Currently there is no communication between FreePBX and our case management system. If a call needs to be billed, recorded, noted or logged in our case management system, the extension owner has to enter the call manually. As you can imagine, when things get busy, this can become difficult or impossible, so we are losing some billable time in the process.

We are looking at upgrading our call logging and call billing capabilities, and to that end we are considering hiring a vendor who integrates with our case management system. This vendor wants to essentially replace my local FreePBX machine with a cloud-based service (no doubt founded on FreePBX itself). The vendor wants to replace our desk phones with softphone apps on portable phones or on (Windows only) desktops.

The vendor’s price (+/- $50 per line) does not seem too bad, but having had phone freedom for so long, I would rather find a way to keep our data local and figure out a way to integrate it on our own.

So… How hard would it be to write a script that would get FreePBX to do the following?:

  1. Send a pop-up notification to the extension’s owner at the end of a every call.
  2. Have the pop-up check the CallerID from the call and try to match it to the MyCase contact information
  3. Failing an automatic match, have the pop-up give the owner the ability to assign the call both a client and a case from the MyCase API.
  4. Have the pop-up give the opportunity to record the call (or, I suppose, to delete a recording already made automatically)
  5. Give the owner the option to bill the time using the MyCase API and store the time using the API.
  6. Give the owner the option to create a Call and store all the call details in MyCase’s Call Log.

Now, if, as usual, all this capability is built into FreePBX somewher and requires only buying a module or ticking a box, please at least make it sound more complicated than that so I don’t look like a moron.

If not, could somebody who knows programming give me rough estimate of the time and cost? Also, if I were to hire someone to help me, what should I look for in a programmer and what is a fair rate these days?

Also, if you think such a thing is feasible, what do you think would be the simplest means of doing it?

Out of the box with the CRM (commercial) module you can do webhooks and process them to do call logs. To do popups you need an application running on your desktop That could be as simple as a browser extension. Long story short, yes it is possible to do these things but even with just call logging via webhook there is going to be some custom development needed by you or someone you pay.