AIエージェント活用事例

今日の新着

10すべて 221件

全221件中 1〜20件

仕事・リサーチ実装例

診療予約を受け付け重複を確認するボット

n8nで作ったクリニック向けWhatsApp予約ボットで、Webhookの重複や二重予約に対処した構成を共有しました。

使い方

  1. WebhookにはGETとPOSTのノードを別々に用意し、POSTはまず200を返してから署名を検証します。メッセージIDによる重複排除はスプレッドシートで管理しました。
  2. 日時はAIではなくルールベースのCodeノードで読み取り、Googleカレンダーの空きを調べて提案します。「はい」と返ってきたら、予約直前にもう一度確認しました。
  3. 理解できないメッセージが3回続くか、人への対応を希望した場合はTelegramでスタッフに引き継ぎます。エラーは別のワークフローからシートとTelegramに残したそうです。

結果

投稿者によると、予約直前の再確認で二重予約が起こり得る時間の隙間の大部分を防げました。ただし同じ1秒以内に2件来ると、まだ重なる可能性があるとのことです。

補足

セルフホストのn8n 2.43.7でテストしたそうです。音声メモと画像は未対応のため、文字で送るよう案内しています。ワークフローのファイルは公開されていません。

出典

Reddit 原文 ↗

プロンプト例 · n8n

n8nで[業種]向けのWhatsApp予約ボットを作り、同じメッセージの二重処理や同じ時間への二重予約が起きないようにしてください。

入力:WhatsApp Cloud API用のMetaアプリ情報[アプリ名]、公開HTTPS URL[URL]、予約用カレンダー[Googleカレンダー名]、状態記録用シート[シート名]、スタッフ通知用Telegramボット[ボット名]、営業時間と最小予約間隔[時間]、使用言語[言語]。まず利用中のn8nのバージョンで、Webhookノード、Codeノード、Googleカレンダーの空き時間照会が使えるか確認し、Metaのメッセージテンプレート承認状況と料金を教えてください。

実装手順:1)同じパスにGETとPOSTのWebhookを置き、GETはverify tokenが一致するときだけchallengeを返す。2)POSTは先に200を返し、アプリシークレットで署名を検証して、不一致なら破棄する。3)送信・既読などの状態通知を除き、メッセージIDをシートに記録して既知のIDを飛ばす。本文では重複判定しない。4)電話番号ごとの会話状態をシートから読み、日時をルールで解釈して空き時間を提案する。5)顧客が確定したら、予定作成の直前に空きを再確認する。6)3回理解できないか人を希望したらスタッフに引き継ぎ、その会話ではボットを停止する。24時間を過ぎた会話には承認済みテンプレートだけを送る。7)失敗は別のエラーワークフローでシートとTelegramに記録する。

成果物:ワークフローファイル、シートの構造、設定方法1段落。まずテスト番号1つで同じメッセージを2回送り、1回だけ処理されることを確かめてください。同じ時間に2件の予約を試して1件だけ作成されることを確認してから、本番の番号に接続してください。