送信後の通知を組み合わせる

中級 約10分 最終更新 2026-09-08

フォームが受理された後、送信者への自動返信や運用担当への通知は自前サーバー側のコードを書かずに設定できます。ここでは「フォーム設定」と「外部連携」のどちらで何を設定するかを整理します。

前提:フォームの取得・送信の実装は問い合わせフォーム連携を先に読んでいること。

1. 送信後に起きること

cms.forms.submit() が201を返した時点で送信自体は完了しており、レスポンスには id と submitted_at だけが含まれます。

{
  "id": 4821,
  "submitted_at": "2026-09-08T03:12:44+09:00"
}

自動返信メール・受付通知メール・Slack・Webhookは、この応答を返したあとにサーバー側で非同期に実行されます。通知の成否はブラウザのレスポンスには含まれないため、通知が届いているかどうかは別途、送信履歴や連携先(Slack・メールボックス)で確認します。

2. 自動返信・受付メール

送信者・運用担当それぞれ向けのメールは、管理画面の「フォーム設定」で有効化と文面を設定します。

  • 自動返信メール:送信者本人に届く受付完了メール。件名・本文はフォームごとに設定する。
  • 受付通知メール:運用担当(社内)向けの新着通知メール。宛先アドレスはフォームごとに設定できる。

どちらもコードの実装は不要で、フォーム単位のON/OFFと文面設定のみで完結します。

3. Slack / Webhook 通知

サイト単位の「外部連携」画面でイベント form.submitted を購読すると、フォームの送信をSlackや任意のシステムへ通知できます。フォームごとにSlackの通知先チャンネルを上書きすることも可能です。

Slack Incoming Webhook
{
  "text": "問い合わせフォームに新着があります(ID: 4821)",
  "channel": "#inquiries"
}
汎用Webhook(POST body)
{
  "event": "form.submitted",
  "trigger": "auto",
  "site": { "code": "demo-cms", "name": "デモサイト", "url": "https://demo.example.com" },
  "resource": { "type": "form", "id": 12 },
  "occurred_at": "2026-09-08T03:12:44+09:00"
}

汎用Webhookのペイロードは全イベント共通のエンベロープです。resource.idはフォームのIDで、送信データ(submission)のIDや入力内容は含まれません。個々の送信内容は、管理画面の送信履歴か、要約付きのSlack通知で確認します。

汎用Webhookの署名検証やリトライの扱いなど実装側の詳細はWebhook / GitHub Actions でビルドを起動を参照してください。

4. 使い分け

通知宛先設定場所
自動返信メール 送信者 フォーム設定
受付通知メール 運用担当 フォーム設定
Slack 担当チャンネル 外部連携(form.submitted)
Webhook 任意システム 外部連携(form.submitted)
ヒント:通知はいずれも非同期・サーバー側の処理です。ブラウザに返るのは受付ID(id)だけなので、送信完了画面は通知結果を待たずに表示して構いません。
FEEDBACK

このページはお役に立ちましたか?

改善要望・不具合・ドキュメントの分かりにくい点など、お気軽にお寄せください。いただいた内容は今後の改善に役立てます。

返信をご希望の場合のみご記入ください。

スパム対策(レートリミット・ハニーポット・送信速度チェック)はサーバ側で自動適用されます。