Development of new functionality "Power Dialing" for CRM Bitrix24
We customized Bitrix24 as a professional caller. For that, we integrated the Power Dial (Predictive Dial) in Bitrix24.
To solve that task we integrated Bitrix24 with Asterisk and connected two telecommunications operators, one for incoming, the other for outgoing calls to save money of our client. It works as follows:
1. The Bitrix system loads Leads and starts the process of calling.
2. Contacts are transferred to the list in Asterisk and Asterisk starts calling them self.
3. If the contact is busy, the answering machine or does not pick up the phone, then Asterisk forms the list “number not reach” and sends it to Bitrix24. Bitrix24 writes these leads to the list for calling for the next day.
4. When subscribe reached, then the robot welcomes the client and the agent gets pops up a window in Bitrix24 with the client's data and a conversion script.
5. If Lead is not sold, the agent will transfer it to another manager in another department and process will be repeated.
6. If the prospects targeted, then the lead is transferred to the Deal stage and the sales process starting.
7. The list of “unavailable” prospects forming for 2 weeks. If within 2 weeks prospects are not reached, then the lead is removed from the system.
8. If Lead has called back, then the call is automatically assigned to the agent who called him previously.
9. Since in South Africa people speak 10 languages, a manager assigned to incoming call base on the incoming phone number code.
10. The language was not guessed, the manager can immediately transfer the call to another manager.
System administration side of “Asterisk”
Defining the answering machine
- If the answering machine is on the line, it must be recognized at the beginning of the call by Asterisk:amd.conf
- If the answering machine is defined, the status ‘Answering machine detected’ is to be sent to Bitrix24.
- If the phone has not been picked up by a customer, the status ‘Not reach’ is to be sent to Bitrix24.
- If the line is busy, status ‘Subscriber busy’ is to be sent to Bitrix24.
- If the phone has been picked up - the voicemail is begun to play. During that time, a manager must be connected by the answering machine. Status ‘In progress’ is to be sent to the Bitrix24.
- The changing of the status and the time it has been changed must be fixed when the status of the call has been sent to Bitrix24.
For each manager, leads must be grouped for calls.
The standard function ‘Start dialling’ must be used. While the list of calls is forming, it must be able to choose: responsible manager, date of calls, time of the beginning of the calls,
While the list of calls is forming, the file with these data must be generated and sent to ‘Asterisk’: full name of the manager, phone number of the customer.
The business check of manager
If the call has begun, the default status is ‘Disabled’. If the call end, the status of manager changes to ‘Able’.
Also, if a manager has pressed the ‘Break’ button in the labour time recording, the status must be changed to ‘Disabled’, and if the manager pressed the ‘Continue’ button, the status must be changed to ‘Able’.
The first check must be on the status at the work time, the second - during calls.
The status check must be opened - accesses to check the status must be opened to Asterisk during calls to complete the task.
The status ‘Answering machine detected’ must be created - data must be sent from Asterisk
The status ‘Not reach’ must be created - data must be sent from Asterisk
The status ‘Subscriber busy’ must be created - data must be sent from Asterisk
The status ‘In progress’ must be created - data must be sent from Asterisk
The check of the statuses of the added leads must be. The new file with leads, where statuses have coincided: ‘Answering machine detected’,‘Not reach’, ‘Subscriber busy’; must be generated.
If the status ‘Calling completed’ has been repeated - new lead statuses must be rewritten (it means if at the first time the lead has ‘Subscriber busy’ status, and at the second call, the connection was successful, the status must be changed to ‘In progress’
Recheck must be done during the workday. Redial must be made while the manager does not end the workday.
At the next day, the list of the leads that had not been called the day before must be called firstly, then the leads are in the new list of leads are getting called. The list goes to the Asterisk for redial. The generation of a new file to the ring up to the current day must be done if the status of calls is a ‘Call ended’.
If there are some leads from a list of calls, that has not been treated the day before, the report must be generated and sent to the administrator.
Untreated calls report.
The report must have the list of untreated leads with the history of the statuses.
Lead1 - date/time of the call - status - date/time of the call - status changed - … and so on...
Where: Lead1 - a name of lead - is a hyperlink to the detail page of the lead.
Date/time of the call - comes from the Asterisk during processing the lead
Status - comes from Asterisk during processing the lead.
It is necessary to take information about statuses changes after each call, even if have not been changed.