Build a dialer extension for Zoho CRM
Budget: $750 – $1,500 USD
I need an extension made for Zoho CRM to integrate my REST API for outbound calling. The idea is that with this extension installed, Zoho users can make outbound phone calls to their CRM contacts and my API is invoked each time. The requirement is that my API is invoked per call and allowed to finish its work before the call is started and rings the contact.
The extension should detect any clicks from the user to start a call. See crm.png for an example. Upon detecting this, the extension must first invoke my API by sending an HTTP POST to my API endpoint. See swagger.png for POST sample. The call cannot go out to the contact at this point. This API will perform some background processing which may take up to a couple of seconds. Once the processing is complete, the API will return a POST response. Upon receiving this response, the call may start. THIS ORDERING OF API BEFORE PHONE CALL, INCLUDING WAITING FOR THE API RESPONSE, IS REQUIRED AND MUST BE DETERMINISTIC.
The API needs the calling number (the Zoho user) and the called number (the contact). The called number must match the number clicked by the Zoho user so it must be extracted dynamically. The calling number can be pre-configured and be static.
It's possible the user may have another extension installed to make telephony calls. If it's possible to guarantee my API is invoked and allowed to complete before another extension makes the call, then my extension does not need to do anything other than invoking the API.
However if interoperation with another telephony extension cannot guarantee the ordering, then my extension must also start the call by invoking the telephony API of a service provider. For example sending an HTTP POST to the telephony provider's API endpoint to start an outbound call.
A few extra notes:
1) The API call should be triggered on all calls made from the CRM, not just from the buttons I have in my picture example
2) API must always be invoked and its response needs to be waited for before letting the call go through - in other words our API work needs to be done before the contact's phone rings
3) There needs to be a hard timeout so that if our API breaks and cannot return a response or returns an error, the call will still go through - so our API cannot cause a call to be silently dropped
Please message me if you are interested and need more details. Budget can be adjusted accordingly based on discussion.
The extension should detect any clicks from the user to start a call. See crm.png for an example. Upon detecting this, the extension must first invoke my API by sending an HTTP POST to my API endpoint. See swagger.png for POST sample. The call cannot go out to the contact at this point. This API will perform some background processing which may take up to a couple of seconds. Once the processing is complete, the API will return a POST response. Upon receiving this response, the call may start. THIS ORDERING OF API BEFORE PHONE CALL, INCLUDING WAITING FOR THE API RESPONSE, IS REQUIRED AND MUST BE DETERMINISTIC.
The API needs the calling number (the Zoho user) and the called number (the contact). The called number must match the number clicked by the Zoho user so it must be extracted dynamically. The calling number can be pre-configured and be static.
It's possible the user may have another extension installed to make telephony calls. If it's possible to guarantee my API is invoked and allowed to complete before another extension makes the call, then my extension does not need to do anything other than invoking the API.
However if interoperation with another telephony extension cannot guarantee the ordering, then my extension must also start the call by invoking the telephony API of a service provider. For example sending an HTTP POST to the telephony provider's API endpoint to start an outbound call.
A few extra notes:
1) The API call should be triggered on all calls made from the CRM, not just from the buttons I have in my picture example
2) API must always be invoked and its response needs to be waited for before letting the call go through - in other words our API work needs to be done before the contact's phone rings
3) There needs to be a hard timeout so that if our API breaks and cannot return a response or returns an error, the call will still go through - so our API cannot cause a call to be silently dropped
Please message me if you are interested and need more details. Budget can be adjusted accordingly based on discussion.