Виджет «Процессы» — инструкция

В данной инструкции вы научитесь создавать, тестировать и запускать процессы продаж в BPM-редакторе.

Описание виджета и цены

Установка виджета в amoCRM

Виджет можно установить самостоятельно из списка интеграций в amoCRM, ищите его по слову "процессы"
Или установите по кнопке →
После установки откройте настройки виджета (амоМаркет → Установленные → Процессы) и выберите пользователей, которые могут его использовать. Если пользователь не выбран, он не увидит интерфейсов виджета, это касается и администраторов.

Далее нажмите "Сохранить". Виджет установлен.

Как создать первый процесс?

Чтобы начать работу, перейдите в настройки amoCRM, далее в левом меню настроек будет пункт «Процессы».
Откроются настройки виджета. Перейдите во вкладку "Процессы". Здесь мы видим список созданных процессов, их создателей и даты создания.

Нажмите на кнопку "Новый процесс" ...

  • Задайте название процесса, например "Закрыть сделку".
  • Выберите сущность, для которого вы создаете процесс (чаще всего это сделка)
Процессы привязаны к одной из трех сущностей в amoCRM: к сделке, к контакту или к компании. Все элементы в процессе, по умолчанию будут работать применительно к данной сущности. Например, элемент "Добавить примечание", будет добавлять текстовое примечание к той сущности, которое вы выбрали при создании процесса. Однако, например, если вам нужно изменить поле компании из процесса сделки, то это можно сделать.
  • Нажмите на кнопку "Сохранить"
После этого процесс будет создан и вы перейдете в визуальный редактор.

Не настроенный процесс содержит только стартовую точку с иконкой "Play". Чтобы добавить первый элемент автоматизации нажмите на плюсик и выберите из списка элементов - "Сменить этап". Этот элемент меняет статус сделки на выбранный в настройках.

Все возможные элементы из которых можно построить процесс представлен тут.

  • В настройках элемента "Сменить этап" выберите нужный этап, в данном примере мы закрываем сделку в "Закрыто и не реализовано".
  • Сохраните настройки элемента
  • Сохраните данный процесс нажатием кнопки "Сохранить"
  • Опубликуйте процесс нажатием кнопки "Опубликовать"
Все, процесс создан и опубликован. Можно его запускать.

Как запустить процесс?
  • Вручную по кнопке процесса
  • Из настроек воронки amoCRM (digital pipeline)
  • Из SalesBot amoCRM
  • Из виджета Smart-кнопки
  • Из виджета Триггеры
В данном случае мы будем запускать процесс кнопкой. Для этого откройте настройки воронки через шестеренку в правом верхнем углу.

  • В настройках процесса включите переключатель "Показать кнопку".
  • Нажмите кнопку "Сохранить"

Теперь кнопка запуска процесса появится во вкладке "Процессы", но только в той сущности, для которого создавался процесс.

При нажатии на нее моментально запустится процесс "Закрыть сделку", сделка поменяет этап на "Закрыто не реализовано" и процесс завершится.

Таким образом, вы создали простейший процесс, который мгновенно закрывает сделку.

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

Типы переменных:
  • Глобальная переменная - работают вне процесса и вне сущности;
  • Переменная процесса - привязывается к данному процессу;
  • Переменная сущности - привязывается к данной сущности.
Переменные можно перезаписывать, очищать, добавлять значения к имеющимся. Одну и ту же переменную можно использовать во всех сценариях, в том числе в качестве условий.
Например, в таких переменных можно фиксировать дату, оставлять комментарии или создать счетчик значений.

Данные этих полей будут храниться в Процессах, не затрагивая ни одну из сущностей amoCRM.


История
В этом разделе хранится информация о всех срабатываниях процессов и о тех процессах, которые запущены в данный момент.

Историю срабатываний можно сортировать по ID сущности, дате создания или завершения, или выбрав конкретный необходимый процесс. Также можно вывести процессы, которые завершили работу с определенным статусом:
  • Выполняется;
  • Завершено с ошибкой;
  • Завершено успешно;
  • Остановлен.
В этом разделе можно совершать отладку процессов, если что-то работает не так, подробнее об отладке процессов.


Основные инстументы рабочего пространства
В начале работы вам будут доступны кнопки навигации и стартовая точка процесса.

Слева в центре экрана расположены следующие кнопки:
  • Центрирование - возвращает область экрана к началу процесса;
  • Ножницы - инструмент удаления связей между элементами;
  • Плюс - увеличивает масштаб;
  • Минус - уменьшает масштаб.

Обратите внимание на знак "+". При нажатии на него открывается окно, в котором можно выбрать одно из 20 действий.

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




В правом верхнем углу расположено меню настроек процесса.

При переходе в настройки процесса в первой вкладке можно увидеть основную информацию о нем:
  • Дату создания/Изменения
  • Кем был создан
  • Название и Описание процесса
  • Доступность по ссылке (полезно для демонстрации процессов)
  • Ссылка на процесс (если процессом можно делиться)
  • Кнопки включения/выключения процесса

При доступе к процессу по ссылке, его можно будет только просматривать, редактирование не будет доступно.

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




Добавление элементов

Рассмотрим добавление элемента на примере. В списке элементов выберем "Добавить задачу".

Элемент позволяет задать параметры.
Укажем основные параметры: ответственный, время выполнения и длительность, тип задачи, время. Можно добавить краткое описание для элемента в поле "текст задачи".

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

Нажмите кнопку "Сохранить".


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

Элемент будет удален из цепи процесса.
Удаление связей
Чтобы удалить связь между элементами цепи процесса, воспользуйтесь инструментом "ножницы", расположенным в левой части рабочего окна. Поднесите ножницы к нужной линии и нажмите ЛКМ.
Для обратного перехода к редактированию, снова нажмите на инструмент "Ножницы".

Как создать связь вручную? - Чтобы проложить линию связи вручную, воспользуйтесь элементом "Выбрать шаг" - подробнее тут.
Сохранение и публикация
Завершая редактирование процесса, не забудьте сохранить его, нажав на кнопку в левом верхнем углу рабочего окна.

Чтобы процесс заработал, необходимо его опубликовать. Кнопка публикации процесса появляется сразу же после сохранения.

Если вам необходимо отменить изменения, воспользуйтесь комбинацией клавиш "Ctrl+Z".

Как запустить процесс в amoCRM

После сохранения Процесса вам будет доступна кнопка "Опубликовать", нажмите ее для того, чтобы процесс стал доступным.
Запуск по кнопке из вкладки карточки

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

Ранее мы создали процесс, выбрав сущность Сделка.

Перейдите в карточку Сделки, выберите вкладку "Процессы", во вкладке нажмите на кнопку с нужным процессом.



Запуск с помощью виджета Триггеры

При настройке сценария в Триггерах, выберите действие:

Виджеты → Процессы: Запустить процесс


Укажите нужный Триггер, сущность и таймер запуска и выберите нужный Процесс в выпадающем списке.

Процесс запустится по сценарию.

Пример настройки процесса "Квалификация"

Разберем на примере процесс квалификации клиента, который поможет менеджеру распределять новые сделки по следующим этапам в зависимости от качеств клиента.
Добавьте элемент "Добавить задачу"
В настройках установите значения срока выполнения и длительность, тип задачи - звонок.

Выберите пункт "запросить результат". Процесс запросит менеджера выбрать результат по задаче, после чего будет выполнено следующее действие.


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

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

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


Квалифицированный клиент
Если менеджер квалифицировал клиента, то он должен заполнить информацию.

Для этого добавим элемент "Форма".

Форма позволяет в нужный момент запросить заполнение поля.
Зададим обязательные поля для заполнения и кнопку "Сохранить". После заполнения полей менеджером и нажатия кнопки в форме, процесс продолжит выполнение по ветке.


Смена этапа и продолжение ветки процесса
Клиент квалифицирован и менеджер заполнил необходимые поля. Сделку можно переместить на соответствующий этап воронки "Квалифицирован".

Добавьте новый элемент "Смена этапа" - процесс сам переместит Сделку на нужный этап в воронке.

Здесь же можно добавить новую задачу - Отправить коммерческое предложение.


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

Для этого создайте новый элемент от точки соединения напротив результата "Не взял трубку" и добавьте "Запуск процесса", чтобы процесс запустился вновь при данном исходе.

Так как данный пример является упрощенным, стоит упомянуть, что на практике стоило бы добавить условие для повторного запуска бизнес-процесса.
Например, если процесс был запущен 5 раз, а менеджер всё еще не дозвонился, то сделка будет переведена на завершающий этап.
Закрыть как спам
Сделку можно переместить на этап воронки "Закрыто и не реализовано".

Добавьте новый элемент "Смена этапа", укажите этап воронки - процесс сам переместит Сделку на нужный этап.


Как процесс выглядит со стороны менеджера
Менеджер, работая в карточке сделки, получает задачу "Связаться с клиентом".
В случае успешной квалификации клиента, менеджер выбирает результат задачи "Квалифицирован", после чего Процесс запускает появление формы.
На экране у менеджера появляется Форма, которая не пропадет, пока в ней не будут заполнены обязательные поля. После заполнения формы, менеджер нажимает кнопку "Сохранить", форма закрывается и бюджет пробрасывается в соответствующее поле карточки сделки, и процесс продолжается.


Основные элементы

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

Чтобы провести связь от одного элемента к другому, примените "Выбрать шаг" и кликните по блоку, к которому нужно провести линию. Связь протянется автоматически.

Отправить Webhook

С помощью данного элемента процессы могут отправлять хуки на URL различных сервисов и обрабатывать их ответы.
Как отправить Webhook из amoCRM
В настройках элемента укажите URL адрес, куда будет отправлен webhook, когда процесс дойдет до этого элемента.

Выберите метод отправки отправки:
GET, POST, PUT, PATCH или DELETE.

Во вклдаке Headers можно указать заголовки в формате ключ=значение. Здесь можно использовать маски в значениях.


Передача параметров
GET-параметры передаются URL после символа «?» в формате:

name=value (имя параметра=значение)

При передаче параметров в полях можно использовать переменные и шаблонизатор.
Подробнее.

Для POST возможна передача параметров через тело запроса.

Для этого выберите Body и укажите тип: Form URL Encoded, Text, JavaScript, JSON-данные, HTTP-статус или XML.


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

Способы авторизации:

API Key Auth
При отправке в заголовке указывается ключ и его значение.
Basic Auth
При отправке указывается логин и пароль, которые хешируются через base64.
Bearer
Авторизация с помощью отправки токена.
No Authentication
Авторизация не происходит.


Обработка ответов

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

Записать ответ в переменные
Элемент будет ожидать ответ для обработки в JSON-формате, и после его получения остановится.

Ответы фиксируются в формате ключ=значение.
Для записи ответа нужно добавить локальную, либо глобальную переменную, в которую будет зафиксирован статус выполнения.
Дождаться ответа и запустить по ветке
После отправки хука на внешний источник, процесс приостановится. В течении 5 секунд хук ожидает ответ в JSON-формате.

В зависимости от пришедшего результата, элемент отправит процесс по нужной ветке.

Пример

Запуск по ветке в зависимости от результата
Отправим веб-хук на внешний скрипт-обработчик, передав в параметрах следующие значения:

price - {{lead.sale}} - бюджет сделки
phone - {{contact.phone}} - телефон
tag - {{lead.tag}} - тег
responsible - {{company.responsible.name}} - ответственный

Чтобы процесс ожидал результат ставим галочку "Дождаться ответа и запустить". Теперь нужно добавить ожидаемые результаты, от которых будут идти ветки процесса далее.

ok - для успешного ответа
error - для ответа с ошибкой

Допустим, что скрипт получил хук и отправил ответ моментально.

Для ветки с результатом "ok", процесс продолжил свое выполнение, а в Истории срабатываний появился процесс со статусом "Завершено успешно". При разворачивании срабатывания можно увидеть на этапе "Webhook" результат, который пришел.

В Сделке появятся примечания о выполнении следующих этапов ветки процесса.
Таймер
Запускает ожидание, прежде чем процесс перейдет к следующему действию.

Может быть полезен, когда действие нужно отложить.

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

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

Форма
Форма предназначена для того, чтобы в ходе процесса менеджер мог заполнить необходимые поля, а также определить дальнейшее течение процесса в зависимости от пришедших данных нажатием кнопки.

— В форме поддерживаются поля всех типов*;
— Можно задавать обязательность полей;
— Можно менять порядок полей;
— По умолчанию в форме одна кнопка - "Сохранить";
— Можно добавить несколько кнопок со своим текстом, каждая кнопка — это отдельная ветка по которому запустится процесс при нажатии.

*Поле с типом Организация не поддерживаются.
Поле Номер Телефона поддерживает только один номер.


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

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

Помимо полей в форму можно добавить текстовые строки, нажав на кнопку "+Текст". В тексте можно использовать маски переменных.
На каждую кнопку отдельно можно задать свои обязательные поля
— Всплывшую форму можно свернуть, если он мешает и её можно перетаскивать мышкой по экрану;
— Нельзя закрыть незаполненную форму, если в ней есть обязательные поля;
— Кроме полей в форму можно добавить текстовый блок с пояснением, в этом блоке поддерживаются маски переменных.
Форма имеет два способа продолжения цепи процесса:
— обычный (процесс продолжит выполнение по умолчанию);
— с помощью кнопки (процесс приостановится и будет ожидать нажатия кнопки);

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

Если ни одна кнопка не добавлена, то форма всплывёт, но процесс продолжится дальше еще до её заполнения.

Условие

Элемент позволяет направлять процесс в зависимости от выполнения одного или нескольких условий. Условия проверяются по принципу "И/ИЛИ" и всегда имеет два выхода - Да или Нет.

Добавьте элемент, задайте нужные параметры и процесс будет отрабатывать нужный сценарий.

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

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

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


Элемент имеет три вида выходов:

— Верхний "сквозной" - выполнится по умолчанию, без проверки на условия;

—Боковые "условные" - каждый из них сработает по отдельности, если условие удовлетворительно, независимо от стоящих рядом;

—Нижний "негативный" - выполнится, если ни одно условие не сработало.


Остановка процесса
Завершает процесс в нужном месте, без необходимости выполнять всю цепь.

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

Добавить Задачу (с результатом выполнения)
Позволяет ставить задачу автоматически из процесса. Задача будет отображаться в таймлайне сделки.

Важная особенность элемента — ожидание результатов выполнения.
Менеджеру при работе с задачей будет предложено несколько результатов ее завершения в виде кнопок. Процесс не пойдет дальше, пока не будет выбран один результат.
Каждый из результатов задачи отображается в виде самостоятельной ветки процесса.

Элемент имеет "сквозной" выход сверху - ветка, идущая из этого выхода, будет выполнена по умолчанию, вне зависимости от результата, который выберет менеджер.

Задача в карточке Сделки

Работа с API

Процессы можно запускать из внешней системы с помощью API.
В запросе необходимо передать ключ, ID процесса и сущности.
API ключ доступен в разделе API настроек виджета. При необходимости ключ можно обновить на новый, в этом случае старые запросы не будут работать.

Например, отправить 50 сущностей (ограничение - не более 100 сущностей за раз).

При запуске процесса через API важно передавать ту же сущность (нужно указать ID_ сущности), что была выбрана при создании процесса.

Каким должен быть запрос? Примеры

Получение списка процессов - PHP

# получение списка процессов - php
$link = 'https://bpmn.f5api.ru/api/v1/processes';
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $link);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_USERAGENT, 'bpmn-API-client/1.0');
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "GET");
curl_setopt($curl, CURLOPT_HTTPHEADER, [
'Content-Type: application/json',
'X-Auth-Bpmn-Token: <token>'
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Запуск процесса - PHP

# запуск процесса - php
$link = 'https://bpmn.f5api.ru/api/v1/processes/(Id вашего процесса)/start';
$body = [
"entities" => [
["id" => 15940921, "type" => "lead"],
["id" => 15940923, "type" => "lead"],
["id" => 15940925, "type" => "lead"]
]
];
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $link);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_USERAGENT, 'bpmn-API-client/1.0');
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($body));
curl_setopt($curl, CURLOPT_HTTPHEADER, [
'Content-Type: application/json',
'X-Auth-Bpmn-Token: <token>'
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Получение списка процессов - JavaScript

# получение списка процессов - js
$.ajax({
url: "https://bpmn.f5api.ru/api/v1/processes",
method: "GET",
headers: {
"X-Auth-Bpmn-Token": "<token>",
"Content-Type": "application/json"
},
dataType: 'json'
})
.done(function(response) {
console.log(response);
});

Работа с другими виджетами

Процессы совместимы с другими виджетами, такими как Триггеры, Почтовик и Документы
Триггеры
Как процессы можно запускать через сценарии в Триггерах, так и Триггеры можно инициировать через процессы.

Добавьте элемент "Триггеры" в цепь процесса, и перейдите в настройки элемента. Все созданные вами сценарии отобразятся в списке, выберите нужный сценарий и сохраните.

При запуске процесса, выбранный Сценарий будет запущен автоматчиески.
Добавьте запуск процесса в сценарий Триггеров
Перейдите в настройки виджета "Триггеры", создайте сценарий или выберите редактирование старого.

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

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

Добавьте элемент "Документы" в цепь процессы, в настройках выберите шаблон документа (в списке будут отображены все доступные шаблоны), нажмите Сохранить.

Процесс сгенерирует и отправит Документ клиенту.

Отладка процессов

Обработка ошибок и история срабатываний
При возникновении ошибок и проблем со срабатыванием процесса перейдит е в настройки в раздел виджета "Процессы".

В настройках виджета перейдите во вкладку "История". В таблице будет показана история всех запусков процессов, со статусами их завершения.

Чтобы найти процессы, завершенные с ошибкой, выберите в выпадающем списке статус"Завершено с ошибкой" и нажмите "Найти".

В списке отобразятся все процессы, завершенные с ошибкой.
Нажмите на ошибку, перед вами откроется окно срабатывания процесса.


Нажмите на ошибку, и интерфейс покажет вам, на каком этапе произошла ошибка.

Теперь вы знаете, какой элемент сработал не так, как нужно, а так же можете увидеть сообщение с расшифровкой кода ошибки.



Читайте так же
Telegram канал «Команды F5»
Лучшие кейсы автоматизаций, новости о выходе новых виджетов и обновлениях действующих.