プラグイン

Form Plant v1.4 を公開しました — Webhook でフォーム送信を外部サービスへ自動連携

2026.07.25


はじめに

Form Plant v1.4 を公開しました。今回の目玉は Webhook です。フォームの送信内容を外部のサービスへ自動で連携できるようになり、フォームを「受け付けて終わり」から「業務フローの起点」にできます。主な変更点は次の 3 つです。

  • Webhook:送信内容を JSON で外部サービスへ自動送信(署名・自動リトライ・配信記録つき)
  • 同意(acceptance)フィールド:プライバシーポリシー等への同意チェックを専用フィールドに
  • 開発者向けの拡張 API:独自フィールド型の追加や JavaScript 連携のための API を整備

v1.4 は後方互換を維持したマイナーバージョンアップです。既存のフォーム定義・ショートコード・保存済みの送信データは、更新後もそのまま動作します。プラグインの更新画面から通常どおり更新するだけで、特別な移行作業は必要ありません。

以下、それぞれの機能を順に紹介します。

1. Webhook:フォーム送信を外部サービスへ自動連携

フォームの送信が完了したとき、送信内容を JSON で指定した URL へ POST できるようになりました。送信先は Zapier や Make などの自動化サービス、Google Apps Script、自作の API など自由です。ノーコード自動化サービスと組み合わせれば、Slack への通知、スプレッドシートへの記録、CRM への登録といった後続処理を、コードを書かずに自動化できます。

設定は、フォーム編集画面に新設した「連携」タブから行います。送信先 URL を入力して有効化するだけで、次の送信から配信が始まります。1 つのフォームに最大 3 件まで登録できます。


フォーム編集画面の連携タブ。Webhook の送信先 URL と署名シークレット、テスト送信ボタンが表示されている
「連携」タブ。URL を入力して有効化するだけで配信が始まる

運用に必要な機能もひととおり揃えました。

  • テスト送信ボタン:設定画面からダミーデータを即時送信し、疎通確認ができます。
  • 署名ヘッダー:全リクエストに HMAC-SHA256 署名(X-FPlant-Signature)を付与。受信側でシークレットを使って検証すれば、なりすましや改ざんを防げます。
  • 自動リトライ:配信に失敗した場合、60 秒後に 1 回自動で再試行します。
  • 配信結果の記録:送信データの詳細画面に、URL ごとの配信結果(成功 / 失敗と HTTP ステータス)を表示します。

テスト送信ボタンの隣に「配信に成功しました (HTTP 200)」と表示されている
テスト送信の結果はその場に表示される

送信データの詳細画面。Webhook 配信結果として送信先 URL・結果 (配信済み HTTP 200)・実行日時が記録されている
配信結果は送信データごとに記録され、あとから確認できる

送信される JSON は次のような形です。フィールドのキー・ラベル・タイプと、メール本文と同じ整形済みの値が入ります。

{
  "event": "submission.completed",
  "form_id": 12,
  "form_title": "お問い合わせ",
  "submission_id": 1234,
  "submitted_at": "2026-07-22T18:30:00+09:00",
  "site_url": "https://example.com",
  "fields": [
    { "key": "your_name", "label": "お名前", "type": "name_parts", "value": "山田 太郎" },
    { "key": "topics", "label": "ご用件", "type": "checkbox", "value": ["資料請求", "見積もり"] }
  ]
}

発火するのは最終送信の完了時(メール送信後)だけです。確認画面の表示では発火せず、管理画面からのプレビュー送信でも配信されません。テスト送信は submission.test という別イベントとして届くため、受信側で本番データと区別できます。

例: Google スプレッドシートに自動記録する

Google Apps Script を受け口にすると、外部サービスの契約なしでフォーム送信をスプレッドシートへ自動記録できます。マニュアルに、コピーして貼り付けるだけで動くスクリプト全文(ヘッダー行の自動管理つき)と設定手順を掲載しています。


Google スプレッドシートにフォームの送信内容が 1 行ずつ記録されている
フォームが送信されるたびに、スプレッドシートへ 1 行ずつ追記される

設定手順・ペイロード仕様・署名検証のサンプルコードは Webhook 連携(マニュアル)をご覧ください。

2. 同意(acceptance)フィールド:プライバシーポリシー同意を専用フィールドで

プライバシーポリシーや利用規約への同意チェック用に、専用の「同意」フィールドを追加しました。これまで汎用のチェックボックスで代用していた用途を、そのまま置き換えられます。


フォーム末尾に表示された同意チェックボックス。リンク付きの同意文言と「送信するには同意が必要です」のエラーメッセージ
リンク付きの同意文言。チェックするまで送信できない
  • 同意文言にリンクが使えます。プライバシーポリシーに同意します」のように、文言内にリンクや強調(a / strong / em / br)を書けます。
  • チェックしないと送信できません。 同意フィールドは常に必須です。チェックが無い送信はサーバー側でも拒否されます。
  • 表示・記録は必要な分だけ。 確認画面への表示、通知メールへの記載、送信データへの保存は、それぞれ個別に ON / OFF できます(初期値はすべて OFF)。

同意フィールドの編集画面。同意文言の入力欄と、フィールドラベル表示・確認画面表示・メール記載・送信データ保存のオプション
同意文言には HTML が使える。表示・記録のオプションは個別に設定

送信データへの保存を有効にすると、同意した事実に加えて、ユーザーが同意した時点の同意文言も一緒に記録されます。あとから文言を変更しても「当時どの文言に同意してもらったか」を送信データから確認でき、個人情報の取り扱いに関する問い合わせにも遡って答えられます。


送信データの詳細画面。同意欄に「同意済み」と、同意した時点の同意文言が記録されている
同意した時点の文言ごと記録される

設定項目の詳細は同意フィールド(マニュアル)をご覧ください。

3. 開発者向け:拡張 API の整備

テーマやプラグインから Form Plant を拡張するための API を、v1.4 でまとめて整備しました。

  • 独自フィールド型の追加:型の登録からレンダリング・サニタイズ・表示整形(確認画面 / メール / CSV / 管理画面)まで、フィルターだけで独自のフィールドタイプを追加できるようになりました。
  • JavaScript イベント / API:フィールド値の変更を捕捉する fplant:fieldChange イベントと、正規化済みの値を取得する fplant.getFieldValue() / fplant.getFormData() を公開しました。
  • 既存フィルターの引数追加:送信後アクション系の 3 フィルターにフォーム設定($form)、メール件名の 2 フィルターに送信データ($data)を追加しました(後方互換)。
  • Webhook のカスタマイズ:配信可否・ペイロード・リクエスト引数などを制御する 4 つのフィルターを用意しました。

詳細はPHP フックリファレンスJavaScript カスタマイズをご覧ください。

アップデートについて

v1.4 は、WordPress 管理画面のプラグイン更新から通常どおり更新できます。

  • 既存のフォームはそのまま動作します。 フォーム定義・ショートコード [fplant id="..."]・保存済みの送信データ・確認画面・自動返信メール・埋め込み(iframe / JS)は、更新後も変更なく動作します。データの移行作業は不要です。
  • 新機能はすべて「使うときだけ有効」です。 Webhook は URL を設定しない限り何も送信しません。同意フィールドは、フォームに追加しない限り表示されません。
  • 動作要件に変更はありません。 WordPress 6.0 以上 / PHP 8.0 以上で動作します。

まとめ

Form Plant v1.4 では、フォームで受け付けた内容を次の仕組みへ自動でつなぐための Webhook を追加しました。通知・記録・顧客管理といった送信後の手作業を減らし、フォームを業務フローの起点にできます。あわせて、同意フィールドで個人情報の取り扱いに関する実務も後押しします。

Form Plant は WordPress.org の公式ディレクトリから無料でインストールできます。使い方の詳細はマニュアルをご覧ください。ご意見・ご要望もお待ちしています。