Адаптация шаблона интеграции Chatforma&Bitrix24
с помощью n8n
В этой инструкции описано, как адаптировать шаблон для сохранения ответов из бота и создания контактов в Bitrix24 с этими данными.
Шаг 1: Создайте новый сценарий в n8n. 1.1 Откройте workflow, 1.2 выберите Import from File.
Download file
Шаг 2: Загрузите заранее скачанный на компьютер шаблон для создания контактов. В нем два узла: Вебхук и http запрос.
Шаг 3: Подключите вебхук, пропишите уведомление в Chatforma. (шаги 4-6 в этой инструкции)
Шаг 4: В узле http запроса нужно добавить авторизацию Bitrix24. Для этого понадобится аккаунт Bitrix24 платный тариф или демо-режим. 4.1. Кликните по вкладке Приложения, 4.2. выберите: Разработчикам 4.3. Другое, 4.4. и Локальное приложение.
Шаг 5: Оставьте Серверное, поставьте галочку: Использует только API.
Шаг 6: В n8n выберите в окне Authentication OAuth2. В окне Credential for OAuth2 API выберите -Create New - . В появившемся окне кликом скопируйте из окна OAuth Redirect URL адрес.
Шаг 7: Вернитесь в локальное приложение Bitrix24, 7.1 введите скопированный URL в окно: Путь вашего обработчика 7.2 и во второе окно: Путь для первоначальной установки. 7.3. Нажмите сохранить.
Шаг 8: Появляются client_id и client_secret. Скопируйте и поочередно вставьте эти данные в соответствующие окна на сервисе n8n.
Шаг 9.1: Теперь нужно заполнить два параметра: Authorization URL и Access Token URL .
Заготовка ссылки для поля Authorization URL: https://b24-7tcs2f.bitrix24.ru/oauth/authorize/. Выделенная на скриншоте часть для примера - это домен Bitrix24,у вас будут свои символы. Они берутся из адресной строки браузера.
Шаг 10.1: Следующий адрес Access Token URL одинаковый для всех: https://oauth.bitrix.info/oauth/token/. 10.2 Нажмите кнопку Save. При этом нужно быть авторизованным в этом же браузере в том самом аккаунте Bitrix24, который указывали в окне Authorization URL.
Шаг 11: Нажмите кнопку Connect my account. Открывается окно авторизации. Если авторизации в этом браузере нет, он запрашивает логин и пароль. Авторизация прошла успешно.
Шаг 12: Рекомендуем назвать подключение, чтобы было понятно к какому домену оно относится. Желательно с указанием, что это Bitrix24. Кликните по Unnamed credential и введите скопированное имя Bitrix24. Нажмите кнопку Save.
Шаг 13: Аккаунт связан. В сервисе n8n в окне URL замените на свой домен Bitrix24, в котором создали локальное приложение. Будьте внимательны при копировании домена, чтобы не дублировать лишние знаки слэш / и точку .
Шаг 14: И последнее, нужно обязательно запустить вебхук и из него подставить данные. Сейчас здесь указано firstName, имя и фамилия, как пользователь задал в мессенджере Telegram. Телефон, который сохраняется из ответа пользователя на вопрос бота в форме. Ставим, что это рабочий телефон.
Шаг 15: Все эти параметры можно менять или добавлять. На странице документации по REST есть описание методов. Например crm.contact.add. У него есть определённые параметры, которые можно добавлять.
Шаг 16: Если нужно создавать не контакт, а лид, то в окне URL нужно вместо слова contact прописать слово lead. Поля передачи данных (см. шаг 15) совпадают с указанными для создания контакта, поэтому всё остальное оставьте как есть.
В этой части инструкции рассмотрим, как отредактировать уже ранее созданный контакт через заполнение формы в боте. Нужно сравнить введённые данные с тем, что уже есть. Но для этого понадобится какой-то критерий, по которому будем сравнивать. В данном случае это будет botuserID, который сохраним в Bitrix24 в сценарий создания контакта.
Шаг 1: Задайте кастомное поле в Bitrix24: 1.1 нажмите вкладку CRM, 1.2 вкладку Клиенты, выберите Контакты.
Шаг 2: Зайдите в любой существующий контакт или 2.2 создайте через кнопку Добавить
Шаг 3: Вверху карточки пользователя нажмите Создать поле. Поля появятся у всех контактов. Теперь чтобы заполнить поле, сервису n8n нужно знать его ID.
Download file
Шаг 4: Для этого есть специальный запрос http fields. CRM Contact Fields. Скачайте шаблон по созданию контакта и импортируйте его в сценарий.
Этот шаблон отличается от предыдущего дополнительным параметром внутри узла http contact.add в поле Body Parameters, который позволяет сохранять botuserID.
Шаг 5: Настройте узел http fields: 5.1 выберите авторизацию в окне Credential for OAuth2 API, её вы создали по предыдущему видео. 5.2 В поле URL смените домен на ваш Bitrix24. В этой инструкции рассматривается на примере обновления контактов. Подобным способом можно сделать сценарий для обновления лидов и сделок. Больше никакие параметры не добавляем.
Шаг 6.1: Запустите узел, в ответ придут все существующие поля в CRM системе. Прокрутите до тех пор, пока не найдёте нужный title, 6.2 скопируйте его ID.
Шаг 7: При создании следующего контакта с помощью узла http contact add вы можете заполнять этот параметр.
Шаг 8: В этом примере будем сохранять bot_userID , который приходит из вебхука. Сценарий создан, теперь он умеет не только сохранять ответы на вопросы из формы и параметры которые передаются, но и bot_userID в указанное поле Bitrix24.
Download file
Шаг 9: А теперь как найти этот контакт и как обновить его. Скачайте шаблон, в n8n создайте новый сценарий. В узле http list, в поле URL параметры: contact.list.
Шаг 10: И параметры: фильтр, ID кастомного поля, и дальше сравнение: у кого из контактов это поле равно botuserID из вебхука. Ищется пользователь по результатам его заполнения формы в боте.
Шаг 11: Третий узел http update: в поле URL используйте запрос contact.update. Не забывайте менять в адресе URL свой домен Bitrix24.
Во вспомогательном узле http fields можно взять другой идентификатор кастомного поля и значение, которое будет сохраняться. Это может быть какой-то ответ из вебхука или другие данные.

Можно задать в Bitrix24 кастомные поля, а затем указать в сценарии идентификатор поля для сохранения соответствующих данных. В этом примере будет сохраняться информация откуда пришёл контакт.
Шаг 12: В Bitrix24 создайте ещё одно кастомное поле, в примере названо "form". Запустите узел http fields, найдите title "form". Скопируйте ID кастомного поля.
Шаг 13: Введите его в узле http update вместо ORGANIZATION_ID. Слово Чатформа и будет обозначать, откуда пришёл контакт.
Узел http Fields не будет активным. Он нужен только чтобы увидеть идентификаторы полей.

ШАГ14: Заполните в боте форму, на которую настроен этот вебхук.
Шаг 15: Проверьте, заполнено ли поле form в битрикс24.
Сценарий настроен.