Slack & Discord
Публикуйте читаемые уведомления из B1 прямо в канал Slack или Discord — новые люди, пожертвования, регистрации в группах, отправки форм, события календаря и многое другое. Нет учетной записи третьей стороны, нет Zap для обслуживания: B1 переформатирует события в сообщения чата и отправляет их на URL вебхука канала сам.
Перед началом
- Вам нужно разрешение Edit Settings в B1Admin
- Администратор в вашем рабочем пространстве Slack или сервере Discord для создания Incoming Webhook канала
- Решите, в какой канал вы хотите уведомления (вы можете использовать один и тот же канал для нескольких типов событий или разделить их по каналам)
Как это работает
B1 имеет встроенный Connector Type для платформ чата. Когда вы создаете вебхук с типом Slack или Discord, движок вебхука все еще делает свою обычную доставку + повторные попытки + подписанный заголовок танец, но тело, которое он отправляет, переформатируется из нормального конверта B1 {event,churchId,data} в маленький {text} (Slack) или {content} (Discord) сообщение, которое ожидают эти сервисы.
Никакие серверы B1 не достают из-за границ отдельной церкви, кроме существующего потока исходящего вебхука — нет ничего нового для размещения, нет ничего дополнительного для оплаты.
Slack — пошагово
1. Получите URL Slack Incoming Webhook
- Откройте api.slack.com/apps в рабочем пространстве Slack, в которое вы хотите уведомления.
- Нажмите Create New App → From scratch, назовите его как-нибудь типа "B1 Notifications", и выберите рабочее пространство.
- В левом навигация выберите Incoming Webhooks и переключите Activate Incoming Webhooks в On.
- Нажмите Add New Webhook to Workspace, выберите канал (например
#donations), затем Allow. - Slack возвращает вас на страницу со свежим Webhook URL, который выглядит как
https://hooks.slack.com/services/T0XXXXXXX/B0YYYYYYY/zzz…. Скопируйте его — это единственная информация, которая нужна B1.
Относитесь к URL вебхука Slack как к секрету. Любой, у кого есть он, может публиковать произвольные сообщения в канал. Если вы случайно его открыли, пересоздайте его со страницы приложения Slack (пересоздание просто вращает URL; обновите B1 для совпадения).
2. Подключите его в B1Admin
- В B1Admin перейдите в Settings → Developer → Webhooks.
- Нажмите New Webhook.
- Заполните:
- Name — что-то читаемое, как "Donations → #donations". Только ваша команда видит это.
- Connector Type — выберите Slack.
- Payload URL — вставьте URL Slack из шага 1.
- Events — отметьте события, которые вы хотите как сообщения. Для канала пожертвований просто
donation.created. Для канала #people попробуйтеperson.createdиgroup.member.added.
- Нажмите Save. Появляется диалог "Signing Secret" — вы можете его игнорировать для Slack (Slack не проверяет подписи B1) и закрыть.
3. Протестируйте это
Пересоздайте вебхук из списка и нажмите Send Test Event. В течение секунду или двух сообщение, похожее на
💝 New donation: $50.00
появляется в вашем канале Slack, и новая строка появляется в таблице Recent Deliveries на той же экране со статусом succeeded. Вы закончили.
Discord — пошагово
1. Получите URL Discord Webhook
- На вашем сервере Discord, наведите на канал, в который вы хотите уведомления, и нажмите ⚙ gear (Edit Channel).
- Откройте Integrations → Webhooks → New Webhook.
- Дайте ему имя и (опционально) аватар, затем нажмите Copy Webhook URL — выглядит как
https://discord.com/api/webhooks/123…/abc….
2. Подключите его в B1Admin
Идентично потоку Slack выше, кроме установки Connector Type на Discord. Вставьте URL Discord в Payload URL и сохраните.
Вам не нужно добавлять /slack в конец URL Discord — B1 отправляет Discord-native {content} полезные нагрузки, а не Slack-совместимые. Просто вставьте URL, который дал Discord.
3. Протестируйте это
Та же кнопка Send Test Event — Discord показывает сообщение в выбранном канале и журнал доставки переходит в succeeded.
Как выглядят сообщения
| Событие | Пример сообщения |
|---|---|
person.created | 👤 New person added: Jordan Rivera |
person.updated | 👤 Person updated: Jordan Rivera |
group.created | 👥 New group created: Tuesday Bible Study |
group.member.added | ➕ Someone was added to a group |
donation.created | 💝 New donation: $50.00 |
donation.updated | 💝 Donation updated: $75.00 |
attendance.recorded | ✅ Attendance recorded |
form.submission.created | 📝 New form submission received |
event.created | 📅 New event: Easter Service |
Полный список находится в каталоге событий вебхука — любое событие там может быть направлено в Slack/Discord.
Один канал на тему
Вам не нужно помещать каждое событие в одно место. Большинство церквей устанавливают несколько вебхуков:
- Канал #donations, который слушает только
donation.created - Канал #new-people для
person.createdиgroup.member.added - Канал #admin-alerts для низкого объема вещей типа
form.submission.created
Нет ограничения на количество вебхуков на церковь. Каждый независим — удаление или отключение одного не влияет на других.
Проверка доставок
Таблица Recent Deliveries редактора вебхука показывает последние 50 попыток. Нажмите строку, чтобы увидеть точную полезную нагрузку, которая была отправлена, и ответ, который вернулся. Для соединителя Slack полезная нагрузка это {"text":"💝 New donation: $50.00"} — не сырой конверт {event,churchId,...} — потому что B1 переформатирует его перед доставкой.
Если что-то не удалось (красный значок failed или exhausted), диалог показывает статус HTTP и тело ответа, чтобы вы могли увидеть ровно то, что Slack или Discord не нравилось — обычно ошибка копирования-вставки в URL.
Устранение неполадок
- Нет сообщения + статус доставки
400— обычно Connector Type установлен на Standard, но URL это Slack/Discord один. Slack/Discord отвергают сырой конверт. Переключите выпадающее меню на Slack или Discord и повторно отправьте тест. - Вебхук автоматически отключен — после 3 последовательных неудачных доставок B1 отключает вебхук. Исправьте URL (или пересоздайте его на Slack/Discord) и переключите Active обратно.
- Сообщение пришло, но отсутствует деталь — каждая платформа чата ограничивает размер сообщения. Сообщения B1 это однострочники по дизайну; для более богатых уведомлений используйте Zapier или Make для составления полного сообщения Slack через их действия Slack.
Переключение типов соединителей позже
Вы можете изменить Connector Type на существующем вебхуке — это вступает в силу при следующей доставке. Если вы переключаетесь из Slack в Standard, укажите URL на вашу собственную конечную точку HTTPS и тот же секрет подписи (он был выдан при создании вебхука) начинает проверяться как сырой конверт.
См. также
- Zapier — для многоэтапных рабочих процессов, вызванных событиями B1
- Make — визуальный конструктор сценариев
- Webhooks (справка разработчика) — полный формат полезной нагрузки + подпись, если вы когда-либо направите вебхук на свой собственный сервер