Development of new functionality "Power Dialing"​ for CRM Bitrix24

Description

PowerDialing office.jpeg


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”

Asterisk.jpeg

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.

The information about Asterisk:amd.conf

http://rubooks.org/book.php?book=6126&page=137

https://www.asterisk-pbx.ru/wiki/asterisk/cf/amd.conf

http://asterisk-support.ru/question/43013/opredelenie-avtootvetchik-ili-zhivoi-chelovek/

http://awsswa.livejournal.com/13340.html

Automatic redial

- Asterisk must accept a generated file from Bitrix24 to make a call.

- The status of each manager must be checked before each dial

- If a call is successful, it must be transferred to the responsible manager.

The system must take these types of files:

- Manager call list: full name of a manager; phone number of a customer.

- Manager’s status check (status must be checked by business: Able/Disable). Self-connection and status check

- At the end of the call list of the status ‘Calling completed’ must be sent to Bitrix24.

Information about auto-redial:

http://awsswa.livejournal.com/13340.html

http://sysadminblog.ru/asterisk/2016/04/21/avtomaticheskiy-obzvon-abonentov-asterisk-avtoobzvon.html

https://linuxcenter.kz/page/asterisk-%D0%B0%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1...

https://www.asterisk-pbx.ru/wiki/artikle/autodial



Development side of “Bitrix24”
Bitrix24.png


The event of call must be created.

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.



Call statuses

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’

Repeated calls

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.

E.g.:

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.

8 812 425 65 40
197376, г. Санкт-Петербург, ул. Профессора Попова д.23, лит. М,оф. 9Н, оф.13