Интеграция WPForms и Slack позволяет мгновенно получать уведомления о новых заявках прямо в ваш рабочий чат. Это особенно полезно для команд, которые хотят быстро реагировать на обращения клиентов без постоянного захода в админку WordPress или почтовый ящик.
Зачем нужна интеграция WPForms и Slack
Slack – популярный инструмент для командного общения. Получая уведомления из WPForms в Slack, вы ускоряете обработку заявок, улучшается коммуникация и минимизируется риск пропуска важных сообщений.
Кроме того, уведомления в Slack могут быть настроены с условной логикой, например, отправляться только при заполнении определённых полей формы или при выборе конкретных вариантов.
Как реализовать интеграцию WPForms и Slack вручную через webhook
WPForms поддерживает отправку данных через webhook, что можно использовать для интеграции с Slack Incoming Webhooks. Рассмотрим пошаговую настройку.
Шаг 1. Создание входящего webhook в Slack
1. Войдите в ваш рабочий Slack и перейдите в Slack API Apps.
2. Создайте новое приложение и добавьте функцию Incoming Webhooks.
3. Активируйте webhook и скопируйте URL для отправки сообщений.
Шаг 2. Настройка webhook в WPForms
В WPForms Pro есть встроенный addon "Webhooks", который позволяет отправлять данные формы на внешний URL.
Если у вас нет Pro версии, можно использовать хук wpforms_process_complete для отправки данных вручную.
Пример кода для отправки уведомления в Slack через webhook
add_action('wpforms_process_complete', 'wpforms_send_slack_notification', 10, 4);
function wpforms_send_slack_notification($fields, $entry, $form_data, $entry_id) {
$webhook_url = 'ВАШ_SLACK_WEBHOOK_URL';
// Формируем сообщение
$message = "Новая заявка с формы: " . $form_data['settings']['form_title'] . "\n";
foreach ($fields as $field) {
$message .= $field['name'] . ': ' . $field['value'] . "\n";
}
$payload = json_encode(['text' => $message]);
wp_remote_post($webhook_url, [
'headers' => ['Content-Type' => 'application/json'],
'body' => $payload,
'method' => 'POST',
'data_format' => 'body',
]);
}
Этот код добавьте в файл functions.php вашей темы или в отдельный плагин. Он отправляет текстовое сообщение с названием формы и всеми полями на Slack после успешной отправки формы.
Настройка условных уведомлений в Slack
Часто нужно отправлять уведомления в Slack только по определённым условиям. Например, только если выбран определённый вариант услуги или сумма заказа превышает порог.
Расширим пример кода с условием:
add_action('wpforms_process_complete', 'wpforms_send_slack_notification_conditional', 10, 4);
function wpforms_send_slack_notification_conditional($fields, $entry, $form_data, $entry_id) {
$webhook_url = 'ВАШ_SLACK_WEBHOOK_URL';
$notify = false;
$message = "";
foreach ($fields as $field) {
if ($field['name'] === 'Тип услуги' && $field['value'] === 'Экспресс') {
$notify = true;
}
$message .= $field['name'] . ': ' . $field['value'] . "\n";
}
if ($notify) {
$message = "Новая заявка с Экспресс-услугой:\n" . $message;
wp_remote_post($webhook_url, [
'headers' => ['Content-Type' => 'application/json'],
'body' => json_encode(['text' => $message]),
'method' => 'POST',
'data_format' => 'body',
]);
}
}
Так вы можете фильтровать уведомления и не нагружать Slack лишними сообщениями.
Использование плагинов для интеграции WPForms и Slack
Если хочется упростить настройку, можно использовать плагины, например:
- WP Webhooks — позволяет создавать сложные интеграции, в том числе с Slack, без кода.
- Zapier for WordPress — через Zapier можно связать WPForms и Slack, настроив фильтры и формат сообщений.
Эти решения подойдут, если вы предпочитаете визуальные настройки или хотите расширить интеграцию на другие сервисы.
Практические советы по работе с уведомлениями Slack из WPForms
1. Форматируйте сообщения — используйте Markdown или блоки Slack для удобочитаемости.
2. Добавляйте ссылки на запись в админке WPForms для быстрого доступа.
3. Используйте переменные даты и времени для отслеживания времени заявки.
4. Тестируйте webhook с помощью инструментов Postman или curl перед подключением к форме.
Заключение
Интеграция WPForms и Slack позволяет оптимизировать рабочие процессы и повышает скорость реакции на обращения. С помощью простого кода или плагинов вы можете настроить уведомления, которые подойдут именно вашей команде. Если хотите расширить функционал, рекомендуем также посмотреть на плагины из WPShop.