Оглавление / Бизнес-процессы / Библиотека бизнес-процессов

    Автоматическое уведомление клиента и агента о предстоящем показе

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

    Авто уведомление о предстоящем показе
    Описание логики шаблона бизнес-процесса, отвечающего за уведомление клиентов и агентов о предстоящих показах. Обработка ошибок заполнения заявок. Инструкция по настройке

    На каждую СМС может уходить по несколько минут, а спешка нередко приводит к ошибкам и опечаткам. Также нельзя забывать про влияние человеческого фактора, что может привести к тому, что сотрудник забудет предупредить клиента о предстоящем показе объекта, либо сам забудет про показ.

    Данный бизнес-процесс поможет решить сразу все эти описанные проблемы, т.к. СМС с датой показа будут создаваться и отправляться клиенту полностью автоматически сразу после  создания показа и за час до показа, а агент получит дополнительное СМС оповещение с адресом объекта и данными по показу.

    Описание работы бизнес-процесса

    Бизнес-процесс запускается в перечисленных случаях:

    • Произошло создание заявки с заполненной датой показа и проставленным значением "Да" в поле "Отправить СМС".
    • У ранее созданной заявки с заполненной датой показа изменили значение в поле "Отправить СМС" на "Да".
    • У ранее созданной заявки с проставленным значением "Да" в поле "Отправить СМС" заполнили или изменили дату показа.

    Бизнес-процесс отправит СМС только в том случае, если к заявке был прикреплен какой-нибудь объект и корректно заполнена дата показа. 

    Проверка прикрепленного объекта будет произведена через 5 минут после запуска БП, непосредственно перед отправкой первого сообщения.  

    Если сотрудник забыл прикрепить объект к заявке, то Бизнес-процесс отправит уведомление ответственному по заявке сотруднику о том, что необходимо прикрепить объект к заявке и заменит значение в поле "Отправить СМС" на "Нет". В данном случае сотруднику нужно будет прикрепить объект и переключить значение в поле "Отправить СМС" на "Да".

    Бизнес-процесс отправляет СМС непосредственно после запуска бизнес-процесса (с пятиминутной задержкой перед проверкой прикрепленного объекта) и за один час до запланированного показа, если заявка подходит под все описанные условия:

    • В заявке есть объект.
    • В заявке заполнена дата показа.
    • Дата показа является не прошедшей датой.
    • В заявке в поле "Отправить СМС" указано значение "Да".
    • Заявка активна (не удалена).

    Если в заявке не проставлено значение "Да" в поле, то БП не будет запущен.

    Если в заявке забыли прикрепить объект или не заполнили корректно дату показа, то БП пришлет уведомление в системе про это ответственному сотруднику.

    Если за заявкой забыли закрепить ответственного сотрудника, то БП пришлет уведомление руководителю.

    После исправления ошибки необходимо переключить значение в поле Отправить СМС на Да, чтобы БП запустился повторно.

    За час до показа клиенту дублируется оповещение, а агент получает СМС оповещение с информацией по показу и адресом объекта.

    В БП реализована предварительная проверка изменения даты показа в поле, поэтому, если сотрудник несколько раз подряд изменит дату показа в поле, то все запущенные процессы, кроме последнего, завершает работу на этапе первой проверки даты.

    Настройка бизнес-процесс для автоматического оповещения клиента о предстоящем показе

    Открыть увеличенную версию схемы в новом окне

    Открыть увеличенную версию схемы в новом окне

    Данный бизнес-процесс состоит из одной сложной ветки с тремя основными разветвлениями. Каждое из разветвлений отвечает за свой функционал и может быть удалено без вреда для функциональности других разветвлений.

    Если настраивать бизнес-процесс в точности, как в этом примере, то он суммарно занимает 32 блока.

    Важная информация по настройке бизнес-процесса

    Настройка бизнес-процесса по предложенной схеме актуальна, если вы оформляете показы объектов отдельной заявкой. Если у вас нет заявки такого типа, то вы можете создать ее в настройках.

    Настройки - CRM - Активности (Заявки) - Добавить тип.

    Для настройки БП в заявке обязательно должны быть следующие поля:

    • “Дата/время показа” с типом поля “Дата + Время”.
    • “Отправить СМС” с типом поля “Выбор Да/Нет”.

    Если вы не используете отдельный тип заявок для записи показов, то можно адаптировать данный БП для работы со сделками на стадии показ.

    Пошаговая настройка БП для автоматического уведомления клиентов по СМС о предстоящем показе объекта

    Ветвь начинается в блоков с событиями, которые описывают триггер для запуска этого бизнес-процесса.

    Блоки 1 - 4 - блоки с событием. Для добавления блока с событием нажать на + и выбрать “Событие”.

    Для добавления дополнительных событий для ветви нажать на “Добавить условие”.

    Блок 1. 

    Блок 2.

    Блок 3. 

    Для поля Дата/время показа указываем так, чтоб блок срабатывал при заполнении поля с Пустого значения на Непустое значение.

    После того, как указали все на вкладке “Изменение значения”, необходимо перейти на вкладку Фильтр и указать там значение для поля “Отправить СМС”.

    Блок 4.

    Этот блок похож на блок 3, но для поля указывается с Непустое значение на Непустое значение. После необходимо на вкладку фильтр и указать там в точности как в блоке 3.

    Блок 5.

    Блок с действием редактирования заявки. Используется для склеивания всех событией и упрощения дальнейшей работы по настройке БП.

    В блок добавить поле “ID” и выбрать для него “Вычисляемое значение”. В поле использовать  следующий код

    <?php
    if ($stock_edit_id1) {
    return $stock_edit_id1;
    }
    if ($stock_edit_id2) {
    return $stock_edit_id2;
    }
    if ($stock_edit_id3) {
    return $stock_edit_id3;
    }
    if ($stock_create_id) {
    return $stock_create_id;
    }
    return false;
    ?>

     

    В вычисляемом для каждой переменной назначить значение из блока с событием из поля ID.

    Например, для переменной stock_edit_id1 назначаем значение из первого блока с редактированием (блок 2).

    А для stock_edit_id1 указываем значение из второго блока (блок 3) с редактированием из поля ID и т.д.

    Блок 6.

    Блок с вычисляемым значением.

    В этот блок необходимо скопировать следующий код:

    <?php
            /* Put your code here */
    InnerStorage::set('global_sonedate',$sdate);
            return true;
    ?>

     

    В блок необходимо добавить следующие переменные:

    1. Локальную переменную sdate
    2. Глобальную переменную global_sonedate

    Для sdate назначить значение из блока 5 из поля “Дата/время показа”

    Блок 7.

    Блок с таймером на 5 минут.

    Далее по схеме идет разветвление через блоки с вычисляемым значением.  Предлагаем настраивать разветвления в следующем порядке.

    Для добавления дополнительный разветвлений необходимо над созданным блоком с вычисляемым значением нажать на “Ветвление +”

    Разветвление 1.

    Данное разветвление отвечает за уведомления в тех случаях, когда за заявкой закреплен ответственный сотрудник, но в заявке некорректно заполнена дата, либо нет прикрепленного объекта.

    Блок 8.

    Первое разветвление начинается с блока с вычисляемым значением 8. В данный блок необходимо скопировать следующий код: 

    <?php
    $ts = strtotime($date);
            $now = time();
            return ((($ts < $now) or !$object)  && $sotrudnik && $sotrudnik != 0);
    ?>

    В блок необходимо добавить перечисленные локальные переменные: date, object и sotrudnik.

     

    Эти переменным необходимо назначить значения из блока с редактированием 5.

    Для переменной date назначение значение из поля Дата/время показа.

    Для переменной object назначить значение из поля Объект с параметром “Первый”.

     

    Для переменной sotrudnik назначить значение из поля Ответственный - ID.

     

    Блок 9.

    Редактирование заявки.

    В блок добавить поле ID указать тип поля “Переменная” и назначить значение из блока 5 из поля ID.

    Далее добавить поле “Отправить СМС”  выбрать тип “Значение” и указать значение “Нет”.

    Блок 10.

    Блок с созданием сообщения для уведомления ответственного за заявку сотрудника.

    В блок необходимо добавить поле получатель и выбрать тип для поля “Переменная”, далее назначить значение для поля из блока 5 из поля Ответственный - ID.

    Далее добавить поле с вычисляемым значением Текст сообщения.  Далее для этого поля скопировать следующий код:

    <?php
      return 'В заявке не прикрепили объект или некорректно указали дату показа. После исправления ошибки необходимо указать в поле Отправить СМС значение Да. /crm/tools/exec/request/'.$id.'#request';
    ?>

     

    В вычисляемом добавить локальную переменную id и назначить ей значение из Блока 5 - ID.

    Разветвление 2.

    Данное разветвление отвечает за уведомления для руководителя в тех случаях, когда за заявку не назначили  ответственного сотрудника перед отправкой СМС.

    Блок 11.

    Первое разветвление начинается с блока с вычисляемым значением 11. В данный блок необходимо скопировать следующий код:

    <?php
             return (!$sotrudnik or $sotrudnik == 0);
    ?>

     

     

    В блок необходимо добавить локальную переменную sotrudnik и назначить значение из блока 4 из поля Ответственный - ID.

     

    Блок 12.

    Данный блок является точной копией блока 9.

     

    Блок 13.

    Блок с созданием сообщения для уведомления руководителя.

    В поле получатель необходимо выбрать Сотрудник и указать конкретного сотрудника, который будет получать уведомления по заявкам без ответственного сотрудника.

    Для поля Текст сообщения выбрать Вычисляемое значение и скопировать туда следующий код:

    <?php
    return 'В заявке не прикрепили ответственного сотрудника. /crm/tools/exec/request/'.$id.'#request';
    ?>

    В вычисляемом добавить локальную переменную id и назначить ей значений из блока 5 из поля ID.

    Разветвление 3.

    Данное ветвление срабатывает только в тех случаях, когда в заявке есть ответственный сотрудник, прикрепленный объект и корректно заполнена дата показа.

    Это разветвление отвечает за отправку СМС уведомлений о предстоящем показе.

    Данное ветвление начинается с блока с вычисляемым значением 14.

    Блок 14.

    Блок с вычисляемым значением. В данный блок необходимо скопировать следующий код:

    <?php
    $ts = strtotime($date);
    $now = time();
    return (($ts > $now) && $object && $sotrudnik && $sotrudnik != 0 && $date == $global_sonedate && $act == 1 && $sms == 1);
    ?>

     

    Внутри блока необходимо добавить перечисленные локальные переменные:

    • date (чтобы СМС можно было отправить только по заявкам с правильно заполненной датой)
    • object (чтобы СМС можно было отправить только по заявкам с прикрепленным объектом)
    • sotrudnik (чтобы СМС можно было отправить только по заявкам с ответственным сотрудником)
    • act (чтобы СМС отправлялась только для активных заявок)
    • sms (чтобы СМС отправлялась только для заявок где в поле Отправить СМС установлено значение Да.

    Если сотрудник передумал отправлять СМС, то у него будет 5 минут для удаления заявки, либо изменения значения в поле. 

    Всем перечисленным переменным назначаются значения из блока 5.

    Для date назначается из поля “Дата / время показа”.

    Для object назначается из поля “Объект” - “Первый”.

    Для sotrudnik из поля “Ответственный” - “ID”.

    Для act из поля “Активен: да/нет” .

    Для sms из поля “Отправить СМС”.

    Блок 15. 

    Для создания последующего блока необходимо под блоком 14 нажать на плюс и добавить блок с вычисляемым значением под него.

    В этот блок необходимо скопировать следующий код:

    <?php
    $domen = "domen.intrumnet.com";
    $apikey = "074cXXXef6e364c252e0310083XXXd00";
    $data = file_get_contents("http://{$domen}:81/sharedapi/stock/filter?apikey={$apikey}&params[count_total]=1&params[byid]={$id}");
     if($data){
            $data = json_decode($data,true);
    }
    $a = $data['data']['list'][0]['stock_type']; /// возвращает id типа
    InnerStorage::set('global_s',$a);
    InnerStorage::set('global_sdate',$sdate);
    return true;
    ?>

     

    В данном коде необходимо предварительно заменить значения, указанные в $domen и $apikey на свои.

    $apikey - Ключ можно создать в Настройки - Интеграции - API v2. Там же можно скопировать значение для $domen.

    Ключу необходимо дать разрешение на просмотр объектов

    .

    В этом блоке с вычисляемым выражением необходимо добавить глобальные переменные global_sdate и global_s.

    А также локальные переменные id и sdate.

    Локальной переменный id присвоить значение из блока 5 из поля Объект с пометкой первый.

    Для sdate назначить из блока 5 из поля Дата/время показа.

    В результате у вас должен получиться блок (15) с таким содержанием

    Дополнительное разветвление для разных типов недвижимости

    После блока 15 в нашем примере идет разветвление для разных типов недвижимости. Такое разветвление необходимо, если вам нужно настроить разные действия для разных типов недвижимости, либо нужно получить значения из полей карточки объекта.

    Для создания такого разветвления необходимо нажать на + под блоком 15 и добавить следующий блок 16 (в данном примере для Квартир). Для создания дополнительных ответвления нажимать на “+ Ветвление” над блоком 16.

    Ветвления рекомендуется настраивать поочередно. Если вы работаете только с квартирами, либо любым другим типом, то настраивать все ветви по типам недвижимости не нужно.

    Дополнительное разветвление с действием для типа недвижимости “Квартиры и комнаты”

    Блок 16. 

    Блок с вычисляемым значением для сравнения типа объекта.

    В данный блок необходимо вставить следующий код:

    <?php
    return ($global_s == 1);
    ?>

    В $global_s == 1 - это номер ID типа объектов. ID типов видно в Настройки - CRM - Объекты

    Блок 17.

    Пустой блок с редактированием объекта, чтобы указать конкретный тип объекта для использования в последующих блоках.

    В блока важно указать тот же тип недвижимости, который определялся в предыдущем блоке с вычисляемом значении. (в данном примере 1 = Квартиры и комнаты).

    В блоке для поля ID указать значение из блока 5 из поля Объект - Первый.

    Дополнительная важная информация по блокам с отправкой СМС

    В примере используется отправка через встроенного в CRM провайдера отправки СМС. Если используется встроенный провайдер, то клиент увидит в отправители “INTRUMCRM”.

    Если необходимо использовать любое свое имя отправителя, то нужно в блоках с отправкой СМС выбирать “Отправка через провайдера”

    Блок 18.

    Блок с первым СМС уведомлением для клиента. Блок с действием для создания СМС.

    Для поля “На тел. номер”  выбрать тип “Переменная” и назначить значение из блока 5 из поля “Контакт” - “Телефон” с пометкой “Первый”.

    Для поле “Текст сообщения” выбрать тип “Вычисляемое значение” и скопировать туда следующий код:

    <?php
    $time = date('Y-m-d H:i:s',strtotime($time)+3600*1); // Регулировка часового пояса для СМС
    $line = date('d.m', strtotime($time)).' в '.date('H:i', strtotime($time));
    $adress = $gorod.', '.$ulica.', '.$dom;
    $text = 'У Вас назначен показ Квартиры №' .$id. ' по адресу '.$adress. ' на '.$line. '. Ваш менеджер '.$familia. ' '.$name.' тел. ' .$tel. '. Название агенства';
    return $text;
    ?>

    В блок необходимо добавить перечисленные локальные переменные:

    • time
    • gorod
    • ulica
    • dom
    • id
    • familia
    • name
    • tel

    Для переменных gorod, ulica и dom назначаются значения из блока с редактированием объекта 17.

    gorod = Населенный пункт

    ulica = Улица

    dom = Дом.

    Для переменных time, id, familia, name и tel назначаются значения из блока 5.

    time = Дата/время показа

    id = ID

    familia = Ответственный - Фамилия

    name = Ответственный - Имя

    tel = Ответственный - Поле с номером телефона сотрудника.

    Если в СМС приходит неправильное время.

    Обратите внимание, что в коде есть времени для регулировки под часовой пояс.

    В сроке $time = date('Y-m-d H:i:s',strtotime($time)+3600*1);  

    “+3600*1” - прибавляет один час к времени в СМС. Если поставить “*2”, то прибавит 2 часа и т.д.

    Можно указать “-3600*1”, чтобы в СМС убрать один час от указанного времени. Если поставить “*2”, то убавит 2 часа и т.д.

    Блок 19.

    Блок с таймером до указанной даты за 1 час до события.

    Добавить таймер и указать “Вычисляемое значение”. В блок скопировать следующий код:

    <?php
    return date('Y-m-d H:i:s',strtotime($date)-3600);
    ?>

     

    В вычисляемом добавить  локальную переменную date и назначить ей значение из блока 5 из поля “Дата/время показа”.

    Блок 20. 

    Блок с предварительной проверкой перед отправкой СМС с повторным уведомлением клиента о предстоящем показе (за 1 час до предстоящего показа).

    Создать блок с Вычисляемым значением и скопировать туда следующий код:

    <?php
    return ($datapokaza == $global_sdate && $act == 1 && $sms == 1 && $status != 'malformed' && $status != 'cancelled');
    ?>

     

    В блок добавить перечисленные локальные переменные: datapokaza, act, sms и status. Для переменных назначить значения из блока 5.

    datapokaza = Дата/время показа.

    act = Активен: да/нет

    sms = Отправить СМС

    status = Статус

    В коде есть условие для статутов $status != 'malformed' && $status != 'cancelled'  - этот кусок кода отвечает за то, чтобы СМС не отправлялись по заявкам в статусе “Отменена” и “Неверно”.

    Блок 21.

    Этот блок является точной копией блока 18. Этот блок повторно отправляет СМС с уведомлением клиенту.

    Блок 22.

    Этот блок отправляет СМС сообщение на личный номер агента с уведомлением о предстоящем показе и основными данными по показу.

    Для поля “На тел. номер” указать тип “Переменная” и назначить значение из блока 5 из поля Ответственный - Телефон - Первый.

    Для поля “Текст сообщения” указать “Вычисляемое значение” и скопировать туда следующий код:

    <?php
    $time = date('Y-m-d H:i:s',strtotime($time)+3600*1); // Регулировка часового пояса для СМС
    $line = date('d.m', strtotime($time)).' в '.date('H:i', strtotime($time));
    $adress = $gorod.', '.$ulica.', '.$dom.', кв. '.$kv;
    $text = 'Показ Квартиры №' .$id. ' по адресу '.$adress. ' на '.$line. '. Клиент: '.$familia. ' '.$name.' тел. ' .$tel;
    return $text;
    ?>

     

    Далее добавить следующие локальные переменные: id, time, familia, name, tel, gorod, ulica, dom, kv.

    Для переменных id, time, familia, name, tel назначить значения из блока 5.

    id = ID

    time = Дата/время показа

    familia = Контакт - Фамилия

    name = Контакт - Имя

    tel = Контакт - Телефон - Первый.

    Для переменных gorod, ulica, dom, kv назначить значения из блока 17.

    gorod = Населенный пункт.

    ulica = Улица.

    dom = Дом.

    kv = Номер квартиры.

    Дополнительное разветвление с действием для типа недвижимости “Дома и участки”

    Блок 23 - 29

    Данные блоки являются точной копией ранее описанной ветки, но в блоке 23,24 указан другой тип недвижимости, а в тексте СМС указан другой тип недвижимости и в СМС для клиента отсутствует номер дома.

    Блок 30.

    Является точной копией блока 16, но в коде указывается другой тип недвижимости.

    Блок 31.

    Блок с действием создания задачи.

    Вы можете использовать любой слой набор полей, либо сделать все в точности, как на скриншоте.

    Для поля “Исполнитель” указать Переменная и назначить значение из блока 5 из поля “Ответственный” - “ID”.

    Для поля “Срок исполнения” указать Переменная и назначить значение из блока 5 из поля “Дата/время показа”.

    Для поля “Объект (Прикрепление) указать Переменная и назначить значение из блока 5 из поля Объект - Первый.

    Для поля “Активность (Прикрепление) указать Переменная и назначить значение из блока 5 из поля ID.

    Для поля “Заголовок” указать Вычисляемое значение и скопировать туда следующий код:

    <?php
    return 'У вас назначен показ коммерческого объекта № '.$id;
    ?>

     

     В вычисляемом добавить локальную переменную id и назначить значение ей значение из блока 5 из поля ID.

    Блок 32.

    Этот блок является копией блока 16, но в коде указывается другой тип недвижимости. Этот блок не ведет к каким-либо действием, БП сразу завершает работу, т.к. по схеме предполагается, что для гаражей не нужны никакие дополнительные уведомления.

    Если уведомления нужны, то можно сделать так же как для квартир, либо постановку задач как для коммерческой.




    Возможно вам также будет интересно: Похожие объекты

    Вернуться к оглавлению


    Система реализуется как облачное решение SaaS, т. е. размещается на наших серверных мощностях. CRM гибко настраивается персонально под ваш бизнес. При использовании сервиса у вас будет аккаунт-менеджер для консультации и помощи в настройках