En

JazzTeam Software Development Company

Agile Java Development

Интеграция VoIP c Salesforce, Zoho, Slack, Zapier и прочими системами

Описание проекта: современный бизнес нуждается в автоматизации процессов. Интеграция облачных сервисов — данность, от которой не может отказаться ни одна эффективная компания. Интегрирование CRM и IP телефонии значительно расширяет возможности компании по организации телефонного обслуживания клиентов.

Интеграция телефонии с CRM поможет клиенту быстро получить то, что ему нужно: теперь нет необходимости прослушивать голосовое меню или вводить добавочный номер. Исходя из данных, указанных в CRM-системе, телефония сразу соединит клиента с менеджером, который оперативно сможет решить проблему клиента или дать консультацию.

Чтобы связаться с клиентом, не придется совершать лишних движений – экономим время на наборе номера и звоним прямо из CRM. В карточке клиента есть вся необходимая информация: имя и фамилия, контактные данные, организация, в которой он работает и какую должность занимает.

Здесь же можно посмотреть историю звонков и проследить результаты, достигнутые в ходе переговоров. Так менеджеру легче контролировать обработку звонка: он сможет подобрать подходящий шаблон действий и добиться желаемого результата. При этом он не мешает работать своим коллегам: интеграция не позволяет перехватить «чужих» клиентов, поскольку в каждой карточке указывается ответственный за переговоры менеджер.

Связь CRM-системы и телефонии упрощает анализ работы отдела продаж. В системе фиксируется все: продолжительность звонка, количество исходящих и входящих звонков, принятых вызовов. Все это позволяет понять, насколько хорошо менеджер выполняет свою работу. Основываясь на открытых данных аналитики, руководителю компании легче дается принятие управленческих решений.

Технологии:

Stack: Node JS, HTML, CSS, JavaScript, Websocket, OAuth2, AES.
Фреймворки: Express.js, Monster UI.
API продуктов, с которыми интегрируемся: Kazoo 2600Hz API, Slack Bot API, Salesforce Apex, Zendesk API, Hubspot API, Zapier API, Zoho PhoneBridge API.
Тестирование (интеграционное и нагрузочное): Clinic.js + Doctor.js, Mocha.
Инфраструктура: Jenkins, Bitbucket, Jira, Slack, Winston, Saltstack, Prometheus, Grafana.

Скриншоты:

Особенности проекта

  1. Технологические особенности:
    • Сложность обработки событий телефонии, особенно в случаях прохождения звонков через несколько узлов, телефонных конференций, перенаправления звонков, удержания звонков и прочее.
    • Разнородность различных API интегрируемых систем, а также необходимость периодической адаптации изменений API этих систем.
  2. Организационные особенности:
    • Команда проекта разрасталась постепенно. Первой фазой проекта была интеграция Kazoo с Zoho. И только после того, как заказчик убедился, что JazzTeam успешно реализовала первую интеграцию с Zoho – было дано добро на расширение команды проекта.

Отдельно стоит отметить тот факт, что интеграция Kazoo VoIP платформы с Zoho были для нашей команды определенным вызовом и заделом на будущее. Поэтому, наряду с менеджером, проект курировал лично Дмитрий Горячко, CEO JazzTeam. Его многолетний опыт в проектировании и разработке ПО позволил обеспечить технологическое “совершенство” будущего решения. Такой подход оправдал себя в будущем – последующие интеграции потребовали минимальных переделок ядра нашего решения.

Результаты проекта

Наша команда разработала интеграционное серверное приложение, которое интегрирует IP телефонию на основе Kazoo и различные CRM платформы (и не только CRM):

Для этого мы реализовали промежуточный сервер (Middleware) на основе Node.js. Этот сервер открывает веб-сокет и начинает слушать события от Kazoo VoIP платформы. Сервер определяет тип входящего телефонного события, а также, с какой именно CRM нужно сделать интеграцию, и осуществляет соответствующие запросы на конкретную CRM.

Задачи, которые решает интеграция:

Мы также разработали систему балансировки и логирования приложений, реализовали воспроизведение записей звонков и обеспечили безопасность данных. Команда также разработала UI часть: управление настройками интеграциями для пользователей CRM, добавление или удаление доступа к интеграции; и собственно пользователя, с простым UI с подтверждением интеграции.

Внедрены и поддерживаются CI/CD процессы. Сборка проекта через Jenkins, деплой через SaltStack, автозапуск интеграционных тестов, регулярный запуск нагрузочных тестов. Мониторинг тестового и продакшен серверов через Prometheus+Grafana.

Достижения компании на проекте