Tech
Contact Form 7 の送信をSlack・Chatworkに通知する方法|メール見落としによる問い合わせ取りこぼしを止める
WordPress定番フォーム Contact Form 7(CF7)の通知は管理者メール1通が基本で、受信箱に埋もれたり迷惑メール判定で消えたりすると、問い合わせ=売上をそのまま取りこぼします。
チームで対応するなら、送信をSlackやChatworkへリアルタイム通知するのが確実です。
この記事では、コードを書かず設定画面だけで通知する方法と、Incoming Webhook/Chatwork APIで自前実装する方法を、つまずきやすい点まで比較。
複数フォーム・複数案件でも破綻しない通知運用の作り方を、受託でフォーム改修を手がける制作会社の視点で解説します。
WordPressフォームの事実上の標準である Contact Form 7(CF7) の通知は、管理者宛メール1通が基本です。
ひとりで運用しているうちは足りますが、チームで問い合わせを捌く現場になると、この「メールだけ」がボトルネックになります。
受信箱に埋もれる、迷惑メール判定で消える、担当者が休みで誰も見ていない——こうして問い合わせ=売上の入口を、気づかないうちに取りこぼしていくのが、本番運用でいちばん多い失注パターンです。
結論から言うと、複数人で対応するなら、CF7の送信を Slack や Chatwork へリアルタイム通知するのが確実です。
着信にチーム全員が気づき、そのまま「誰が対応するか」を割り振れるので、対応漏れが消え、返信スピードが上がります。
この記事では、コードを書かず設定画面だけで通知する方法と、Incoming Webhook・Chatwork APIで自前実装する方法を、つまずきやすい点まで含めて比較し、複数フォーム・複数案件でも破綻しない通知運用の作り方を、受託でフォーム改修を手がける立場から解説します。
Slack / Chatwork 通知は Pro 版で対応
Contact Form 7 の送信を、コードなしでチャットに飛ばせます。
拡張プラグイン Frontierline Forms なら、いま使っているCF7フォームを作り直さず、SlackやChatworkへのリアルタイム通知を管理画面の設定だけで実装できます(プラグイン本体はWordPress.org公式リポジトリで配信中・無料版で導入し、通知連携はPro版で有効化)。問い合わせ種別ごとの通知先振り分けも設定画面から組めます。
なぜメール通知だけだと問い合わせを取りこぼすのか
CF7の通知は、送信時に管理者宛メールを1通送る仕組みです。
手軽な反面、チーム運用では次の理由で「気づけない」事故が起きます。
受信箱に埋もれる。
日々大量のメールが届く受信箱では、問い合わせ通知が他のメールに紛れて見落とされます。
1日見逃すだけで、機会は競合に流れます。
迷惑メール判定で消える。
CF7はWordPress標準の送信方式を使うため、到達性の問題で通知そのものが届かないことがあります。
この場合、そもそも問い合わせが来たことに気づけません(メールが届かない問題は Contact Form 7 でメールが届かない原因と解決法 で解説しています)。
担当者に依存する。
通知先が個人のメールアドレスだと、その人が休み・離席・退職の間は誰も気づけません。
対応が特定の人に紐づいてしまいます。
対応の割り振りができない。
メールでは「誰が返すか」を決めるのに転送や口頭連絡が要り、二次対応が遅れます。
Slackやチャットなら、これらがまとめて解決します。
送信の瞬間にチーム全員のタイムラインへ着信し、スレッドでそのまま担当を割り振れます。
メールを一次受けにしていた運用を、チャット一次受けに変えるだけで、対応スピードと取りこぼしの両方が改善します。
通知先は Slack と Chatwork、どちらを選ぶか
どちらもフォーム送信をリアルタイムで受け取れます。
チームの普段の使い方で選ぶのが失敗しません。
| Slack | Chatwork | |
|---|---|---|
| 向いているチーム | 開発・社内チーム中心 | 国内の制作・受託、社外メンバーとの共有が多い |
| 接続方式 | Incoming Webhook(無料プランでも発行可) | APIトークン+ルームID |
| 通知の強調 | メンション・チャンネル分け | [To]・[info]などのChatwork記法で囲み・メンション |
社内の開発チームで回すなら Slack、国内案件や社外を交えたやり取りが多いなら Chatworkが馴染みやすい、というのが実務上の目安です。
Frontierline Forms はどちらにも対応するため、案件ごとに使い分けられますし、メールと併用することもできます。
個別の設定手順は Slack通知ガイド と Chatwork通知ガイド にまとめています。
方法1:設定画面だけで通知する(コード不要・おすすめ)
実装の手軽さ ★★★
functions.php を一切触らず、WordPress管理画面の設定だけでチャット通知を実装する方法です。
Frontierline Forms の通知連携機能を使えば、次の4ステップで完了します。
コードの保守もテーマ依存もありません。
なお、この通知連携はPro版の機能です。
- 接続情報を用意する:Slackなら Slack API でアプリを作成してIncoming Webhooksを有効化し、通知先チャンネルのWebhook URL(
https://hooks.slack.com/services/...)を取得します。Chatworkなら「サービス連携」→「API Token」でトークンを発行し、通知先グループチャットのURL末尾の数字からルームIDを確認します。 - 設定欄に入力する:プラグインの通知設定でSlackまたはChatworkを選び、Webhook URL(またはAPIトークンとルームID)を入力します。
- 通知内容を指定する:件名・本文に差し込むフォーム項目(名前・メール・問い合わせ種別など)を、コードを書かず画面上で選択します。
- テスト送信で確認する:実際にフォームを送信し、指定したチャンネル・ルームへの着信と、差し込み項目が正しく表示されるかを確かめます。
フォーム項目の指定がGUIなので、フォームを修正しても通知設定がズレません。
問い合わせ種別ごとに通知先を振り分ける条件分岐も設定画面から組めるため、営業とサポートでチャンネルを分ける、といった運用も無理なく実現できます。
複数フォーム・複数サイトを保守しても管理が破綻しないのが、設定完結型の最大の利点です。
方法2:Webhook・APIで自前実装する(上級者向け)
実装の手軽さ ★☆☆
プラグインを増やさず、テーマの functions.php にコードを書いて自前で通知する方法もあります。
CF7の送信完了フック wpcf7_mail_sent で送信値を受け取り、SlackのIncoming WebhookやChatwork APIへ飛ばします。
Slackへ通知する場合の例です。
add_action('wpcf7_mail_sent', function ($form) {
$submission = WPCF7_Submission::get_instance();
$data = $submission ? $submission->get_posted_data() : [];
$text = "新規お問い合わせ\n"
. "お名前: " . ($data['your-name'] ?? '') . "\n"
. "メール: " . ($data['your-email'] ?? '') . "\n"
. "内容: " . ($data['your-message'] ?? '');
wp_remote_post('https://hooks.slack.com/services/XXXX/YYYY/ZZZZ', [
'headers' => ['Content-Type' => 'application/json'],
'body' => wp_json_encode(['text' => $text]),
]);
});
フォーム項目名(your-name など)は実際のフォーム定義に合わせて差し替えます。
Chatworkの場合は、送信先を https://api.chatwork.com/v2/rooms/{ルームID}/messages に変え、ヘッダーに X-ChatWorkToken を付けて送ります。
自由度は高い一方で、自前実装には次のつまずきがあります。
フォームごとにコードが増える。
問い合わせ・採用・資料請求とフォームが分かれると、$form->id() で分岐するコードが膨らみます。
項目名・トークンの管理が属人化する。
フォームを修正するたびに項目名も直す必要があり、ズレると通知が空欄になります。
APIトークンやWebhook URLを functions.php に直書きすると、テーマファイル経由で漏れるリスクもあります。
保守がテーマに紐づく。
テーマ変更や引き継ぎでコードが失われます。
複数サイトへ横展開するほど破綻しやすくなります。
1〜2サイトなら自前でも回りますが、案件が増えるほど毎回これを書いて保守するのは非効率です。
だからこそ、設定だけで完結する方法1が現実的な選択になります。
メール通知と併用する運用
チャット通知に切り替えても、メールを完全に捨てる必要はありません。
現実的なのは メール+チャットの併用です。
チャットを一次受けにして「気づく・割り振る」を速くし、メールは記録・外部とのやり取り用に残す、という役割分担にすると、取りこぼしを防ぎながら既存の運用も壊しません。
さらに、通知と送信ログのデータベース保存を組み合わせると盤石です。
チャットで即座に気づき、かつ送信内容はデータベースに残るため、後から一覧で見返す・CSVで書き出す、といった二次利用もできます。
保存側の作り方は Contact Form 7 の送信データを保存・一覧管理する方法 で解説しています。
導入と料金
プラグイン本体(無料版)はWordPress.org公式リポジトリで配信しており、管理画面の「プラグイン」→「新規追加」から検索してインストールできます。
無料版では確認画面・マルチステップ・送信ログのDB保存・CSV出力までを利用でき、Slack・Chatwork・Googleスプレッドシート通知はPro版で有効化します。
まず無料版で導入し、チーム通知が必要になった段階でPro版(年額$39.99〜)へ広げれば、初期コストを抑えて始められます。
プランの詳細は 製品ページ で確認してください。
WordPress Plugin & 受託開発
メールの見落としを、チャット通知で止める。
Contact Form 7 の送信を Slack・Chatwork へリアルタイム通知する連携は、拡張プラグイン Frontierline Forms のPro版で、コードを書かず設定画面だけで実装できます。プラグイン本体の無料版はWordPress.org公式リポジトリで配信中。Pro版(年額$39.99〜)は、決済画面でローンチ割引コード EARLYBIRD2026 を入力すると割引価格で導入できます。通知の設計や複数フォームへの横展開ごと任せたい場合は、受託でまとめて対応します。
まとめ
Contact Form 7 の通知は管理者メール1通が基本のため、チームで対応する現場では受信箱への埋もれ・迷惑メール判定・担当者依存によって問い合わせを取りこぼしがちです。
送信をSlackやChatworkへリアルタイム通知すれば、全員が着信に気づき、そのまま担当を割り振れて、対応スピードと取りこぼしの両方が改善します。
実装は、設定画面だけで完結させる(コード不要)か、Incoming Webhook・Chatwork APIで自前実装するかの2択です。
複数フォーム・複数案件を保守するなら、項目のズレやトークンの直書き、テーマ依存を避けられる設定完結型が圧倒的に速く、属人化も防げます。
まずは Frontierline Forms 無料版で導入し、通知が必要になったらPro版で有効化してください。
通知設計や横展開のご相談は お問い合わせフォーム からどうぞ。
よくある質問
Q. Contact Form 7 単体でSlackやChatworkに通知できますか?
できません。
Contact Form 7 の標準機能にSlackやChatworkへの連携はなく、通知は管理者宛メールが基本です。
チャットに通知するには、通知連携に対応した拡張プラグインを使うか、SlackのIncoming Webhook・ChatworkのAPIとwpcf7_mail_sentフックを使ったコード実装のいずれかが必要になります。
Q. コードを書かずにチャット通知を設定できますか?
できます。
Frontierline Forms の通知連携機能なら、functions.php を触らずにWordPress管理画面の設定だけでSlack・Chatwork通知を実装できます。
SlackはIncoming WebhookのURL、Chatworkは APIトークンとルームIDを設定欄に入力し、通知に差し込むフォーム項目を画面で選ぶだけです。
この通知連携はPro版の機能です。
Q. 無料版でもSlack・Chatwork通知は使えますか?
通知連携はPro版の機能です。
無料版では、確認画面・完了画面、マルチステップフォーム、送信ログのデータベース保存、CSV全件出力までを利用できます。
まず無料版で導入し、チームでの通知や外部連携が必要になった段階でPro版へ広げるのが無駄がありません。
Q. 問い合わせ種別ごとに通知先チャンネル・ルームを分けられますか?
分けられます。
フォームの送信値(ラジオボタンやセレクトで選んだ問い合わせ種別など)を条件に、営業はこのチャンネル、サポートはこのルーム、というように通知先を振り分ける条件分岐を設定画面から組めます。
複数フォーム・複数サイトを横断しても管理が破綻しません。