送信後の通知を組み合わせる
フォームが受理された後、送信者への自動返信や運用担当への通知は自前サーバー側のコードを書かずに設定できます。ここでは「フォーム設定」と「外部連携」のどちらで何を設定するかを整理します。
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の通知先チャンネルを上書きすることも可能です。
{
"text": "問い合わせフォームに新着があります(ID: 4821)",
"channel": "#inquiries"
} {
"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. 使い分け
id)だけなので、送信完了画面は通知結果を待たずに表示して構いません。
このページはお役に立ちましたか?
改善要望・不具合・ドキュメントの分かりにくい点など、お気軽にお寄せください。いただいた内容は今後の改善に役立てます。
お寄せいただきありがとうございます。今後の改善に役立てます。