Передача диалогов WhatsApp в Salesforce с номера Coexistence
Направьте вебхуки номера в рабочий процесс n8n, найдите отправителя в Salesforce SOQL-запросом по телефону, создайте Lead, если совпадений нет, и записывайте каждое сообщение как Task или заметку в карточке. Все три вызова покрывает узел Salesforce в n8n. Команда по-прежнему отвечает из приложения WhatsApp Business, а история хранится в Salesforce.
Узел Salesforce в n8n умеет выполнять SOQL-запрос, так рабочий процесс находит запись по телефону.
Операция, которую узел Salesforce в n8n предлагает для записей Lead, Contact, Account и Opportunity.
Meta позволяет задать для рабочего номера собственный URL обратного вызова вебхука, который заменяет значение приложения по умолчанию.
Как выглядит рабочий процесс n8n?
Четыре узла подряд плюс ветка верификации, которая нужна для любого вебхука Meta.
Узел Webhook принимает POST-запрос, который Meta отправляет на каждое сообщение. Узел Salesforce выполняет SOQL-запрос и ищет Lead или Contact, у которого телефон совпадает с телефоном отправителя. Узел IF разделяет потоки по тому, вернулось ли что-нибудь: если да, рабочий процесс передаёт дальше id записи; если нет, узел Salesforce создаёт Lead с именем профиля из тела запроса. Последний узел Salesforce создаёт Task для этой записи: текст сообщения попадает в описание, а тема указывает, что это сообщение WhatsApp.
Ветка верификации отвечает на GET-запрос Meta значением hub.challenge в виде обычного тела ответа. Без неё Meta не начнёт доставку, и остальная часть рабочего процесса будет простаивать.
Task или заметка: что лучше хранит сообщение?
Для большинства команд Task, потому что он попадает в ленту активности, которую менеджеры по продажам и так читают, и по нему можно строить отчёты. Установите статус «выполнено», чтобы он не выглядел как открытое дело, и добавьте тему с названием канала: тогда фильтр по активности WhatsApp сводится к одному условию.
Операция Add note в узле n8n подходит для другого случая: когда нужна сводка, а не каждое сообщение. Некоторые команды собирают сообщения за день по каждому контакту и вечером записывают одну заметку. Так лента остаётся читаемой, даже если клиент прислал двадцать коротких строк.
Что бы вы ни выбрали, записывайте id сообщения WhatsApp в запись. Meta повторяет доставку, а рабочий процесс, который перед записью проверяет наличие такого id, никогда не залогирует одно и то же сообщение дважды.
Может ли команда отвечать с телефона и увидит ли это Salesforce?
Да, и то и другое. Coexistence сохраняет работу приложения WhatsApp Business на том же номере, поэтому сотрудники, которые отвечали клиентам вчера, продолжают это делать. Когда они отвечают из приложения, Meta отправляет эхо исходящего сообщения на тот же адрес вебхука, в поле smb_message_echoes.
Добавьте в рабочий процесс второй путь для этих эхо-сообщений и записывайте их как исходящие Task. Тогда менеджер, открывший лид, увидит по порядку и вопрос, и ответ магазина, и никому не придётся копировать переписку вручную.
Ответы, которые рабочий процесс отправляет сам через узел HTTP Request к Cloud API, нужно записывать в момент отправки. Текст и id записи у процесса уже есть.
Как избежать дублей лидов?
Сопоставляйте по нормализованному номеру, а не по полю в том виде, в каком его ввели люди. Meta присылает отправителя в виде цифр с кодом страны и без знака плюс. В полях телефона Salesforce лежит то, что ввёл создатель записи: с пробелами, скобками и дефисами.
Надёжный подход: отдельное текстовое поле с номером только из цифр. Рабочий процесс заполняет его при создании лида, а для существующих записей его заполняет разовая обработка. Тогда SOQL-запрос сравнивает это поле на равенство, что быстро и точно.
Проверяйте и контакты, и лиды. Клиент, который уже прошёл конвертацию, является Contact, и если рабочий процесс ищет только среди лидов, он создаст новый Lead на каждого существующего клиента, который напишет вам.
Распространённые ошибки
- Поиск только по объекту Lead. Существующие клиенты хранятся как Contact, и каждый из них, написав вам, становится дублем лида.
- Запись сообщений как открытых Task. Менеджеры получают дело на каждую реплику клиента; при создании ставьте статус «выполнено».
- Пропуск ветки верификации GET в рабочем процессе. Meta не подтверждает адрес назначения, и ни одно сообщение не доставляется.
Подключите номер на easycoexistence.com и укажите в качестве адреса вебхука рабочий процесс n8n, который пишет в Salesforce. От US$ 9 за подключённый номер в месяц, до US$ 1 по мере добавления номеров, первые 3 дня бесплатно.
Часто задаваемые вопросы
Нужен ли для этого пакет Salesforce AppExchange?
Нет. Встроенный узел Salesforce в n8n выполняет поиск, создаёт лид и задачу, а чего ему не хватает, можно сделать через узел HTTP Request с теми же учётными данными.
Можно ли сделать то же самое в Make?
Да. Пользовательский вебхук Make принимает сообщение, а модули Salesforce записывают данные. Сценарий повторяет рабочий процесс n8n шаг за шагом.
Может ли Salesforce отправить лиду шаблон WhatsApp?
Через рабочий процесс да. Пусть Salesforce вызывает вебхук n8n, а n8n отправляет утверждённый шаблон через Cloud API с идентификатором номера телефона и токеном этого номера.
Хранит ли EasyCoexistence копии сообщений?
Нет. Meta доставляет каждый вебхук прямо на ваш URL n8n, а EasyCoexistence никогда не сохраняет содержимое переписки.
Читайте дальше
Готовы начать?
Настройте WhatsApp Coexistence за несколько минут, а не месяцев. Приложение продолжит работать на телефоне.
Начать бесплатный пробный периодПроверено по состоянию на