Смена воронки при создании сделки
При поступлении звонка, в схему с ivr и после выбора пункта меню, звонок переходит в другую схему. Стандартная интеграция создает сделку в воронке, которая привязана к первой схеме c ivr.
Данным кодом, если сделка была создана, мы ее обновляем меняя воронку, заранее задав логику название Схемы
= id воронки
.
Данная функция поможет упростить рутинную работу, автоматизацией. При принятом звонке если сотрудник забудет перевести в нужную воронку мы сделаем это за него. При пропущенном звонке сотрудник который работает в конкретной воронки сразу начнет обрабатывать новый лид, а не ждать пока кто то распределит из основной воронки к которой привязана к первой схемы.
Нужно заменить, точное название схемы, без пробелов, и id воронки.
Добавить приведенный ниже код можно в следующие этапы:
- Поднял трубку при входящем
- Пропущен входящий
- Завершен входящий разговор
const SipuniAmoCrm = require('@sipuni/amocrm');
const TREE_TO_PIPELINE = {
"Схема 1": 3818719,
"Входящая": 3818719,
};
const DEFAULT_PIPELINE_ID = 1900102;
const TREE_TO_STATUS = {
"Схема 2": 36790006,
"Входящая": 36790006,
};
const DEFAULT_STATUS_ID = 36790006;
module.exports = async (args) => {
const amoApi = new SipuniAmoCrm({ domain: args.settings.domain, accessToken: args.crm_auth });
const leadCreated = args.context.already_created_deal;
const leadId = parseInt(args.context.deal_id);
const treeName = args.call_args.tree_name;
const newPipelineId = TREE_TO_PIPELINE[treeName] || DEFAULT_PIPELINE_ID;
const newStatusId = TREE_TO_STATUS[treeName] || DEFAULT_STATUS_ID;
let lead;
if (leadCreated) {
lead = await amoApi.leads.update({
"id": leadId,
"pipeline_id": newPipelineId,
"status_id": newStatusId,
});
}
if (lead) {
return {
leadId,
newPipelineId,
newStatusId,
};
}
};