Перейти к содержимому
FormFlow

Передача отправок формы в Slack через вебхук

Добавьте конечную точку вебхука на вкладке «Доставка» формы, выберите формат «Сообщение в Slack» и вставьте адрес входящего вебхука, которым вы владеете. Это формат полезной нагрузки, а не нативная интеграция со Slack.

Эта статья переведена машинным способом. Читать оригинал на английском

A dark plate titled 'Send Submissions to Slack through a webhook', listing a webhook endpoint on the Delivery tab, a Slack-shaped message payload, and a receiver address you own.

FormFlow может публиковать в Slack короткое сообщение каждый раз, когда форма получает отправку. Он делает это через конечную точку вебхука — тот же механизм, что пересылает отправки на любой принадлежащий вам URL. Это не нативная интеграция со Slack: нет приложения Slack, которое нужно установить, нет входа через Slack и нет выбора канала. Вы даёте FormFlow адрес входящего вебхука, а FormFlow отправляет на него сообщение в формате Slack. Это руководство показывает, как всё настроить, и прямо говорит, что в сообщении есть, а чего нет.

Что понадобится заранее

  • Форма в вашей команде, которую вы можете редактировать.

  • Адрес входящего вебхука, которым вы владеете: URL входящего вебхука из вашего рабочего пространства Slack или адрес любой вашей конечной точки, принимающей формат сообщений Slack. Создайте его в Slack по документации самого Slack; эта статья не касается этой стороны.

  • Адрес https. FormFlow отказывается от обычного http для конечных точек вебхуков.

Добавьте конечную точку

  1. Откройте форму и перейдите на вкладку «Доставка».

  2. Найдите «Конечные точки вебхуков» и выберите «Добавить конечную точку».

  3. В поле «Отправлять как» выберите «Сообщение в Slack». По умолчанию выбрано «FormFlow JSON (с подписью)», поэтому это изменение и есть вся разница между конечной точкой Slack и обычным вебхуком.

  4. Поле URL теперь называется «URL входящего вебхука». Вставьте в него свой адрес. При вводе поле маскируется, и вы можете показать его, чтобы проверить, что вставили.

  5. Оставьте «Доставка» включённой. По умолчанию она включена; выключите её, чтобы прекратить доставку на эту конечную точку.

  6. Сохраните форму.

Вспомогательный текст под «Отправлять как» сообщает, что адрес хранится в зашифрованном виде и никогда не отправляется обратно по электронной почте. Свёрнутая строка конечной точки называет формат, а не выводит адрес, поэтому URL не лежит открытым текстом по всей странице.

Отправьте тест

В каждой строке конечной точки есть действие «Отправить тест». Оно публикует одну строку «FormFlow test — submissions from this form will arrive here.» на адрес из строки. При успехе вы увидите «Тестовое сообщение доставлено»; при сбое — «Не удалось доставить тестовое сообщение» с текстом ошибки самого получателя, обрезанным до 300 символов.

Действуют два условия. Сначала сохраните форму: конечную точку, которая ни разу не сохранялась, протестировать нельзя, и действие сообщит вам об этом. И каждый человек может отправить 20 тестовых доставок в час, включая неудачные. Тест — это кнопка, а не шлагбаум; конечная точка доставляет отправки независимо от того, нажимали вы её или нет.

Что приходит в канал

Сообщение — это дверной звонок, а не запись. Оно содержит:

  • Первую строку жирным шрифтом: «New submission — » и название формы.

  • До пяти ответов, по одному в строке, каждый в виде жирной подписи и значения. Значение обрезается на 200 символах.

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

  • Ссылку «View submission» на отправку в вашей панели управления.

Пробелы внутри значения схлопываются, поэтому значение всегда занимает одну строку. Символы &, < и > экранируются, чтобы Slack не воспринимал текст отправителя как разметку, а звёздочка в значении заменяется похожим символом, чтобы отправитель не мог подделать жирную подпись. Сообщение — только простой текст; Block Kit от Slack оно не использует.

Ограничения, о которых стоит знать

  • Односторонняя связь. FormFlow отправляет; ничего из Slack обратно в FormFlow не поступает.

  • Не больше пяти ответов, по 200 символов каждый. Чтобы увидеть отправку целиком, используйте ссылку или входящие отправки.

  • Slack игнорирует подпись. Каждый формат вебхука подписывается, но Slack отбрасывает заголовок подписи, поэтому для конечной точки Slack нет секрета подписи, который можно скопировать.

  • Отправки, которые FormFlow относит к спаму, не пересылаются. До конечной точки вебхука доходят только принятые отправки, не являющиеся спамом.

  • Повторные попытки, нарастающие задержки и деактивация общие для всех форматов вебхуков. Получатель, который постоянно сбоит, может привести к деактивации своей конечной точки, поэтому проверьте строку, если сообщения перестали приходить.

  • Адрес — это учётные данные. Любой, у кого есть URL входящего вебхука Slack, может писать в этот канал. Относитесь к нему как к паролю и замените его в Slack, если он утёк.

Что это не решает

Оно не выбирает ваш канал и не управляет Slack за вас: адрес, который вы вставляете, определяет, куда попадают сообщения, а это настраивается в Slack. Оно не превращает Slack в ваши входящие; чтение, поиск и экспорт отправок остаются в FormFlow. И оно не делает сообщение Slack копией данных. Если вам нужно получать каждое поле как структурированные данные, добавьте вместо этого вторую конечную точку с форматом FormFlow JSON по умолчанию.