Kindly check the existing caller feature to see if a standard approach would already solve your challenge. You can also configure it to a certain extent. The callto syntax can also be modified using custom schemes
If the standard approach does not solve the challenge, you can consider the customization approach through the use of Pipedrive Apps & APIs. Most of the click-to-call Pipedrive apps can be built with a combination of Chrome Extension and the CTI product.
The Chrome extension can be used to detect phone numbers on a page. Usually, phone numbers follow a URI scheme such as
tel: (Also depends on the callto syntax that is configured). Through the Chrome extension, you can attach an event handler or a popup for opening such URIs in your platform UI. This could be a dialer UI that is part of the Chrome extension which opens within the same tab (the usual approach) / a redirect to your CTI product with the phone number as a parameter.
If your product/platform is integrated with Pipedrive as an app, it makes a lot of things easier. The user would have already been authenticated and you can perhaps perform REST API calls on behalf of the user to add transcript / create activities.
You also have a facility to integrate video calling apps directly via Video calling app extension