Блог

Как быстро настроить уведомления в Telegram-бот из Zoho CRM без сторонних сервисов

Зачем нужны уведомления в Telegram из Zoho?

В бизнес-процессах часто возникает необходимость оперативно уведомлять сотрудников о событиях в CRM или других приложениях Zoho:

  • поступил новый лид,
  • заключена сделка,
  • пришёл платёж,
  • выполнена задача.

Обычно для таких интеграций используют сторонние сервисы (Zapier, Make, Integromat и др.), но у них есть минусы:

  • платные тарифы при увеличении объёма,
  • зависимость от внешних платформ,
  • ограниченная гибкость настройки.

На самом деле, всё можно реализовать напрямую средствами Zoho — с помощью Deluge-скрипта.

Решение: отправка сообщений в Telegram через Deluge

Zoho CRM (и другие сервисы Zoho) позволяют вызывать HTTP-запросы. Это значит, что можно напрямую обратиться к API Telegram и отправить сообщение в бот.

Ниже приведён пример функции на Deluge:
string telegram_message(string text, string chat_id, string button_text, string button_url)
{
    param = Map();
    param.put("chat_id", chat_id);
    param.put("text", text);
    
    reply_markup = "{\"inline_keyboard\":[[{\"text\":\"" + button_text + "\",\"url\":\"" + button_url + "\"}]]}";
    param.put("reply_markup", reply_markup);
    
    response = invokeurl
    [
        url :"https://api.telegram.org/bot********************************/sendMessage"
        type :POST
        parameters:param
    ];
    
    return response;
}

Как работает скрипт

1) Функция принимает параметры

  • text — текст уведомления,
  • chat_id — ID чата или пользователя (его можно узнать, написав боту и посмотрев ответ API),
  • button_text — текст кнопки,
  • button_url — ссылка, на которую ведёт кнопка.

2) Формируется JSON с inline-кнопкой
К сообщению можно прикрепить кнопку: например, “Открыть сделку в Zoho CRM” или “Перейти к задаче”.
3) Выполняется запрос к API Telegram
Через invokeurl отправляется POST-запрос к методу sendMessage.
4) Возвращается ответ
В переменной response хранится результат (успешная отправка или ошибка).

Пример использования в Zoho CRM

Допустим, мы хотим, чтобы при создании новой сделки менеджеру приходило уведомление в Telegram:
string telegram_message(string DealID)
{
	text = "Создана новая сделка";
	chat_id = "Ваш ID";
	button_url = "https://crm.zoho.com/crm/org861106275/tab/Potentials/" + id;
	button_text = "Открыть";
	//
    param = Map();
    param.put("chat_id", chat_id);
    param.put("text", text);
    
    reply_markup = "{\"inline_keyboard\":[[{\"text\":\"" + button_text + "\",\"url\":\"" + button_url + "\"}]]}";
    param.put("reply_markup", reply_markup);
    
    response = invokeurl
    [
        url :"https://api.telegram.org/bot********************************/sendMessage"
        type :POST
        parameters:param
    ];
    
    return response;
}

Результат:

В Telegram придёт сообщение:

“Создана новая сделка: <название сделки>”

и кнопка “Открыть сделку”, ведущая прямо в Zoho CRM.

Преимущества решения

  • Без сторонних сервисов — всё работает внутри Zoho.
  • Мгновенные уведомления — сотрудники сразу получают оповещения.
  • Гибкость — можно отправлять уведомления из любого модуля (Лиды, Сделки, Задачи, Проекты и т.д.).
  • Кнопки и ссылки — удобный переход прямо в нужный объект CRM.
  • Экономия бюджета — не нужно платить за интеграторы.

Подводные камни

  • Нужно заранее создать собственного Telegram-бота через BotFather и получить API-токен.
  • У каждого пользователя должен быть свой chat_id, его можно хранить в отдельном поле CRM.
  • Telegram ограничивает количество запросов (около 30 сообщений в секунду), но для CRM-сценариев это более чем достаточно.

Вывод

С помощью нескольких строк кода можно организовать быстрые и удобные уведомления в Telegram прямо из Zoho CRM. Это решение отлично подходит, если:

  • вы хотите мгновенно уведомлять сотрудников о событиях,
  • не хотите зависеть от сторонних сервисов,
  • ищете простой и бесплатный способ интеграции Zoho и Telegram.