[Документация Yandex Cloud](../../../../index.md) > [Yandex Serverless Integrations](../../../index.md) > [Пошаговые инструкции](../../index.md) > Workflows > [Конструктор шагов рабочего процесса](index.md) > Интеграционные шаги > Telegram-бот

# Обращение к Telegram Bot API

{% list tabs %}

- Консоль управления {#console}

  1. В процессе [создания](../workflow/create-constructor.md) нового рабочего процесса или [изменения](../workflow/update.md) существующего в консоли управления в блоке **Создание рабочего процесса** / **Изменение рабочего процесса** выберите `Конструктор`. 
  1. Из секции **Интеграционные шаги** в левой части экрана перетащите элемент ![foundation-models-icon](../../../../_assets/console-icons/logo-telegram.svg) **Telegram-бот** в нужное место рабочего процесса в окне конструктора.

      Перетаскивать шаги можно в обозначенные пунктирной линией блоки на графической схеме рабочего процесса, такие как **Добавить шаг** и т.п.
  1. В окне со схемой рабочего процесса нажмите на добавленный блок **Telegram-бот**, чтобы выбрать его.
  1. В правой части окна на вкладке **Настройки**:

      1. В поле **Имя шага** задайте имя шага рабочего процесса.
      1. В блоке **Токен** укажите [токен бота](https://core.telegram.org/bots/features#creating-a-new-bot) или [секрет](../../../../lockbox/concepts/secret.md) Yandex Lockbox, в котором сохранен этот токен. Выберите:

          * `Lockbox`, чтобы хранить токен бота в секрете, и в блоке **Cекрет** выберите секрет, его [версию](../../../../lockbox/concepts/secret.md#version) и ключ, в которых сохранен токен бота.

              Если у вас еще нет секрета Yandex Lockbox, нажмите кнопку **Создать**, чтобы создать его.

          * `Текст`, чтобы хранить токен бота в спецификации в виде текста, и в поле **Значение** введите токен бота.

              {% note warning %}

              Хранить токен бота в открытом виде в тексте спецификации небезопасно.

              {% endnote %}

      1. В блоке **Действие**:

          1. В поле **Идентификатор чата** укажите идентификатор чата или имя канала в формате `@channelusername`.
          1. В поле **Текст** введите текст сообщения, который нужно отправить.
          1. (Опционально) В поле **Ответить на сообщение** укажите идентификатор сообщения, на которое нужно ответить.
          1. (Опционально) В поле **Режим форматирования** выберите режим форматирования сообщения. Подробнее в [документации Telegram Bot API](https://core.telegram.org/bots/api#formatting-options).

      1. (Опционально) В поле **Таймаут, мс** задайте максимальное время выполнения текущего шага.
      1. (Опционально) Чтобы задать для шага собственную политику повторных попыток, разверните блок **Политика повторных попыток** и нажмите кнопку ![plus](../../../../_assets/console-icons/plus.svg) **Политика повторных попыток**. В появившейся форме:
         
         1. (Опционально) В поле **Начальная задержка, мс** задайте начальное значение задержки между повторными попытками выполнения шага.
         1. (Опционально) В поле **Скорость изменения задержки** задайте коэффициент, на который будет умножаться время задержки перед каждой повторной попыткой выполнения шага.
         1. (Опционально) В поле **Максимальная задержка, мс** задайте значение максимальной задержки между повторными попытками выполнения шага.
         1. В поле **Ошибки** выберите ошибки, для которых будут (или, наоборот, не будут) сделаны повторные попытки выполнения шага.
         
             Подробная информация о возможных ошибках приведена в разделе [Возможные коды ошибок](../../../concepts/workflows/execution.md#errors).
         1. (Опционально) В поле **Количество повторных попыток** задайте максимальное количество повторных попыток выполнения шага.
         1. В поле **Режим выбора ошибок** выберите:
         
             * `INCLUDE` — чтобы делать для шага повторные попытки выполнения при возникновении ошибок, указанных в поле **Ошибки**.
             * `EXCLUDE` — чтобы делать для шага повторные попытки выполнения при возникновении любых ошибок, за исключением ошибок, указанных в поле **Ошибки**.
         
         Если вы хотите удалить политику повторных попыток, ранее созданную для шага, в строке **Политика повторных попыток** нажмите ![ellipsis](../../../../_assets/console-icons/ellipsis.svg) и выберите **Удалить**.
         
         Если для шага не настроена собственная политика повторных попыток, к нему будет применяться политика повторных попыток, [заданная для всего рабочего процесса](setup-restart-policy.md).
  1. (Опционально) Перейдите на вкладку **Вход** и задайте [jq-шаблон](../../../concepts/workflows/templating.md) для фильтрации [состояния рабочего процесса](../../../concepts/workflows/workflow.md#state), которое передается в шаг.
  1. (Опционально) Перейдите на вкладку **Выход** и задайте [jq-шаблон](../../../concepts/workflows/templating.md) для фильтрации выходных данных шага, которые добавляются в [состояние рабочего процесса](../../../concepts/workflows/workflow.md#state).
  1. (Опционально) [Добавьте](setup-catch-rule.md) для создаваемого шага [правило перехода по ошибкам](../../../concepts/workflows/yawl/index.md#catchrule), которые могут возникать во время выполнения этого шага.

{% endlist %}

## Полезные ссылки {#see-also}

* [Спецификация YaWL](../../../concepts/workflows/yawl/integration/telegrambot.md)
* [Создать рабочий процесс с помощью конструктора](../workflow/create-constructor.md)
* [Изменить рабочий процесс](../workflow/update.md)