Статья была полезной?
С помощью процессов на GetCourse вы можете использовать интерактивные возможности Telegram-бота, чтобы собирать с пользователей обратную связь и учитывать её в работе.
Содержание:
- Отправка сообщения в Telegram
- Callback-операция «Отправить telegram сообщение и ожидать ответа» (интерактивный опрос)
- Callback-операция «Отправить telegram-сообщение для сбора данных»
- Запуск процесса при подключении пользователя к Telegram-боту
- Запуск процесса при получении сообщения от пользователя
- Запуск процесса при нажатии на кнопку постоянной клавиатуры
Отправка сообщения в Telegram
С помощью операции «Отправить telegram сообщение» вы можете добавить в схему вашего процесса отправку сообщения пользователю в Telegram.
Добавить операцию в процесс могут:
- владелец аккаунта,
- администратор.
Как добавить операцию в процесс
Операция «Отправить telegram сообщение»
Выбор бота для отправки сообщения
В настройках блока вы можете выбрать бота, от имени которого пользователям придет ваше Telegram-сообщение.
Если в списке выбрать «Любой бот», то сообщение придет всем пользователям, которые подключились хотя бы к одному Telegram-боту.
Если к профилю пользователя привязано несколько Telegram-ботов, сообщение отправится от основного бота. Если основной не привязан, то от подключенного последним бота.
Проверить, через какого бота были отправлены сообщения, можно в истории задачи.
Использование переменных в тексте
В тексте сообщения можно использовать переменные в зависимости от объекта процесса. Подробнее об этом читайте в статье → «Как правильно использовать переменные в процессе».
Пример переменной в тексте
Отображение для пользователя
Дополнительные опции для отправки ссылок
В операции «Отправить telegram сообщение» можно использовать дополнительные опции для отправки сообщения, в котором есть ссылки. Опции работают независимо друг от друга.
- Опция «Оборачивать ссылки для авторизации» включает авторизацию пользователя при переходе по ссылке в сообщении. Таким образом, при переходе по ссылке ученик автоматически попадёт в свой личный кабинет и ему не нужно будет вводить пароль для входа.
Обратите внимание: в целях безопасности такая ссылка не авторизует сотрудников и администраторов аккаунта.
- Опция «Скрывать превью ссылок» позволяет отключить в сообщениях с транспортом «Telegram» параметры страницы, которые отображаются в соц.сетях и в поисковых системах. Примеры отображения сообщения можно увидеть ниже.
Дополнительные опции
Отображение сообщения при выключенной опции
«Скрывать превью ссылок»
Отображение сообщения при включенной опции
«Скрывать превью ссылок»
Добавление файлов к сообщению
К Telegram-сообщению можно прикрепить следующие типы файлов:
- изображения (формат jpg, png, размером не более 10 мб);
- видео (формат mp4, размером не более 50 мб);
- видеокружок (круглое или квадратное видео до 640×640 пикселей, в формате mp4, не длиннее 1 минуты);
- аудио (формат mp3, m4a, размером не более 50 мб);
- голосовое (формат ogg с кодировкой OPUS, размером не более 50 мб);
- документ (любые файлы размером не более 50 мб).
Изображения будут объединены в альбомы по 10 элементов. Если длина текста сообщения менее 1024 символов, то текст будет отправлен как подпись к альбому. Длинный текст отправляется отдельным сообщением.
После прикрепления файла система попробует определить его тип. При необходимости вы можете самостоятельно выбрать, как именно файл будет отправлен пользователю:
Чтобы файл прикрепился к сообщению, сохраните настройки.
Если добавленный файл потребуется удалить из письма, то поставьте галочку в опции «Удалить» и вновь сохраните настройки.
Обратите внимание: ранее для прикрепления файлов к telegram-сообщению также можно было использовать синтаксис. С 28.11.2023 в новых блоках процесса он работать не будет. Прикрепить файл в таких блоках можно только через рассмотренные ранее кнопки.
В старых блоках процесса синтаксис продолжит работать до внесения изменений в блоки.
После настройки операции «Отправить telegram сообщение» вы увидите в блоке два выхода:
- «Доставлено» — для ситуаций, когда отправка удалась;
- «Ошибка» — для ситуаций, когда отправка не удалась.
Это позволит по-разному среагировать в процессе в зависимости от успешности отправки. Например, в случае ошибки можно направить сообщение на email.
Разные выходы блока
Обратите внимание: перед тем как фактически запустить процесс по клиентам, мы рекомендуем сделать тестовый запуск с включенной опцией «Выполнять действия по-настоящему». Тестовый запуск позволит ускорить отправку Telegram-сообщения с файлами, а также заранее проверить его на ошибки.
Подробнее читайте в статье → «Как протестировать процесс».
Callback-операция (интерактивный опрос)
Callback-операция позволяет отправить пользователю сообщение и ожидать ответа на него.
Чтобы добавить в схему процесса блок с возможностью выбора ответа, используйте callback-операцию «Отправить telegram сообщение и ожидать ответа».
Добавить блок могут:
- владелец аккаунта;
- администратор.
Callback-операция «Отправить telegram сообщение и ожидать ответа»
Как и в блоке «Отправить telegram сообщение» вы можете:
- Выбрать бота, от имени которого отправится сообщение.
- Добавить текст с переменными.
- Включить дополнительные опции для сообщений со ссылками.
- Прикрепить файлы.
Описание этих возможностей рассмотрели в разделе выше 🠕
Настройка вариантов ответа для пользователей
Чтобы пользователь мог выбрать вариант ответа в сообщении, добавьте их ниже.
Для каждого варианта ответа в блоке отображается отдельный выход. Это позволит пустить процесс по разным веткам в зависимости от ответа пользователя. Например, по итогу можно добавлять пользователей в разные группы.
По умолчанию в блоке есть предсозданные варианты ответа с отдельными выходами:
- Ошибка — отрицательный выход. Переход по этой ветке произойдёт, если пользователь отправит в ответ некорректное сообщение. В этом случае можно, например, уведомить ответственного сотрудника и завершить процесс.
- Отмена — нейтральный выход. Переход по этой ветке произойдёт, если во время ожидания ответа сработают другие блоки callback-операций, настроенные в процессе. В этом случае процесс будет ожидать ответа только по последней callback-операции.
- Таймаут — нейтральный выход. Переход по этой ветке произойдёт по истечении указанного времени таймаута, если пользователь не среагирует на полученное по callback-операции сообщение.
В качестве варианта ответа вы можете добавить звёздочку (*). Она полностью меняет обработку ответа пользователя, если он напишет произвольное сообщение, которое не совпадает ни с одним из заданных в блоке вариантов:
- Если вам важны только прописанные в блоке варианты и другие ответы не нужно анализировать, используйте звездочку (*). Произвольный ответ пользователя не будет отображаться в истории выполнения задачи, а само сообщение не попадет в раздел «Входящие».
- Если вы хотите анализировать произвольные ответы, не добавляйте вариант со звездочкой (*). Ответ попадет в раздел «Входящие» аккаунта, а задача продолжит исполнение по ветке «Ошибка».
Вариант со звездочкой не будет отображаться пользователю, т. е. ее нельзя выбрать намеренно. В качестве произвольного ответа учитываются любые варианты сообщений, в том числе стикеры, файлы, аудиосообщения и т. д.
Использование звездочки в качестве варианта ответа
Переход по ветке со звездочкой
Обратите внимание: для корректной работы процесса не следует запускать одновременно более одной callback-операции для пользователя в рамках одного бота.
Это правило действует для callback-операциий, которые одновременно запущены в рамках:
- одной задачи по процессу;
- разных задач по одному процессу;
- задач по разным процессам, но для одного пользователя.
Если для одного пользователя одновременно запущено несколько callback-операций, ответ получит только та, которая запущена последней.
Ниже рассмотрим пример процесса, который допускает одновременный запуск двух callback-операций.
В нашем примере блок № 1 «Отправить telegram сообщение и ожидать ответа» сможет получить и обработать ответ пользователя только в первые 5 минут после отправки.
Через 5 минут запустится блок № 2 «Отправить telegram сообщение и ожидать ответа» и ответ пользователя придет только в него.
Блок № 1 в данном случае сможет продолжить выполнение только по выходу «Таймаут», если он используется.
Проверить и отладить работу процесса вы сможете на тестовом пользователе в режиме тестирования:
В полученном сообщении в Telegram пользователь увидит настроенный вопрос и варианты ответа в виде кнопок.
Выбрать вариант ответа он сможет как по нажатию на кнопку, так и отправив в ответ текст, указанный на ней.
Callback-операция «Отправить telegram-сообщение для сбора данных»
С помощью этой операции вы можете запросить у пользователей электронный адрес через Telegram-бот и вписать его в карточку пользователя на GetCourse. Это актуально для тех случаев, когда у пользователя указан технический email (то есть фактического адреса нет). Найти таких пользователей можно с помощью условия «Технический эл. адрес».
Важно: операция не изменяет обычный email и не работает для сотрудников аккаунта.
В будущем вы сможете запрашивать и другие данные, например, имя или дату рождения — это сделает взаимодействие с пользователями еще удобнее! Следите за обновлениями в нашем телеграм канале «GetCourse Update» → подписаться.
Для отправки такого запроса используйте callback-операцию «Отправить telegram сообщение для сбора данных».
Добавить блок могут:
- владелец аккаунта,
- администратор.
В блоке вы можете:
- Выбрать бота, от имени которого отправится сообщение, — читайте подробнее в разделе [Выбор бота для отправки сообщения].
- Добавить текст сообщения с переменными — читайте подробнее в разделе [Использование переменных в тексте].
- Выбрать тип запрашиваемых данных — на данный момент доступен только вариант «email».
- Включить дополнительные опции для сообщений со ссылками — читайте подробнее в разделе «Дополнительные опции для отправки ссылок».
- Включить опцию «Пользователь может пропустить этот вопрос» — в таком случае у пользователя в диалоге с ботом будет отображаться кнопка «Пропустить».
Настройки сallback-операции «Отправить telegram сообщение для сбора данных»
Как работает операция «Отправить telegram сообщение для сбора данных»
С помощью операции вы можете отправить пользователю с технической почтой сообщение, в котором попросить его в ответ написать свой email. Далее может произойти следующее:
- Если пользователь отправит в ответ адрес с ошибкой, то увидит предложение исправить ее с наиболее вероятным правильным значением. Если же он отправит произвольное сообщение или адрес временного почтового ящика, то также увидит сообщение с предупреждением.
- Если пользователь отправит в ответ корректный адрес почты, то получит на него письмо с кодом. Этот код нужно будет отправить в ответ на сообщение бота в Telegram.
- Если ввести неправильный код, бот предупредит об этом. После отправки правильного кода пользователь увидит сообщение «Данные приняты».
Далее email будет перезаписан в карточке пользователя с технического на реальный.
Обратите внимание: если пользователь отправил и подтвердил почту, которая уже есть в другом профиле в аккаунте, то в уже существующий профиль будут перенесены все привязки соц.сетей и мессенджеров из профиля с технической почтой.
- Если в блоке был установлен чекбокс «Пользователь может пропустить этот вопрос», то пользователь может нажать кнопку в сообщении и не отвечать на вопрос.
- Если такой опции не было или если пользователь полностью проигнорировал сообщение, сработает установленный в блоке таймаут. В этом случае можно, например, отправить пользователю дополнительное сообщение с информацией, как он может изменить техническую почту на настоящую. При этом предыдущее сообщение с запросом email будет заменено в чате новым.
Обратите внимание: мы не рекомендуем ставить короткое время таймаута, т.к. оно будет отсчитываться на протяжении отработки всего блока. В это время также входит время на отправку сообщения с кодом подтверждения почты и ожидание ответа от пользователя.
Возможные ответы (выходы из блока)
По умолчанию есть шесть возможных вариантов развития ситуации после отправки сообщения пользователю. Для каждого варианта в блоке отображается отдельный выход. Это позволит пустить процесс по разным веткам в зависимости от ситуации. Например, можно отправлять пользователю разные сообщения.
- Выполнено — положительный выход. Пользователь ввел корректный email, который был записан в его карточку.
- Ошибка — отрицательный выход. Переход по этой ветке произойдёт, если сообщение было отправлено ученику с настоящим, не техническим адресом email или сотруднику аккаунта, а также если пользователь дважды введет неверный код из письма при проверке email.
- Пользователь ввел некорректное значение — отрицательный выход. Переход по этой ветке произойдёт, если пользователь отправит произвольное сообщение, адрес с опечаткой или адрес временного ящика.
- Пользователь пропустил вопрос — нейтральный выход. Переход по этой ветке произойдёт , если пользователь нажмет «Пропустить» (при установленном чекбоксе «Пользователь может пропустить этот вопрос» в блоке операции).
- Таймаут — нейтральный выход. Переход по этой ветке произойдёт по истечении указанного времени таймаута, если пользователь не среагирует на полученное по callback-операции сообщение.
- Отмена — нейтральный выход. Переход по этой ветке произойдёт, если во время ожидания ответа сработают другие блоки callback-операций, настроенные в процессе. В этом случае процесс будет ожидать ответа только по последней callback-операции. Подробнее об этом читайте в [разделе выше].
Запуск процесса при подключении пользователя к Telegram-боту
Процесс можно запускать автоматически при подключении пользователя к боту, если в настройках Telegram-бота в вашем аккаунте включена опция «Запускать процесс при подключении бота».
Важно: процесс должен быть создан по объекту «Пользователи».
По умолчанию запуск процесса срабатывает только при первом подключении бота. Чтобы процесс запускался повторно, дополнительно включите опцию «Процесс запускается при повторном подключении бота».
Данная опция позволяет запустить процесс, когда пользователь подключает Telegram-аккаунт, который ранее был отключен от профиля.
Обратите внимание:
- Опция отображается, только если активна опция «Запускать процесс при подключении бота».
- Повторный запуск процесса возможен не чаще чем один раз в 5 минут. Если от предыдущего запуска не прошло 5 минут, процесс запущен не будет.
Запуск процесса при получении сообщения от пользователя
При получении сообщения с определенной командой от пользователя в Telegram-бот можно запускать процесс. С его помощью удобно, например, добавлять пользователя в группу, отправлять ему дополнительное сообщение в Telegram и многое другое.
Для запуска процесса по команде:
- В разделе «Сообщения» — «Telegram» кликните по боту.
- Перейдите в настройки запуска процессов по команде из Telegram.
- Укажите команду, по которой будет запускаться процесс.
- Выберите из списка процесс по пользователям и сохраните изменения.
При этом предусмотрена возможность использования дополнительного синтаксиса:
- текст — процесс запустится, если сообщение содержит только искомый текст.
- */текст — процесс запустится, если сообщение заканчивается на искомый текст.
- текст/* — процесс запустится, если сообщение начинается с искомого текста.
- */текст/* — процесс запустится, если в сообщении искомый текст содержится в любом месте.
Когда клиент отправит в бот сообщения с командами 2-4, они дополнительно отобразятся в разделе «Входящие» и в «Общении с пользователем». Команда, по которой произошла обработка, выделится жирным шрифтом.
Если в одном сообщении сразу несколько команд, то обрабатывается только одна команда в следующем приоритете:
- Искомый текст в начале (например, Привет/*);
- Искомый текст в конце (например, */вебинар);
- Искомый текст в любом месте (например, */купить/*).
Обратите внимание: если ученик отправит в Telegram-бота сообщение со следующей командой, то новая задача в процессе создана не будет, если предыдущая задача активна (в том числе тестовая).
Запуск процесса при нажатии на кнопку постоянной клавиатуры
Чтобы процесс запускался для пользователя при нажатии на кнопку в письме, к рассылке можно добавить постоянную клавиатуру. Для этого:
1. Создайте процессы по пользователям, которые будут запускаться при нажатии на кнопки в чате. В качестве примера будем добавлять пользователя в группу и отправлять ответное сообщение в Телеграм.
2. В настройках бота:
- добавьте команды, которые отобразятся на кнопках в чате;
- укажите процессы, которые будут запущены по каждой из команд;
- сохраните настройки.
3. Создайте рассылку с транспортом «Telegram» и откройте настройки кнопочного меню по иконке клавиатуры.
- Во всплывающем окне укажите:
- команды, настроенные в боте для запуска процессов;
- цвета кнопок: нейтральный (серый), зеленый, красный, синий.
- Нажмите «Сохранить клавиатуру».
После получения рассылки для пользователя в чате отобразится постоянная клавиатура. Когда он нажмет на одну из кнопок запустится соответствующий ей процесс. При необходимости пользователь может заново открыть клавиатуру и выбрать один из предложенных вариантов.
Обратите внимание: на устройствах iPhone клавиатура полностью скрывается после того, как пользователь нажмет на один из предложенных вариантов. При необходимости вы можете отправлять клавиатуру в каждом последующем сообщении, если её нужно сохранить постоянной.
Если вам удобнее использовать синтаксис для добавления постоянной клавиатуры, примеры для вставки можно найти по кнопке «Помощь».
Как перейти к примерам синтаксиса
Как добавить постоянную клавиатуру с помощью синтаксиса
Интеграция GetCourse с Telegram предоставляет массу возможностей для вашего бизнес-процесса: опросы, рассылки и уведомления и даже управление закрытой группой. Обо всех возможностях читайте в основной статье.