Telegram AIチャットボットは、業務知識を使ってグループや個別チャットの質問に回答できます。Quickchat AIでは共有ボットを介してAI AgentをTelegramに接続します。ボットをグループに追加し、ダッシュボードで接続を確認すると、メンバーはボットへのメンションで質問できます。この手順にコードやBotFatherのトークンは不要です。
このチュートリアルでは、メンバー用グループと個別の問い合わせ窓口を持つ架空の学校、Saltmarsh Sailing Schoolを構築します。2つのAgentが同じ学校情報を使い、Saltmarsh Groupは公開の質問に回答し、Saltmarsh Sailing Schoolは個別の体験レッスン依頼を受け付け、返金には担当者を呼び出します。依頼は事務局への問い合わせであり、予約確定ではありません。
2つのAgentで担当を分けます。グループ側には引き継ぎや受付のActionを持たせず、個別チャット側が問い合わせと担当者の返信を扱います。
次の順に進めます。Google Sheetsへの拡張は任意なので、まず回答と引き継ぎの流れを完成させても構いません。
| 構築内容 | 確認する結果 |
|---|---|
| 1. 知識と指示 | Agentがコース料金を把握し、不明な事実を作りません。 |
| 2. グループ接続 | メンションには回答し、通常の会話には反応しません。 |
| 3. 個別チャット | 完全なリンクから正しいAgentとの会話が開きます。 |
| 4. 任意の体験レッスン依頼 | 必須情報が、担当者の追跡に使える行になります。 |
| 5. Human Handoff | 担当者が会話を引き受け、AIが停止します。 |
| 6. テスト | 回答、振り分け、外部への作用を個別に確認します。 |
Saltmarsh Telegramキットをダウンロードすると、この手順で使う知識、Main Prompt、Action設定、評価基準、テストメッセージが手に入ります。以下の手順で編集するファイルであり、Agentをワンクリックでインポートするものではありません。コピー用のデモ資料とスクリーンショットは英語のままです。
Telegramチャットボットの作成に必要なものは?
Quickchat AIアカウント、2つのAgent、テストグループにボットを追加できるTelegramアカウントが必要です。任意の依頼記録には、Google Sheetsを承認できるGoogleアカウントも使います。
- Quickchat AIアカウントを作成し、求められたらメールを確認します。Freeは個人の非商用学習向けです。プランはAgentごとに適用されるため、実際の業務で両方を使う場合は、それぞれに適切な商用プランが必要です。PreviewとSimulationはAIクレジットを消費します。現在のプランを確認してください。
Saltmarsh MembersというTelegramグループを作成します。顧客を招待する前に、テストグループでメンション、無応答、追加メッセージを確認します。- 訪問者として送るメッセージも含め、この手順には自分のTelegramアカウントを使います。Quickchat AIのInboxも自分で操作できます。顧客を招待する前に、同僚に別のアカウントから利用体験を確認してもらってください。
- キットを展開します。学校のサンプル情報は一式として保持し、公開前に自社の確認済みポリシーに置き換えてください。
Quickchat Appのスクリーンショットは、架空のSaltmarsh設定を使ったローカルで動作するアプリです。接続用のテストデータはキャプションに明記しています。TelegramとGoogle Sheetsの画像は、接続済みデモの実際の回答と保存された問い合わせを示しています。個人アカウントの情報は切り取るか、明示的に隠しています。最後のチェックリストを使い、自分の知識と接続済みアカウントで検証を繰り返してください。
ステップ1:Telegramチャットボットに業務を教えるには?
業務の事実はKnowledge Baseに、動作の指示はMain Promptに入れます。役割を分けると、Agentの振る舞いを変えずに回答を修正しやすくなります。
料金やポリシーは情報源の事実です。簡潔さ、不確実性への対応、振り分けは指示です。
Agentを作成して知識を追加する
- 新規アカウントではSet up manuallyを選びます。既存アカウントでは先にAdd new AI Agentを選び、その後で手動設定に進みます。
- IdentityのName your AI Agentに
Saltmarsh Groupと入力します。キットのgroup-main-prompt.txtをDescribe what you want your agent to doに貼り付けます。 - 外部アプリはまだ接続せずに設定を進めます。プランの手順を完了し、学習用アカウントで始める場合はSkip for nowを使います。
- Knowledge Base > Add Articleを開きます。Create custom articleに
Courses and trial enquiriesと入力し、Create articleを選び、saltmarsh-courses.txtをContentに貼り付けてSaveします。 saltmarsh-policies.txtを使ってWeather, parking and personal enquiriesも作成します。両方の記事がReadyになるまで待ちます。- Saltmarsh GroupのActions & MCPsを開きます。Human Handoffは無効のままにし、体験レッスン依頼のActionを追加しません。
- Add new AI Agentを選び、
main-prompt.txtと同じ2つの知識ファイルを使ってSaltmarsh Sailing Schoolを手動設定します。こちらが個別チャットを担当します。設定を変える前に、アカウント切り替えで対象のAgentを選んでください。
短い2つの情報源で、Agentが知っている事実が明確になります。知識テストの前にReadyを確認します。
| 知識 | この例で使う正確な情報 |
|---|---|
| コース | Start Sailing:2日間、EUR 240。Day Skipper theory:夜間5回、EUR 310。プライベートレッスン:90分、EUR 95。 |
| 日程 | 4月から10月がシーズン。日程は1か月前に公開。リアルタイムの空き状況や次の開催日は未提供。 |
| 持ち物 | 防水ジャケット、跡の付かない靴、着替え。浮力補助具は学校が提供。 |
| 天候 | 風速25ノット超または雷雨の場合、追加料金なしで次の空き日へ変更。当日の朝にインストラクターが判断。 |
| 駐車場 | クラブハウスで無料。ゲートコードは前日に送信されるが、コードそのものは未記載。 |
| 体験依頼 | 氏名、希望する曜日、セーリング経験を収集。空き状況と料金は事務局が確認。 |
ウェットスーツのレンタル情報は意図的に入れていません。 正しい回答は確認できないと伝えることであり、「ある」「ない」を作ることではありません。同様に、天候ポリシーから今日の予報は分からず、プライベートレッスンの料金から体験料金は決まりません。
Main Promptを設定して回答を確認する
- 各AgentのIdentity > Main Promptを開き、対応するSaltmarshプロンプトを確認します。グループ用は一般的な質問に答え、グループに固定した個別リンクへ案内します。個別チャット用は問い合わせを集め、Human Handoffを使います。
- AI Previewを開き、
How much is Start Sailing?と質問します。2日間、EUR 240と答えることを確認します。 Do you rent wetsuits?と質問します。情報がないと認めるか確認します。
個別Agentのプロンプトは受付と引き継ぎを定義します。グループAgentは別のプロンプトを使い、両方のActionを無効にします。
グループAgentの実際の設定を2か所切り出した画像です。知識に関する質問には答えますが、受付や引き継ぎのActionは実行できません。
2つのAgentで振り分けを明確にします。グループ側には誤って起動する引き継ぎ機能がなく、個別側はグループを止めずに返金依頼を引き継げます。Previewで学校の事実を確かめ、次の手順で各Telegram接続を検証します。
ステップ2:TelegramグループにAIチャットボットを追加するには?
External Apps > Telegramを開いて共有ボットをグループに追加し、Quickchat AIに戻ってグループをConfirmします。確認するまで、そのグループではAgentが返信しません。
Telegramへの参加とQuickchat AIでの確認は別の手順です。
- Agent切り替えでSaltmarsh Groupを選びます。External AppsでTelegramを選び、Quickchat AI botを探します。
- Add to a Telegram groupを選びます。Telegramで
Saltmarsh Membersを選択し、ボットの追加を承認します。 - Quickchat AIに戻ります。Waiting for your confirmationでグループ名とAdded byの情報を確認します。
- 対象グループでConfirmを選びます。グループがConnected chatsに移り、有効化スイッチがオンになるはずです。
- Telegramで
@を入力し、候補からボットを選びます。How much is Start Sailing?と質問します。共有ボットのユーザー名は通常@QuickchatAI_botですが、グループに表示される実際の名前を使ってください。 - その回答に直接
What should I bring?と返信します。次に、メンションなしで別のメッセージDoes anyone know the gate code?を送ります。共有ボットは直接の返信に答え、通常メッセージには反応しないはずです。
TelegramでSaltmarsh Membersを選び、Quickchat AIに戻って接続を確認します。
テスト用グループデータを登録した実際のローカルUIで、Confirmの位置を示しています。操作説明用であり、実際のTelegramグループへの参加を証明するものではありません。
確認済みのグループに、想定どおりのコース回答が届きました。メンションにはボットの実際のユーザー名を使います。
ボットのメッセージに返信すれば、再度メンションする必要はありません。回答には、情報源に登録した装備の内容が並んでいます。
招待データはグループに表示されるため、確認が重要です。Quickchat AIは、そのグループをAgentの宛先にする前に、アカウント側の判断を求めます。知らないグループを確認しないでください。Telegram接続リファレンスでもこの境界を説明しています。
設定を終える前に確認を完了してください。ボットが未確認のグループから退出した場合は、新しいAdd to a Telegram groupリンクを生成して再追加し、Quickchat AIで保留中のグループをすぐに確認します。Telegramのメンバー検索からボットを追加しても、この接続手順の代わりにはなりません。
AdminバッジはTelegram内のボットの権限を示します。共有ボットの通常の回答には必要ありません。共有ボットを管理者にしても、メンションまたは返信だけに答える規則は変わりません。
ステップ3:Telegramの個別チャットを有効にするには?
Direct message linkを有効にし、生成された完全なURLを共有します。リンクが共有Telegramボット内のAgentを選択するため、顧客はグループに追加せず個別に質問できます。
グループは共有の会話です。個人情報や担当者への引き継ぎはDMに移します。
- 個別用のSaltmarsh Sailing Schoolを選びます。External Apps > TelegramでDirect message linkをオンにし、グループ接続は空のままにします。
- 生成されたリンクをコピーします。
start=パラメーターは残してください。共有ボットへの基本リンクだけではAgentを特定できません。 - Telegramで開き、求められたらStartを押します。
- メンションせずに
How much is Start Sailing?と質問します。学校の回答を確認し、Inboxでその会話を探します。 - 個人情報を共有する前に見つけられるよう、グループの歓迎メッセージにリンクを固定します。
自分のAgentで生成されたリンクを使ってください。ここに示すローカル設定は、Telegramでの実際の配信記録ではありません。
Startの後、TelegramにSaltmarshの歓迎メッセージが届きました。次に知識に基づく回答を確認してください。挨拶だけでは情報検索をテストできません。
同じTelegram画面の2か所を切り出し、固定された案内を示しています。デモリンクのstart値は省略しています。自分の完全な生成リンクを固定してください。
共有ボットとの個別チャットは、一度に1つのAgentに紐づきます。別のAgentの個別リンクを開くと、この紐づけが切り替わる場合があります。独自のTelegram名義と専用の会話が必要なら、独自ボットの手順を使います。
Direct message linkをオフにすると、そこからの新規接続を防ぎます。接続済みのチャットを止めるには、そのチャットの有効化スイッチかDisconnectを使います。リンクは公開の入口として扱い、機密知識のアクセス制限と考えないでください。
ステップ4:体験レッスン依頼をGoogle Sheetsに保存するには?
Google Sheets連携はスプレッドシートと行を追加するActionを作ります。3つの必須項目を記録するようActionを調整し、実際の行を確認します。この手順は任意で、共有Telegramボットでも使えます。
結果は担当者が追跡する依頼です。枠の確保や体験料金の確定はしません。
Sheetsを接続してActionを1つ設定する
- Saltmarsh Sailing SchoolでActions & MCPs > Add Action > Google Sheetsを開き、Connect Google Sheetsを選びます。対象のGoogleアカウントでログインし、要求されたアクセスを承認します。
- 生成されたQuickchat Leadsスプレッドシートを開きます。ActionのURLが参照するため、タブ名はLeadsのままにします。
- ヘッダー行を順に
Name、Preferred weekday、Sailing experience、Conversation link、Channelに置き換えます。 - Actions & MCPsで生成済みの
log_lead_to_google_sheetActionを編集します。以下の設定を使い、パラメーター、リクエスト本文、シートの見出しを一緒に変更して位置を合わせます。
API Action Name
Record trial-lesson request
What to ask the user first
| Format | Name | Description | Required |
|---|---|---|---|
| Text | name | この体験レッスン依頼で本人が伝えた氏名。不明なら質問する。 | Yes |
| Text | preferred_weekday | 火曜日など、本人が希望する体験の曜日。希望であり、確定日ではない。 | Yes |
| Text | sailing_experience | 初心者など、本人が述べたセーリング経験。不明なら質問し、推測しない。 | Yes |
3つともNo defaultにし、既定のメールと問い合わせのパラメーターを削除します。この設定で質問するのは3項目だけです。Telegramのユーザー名は任意で、必須の連絡先としては確実ではありません。記録する会話リンクから担当者が問い合わせに戻れます。
メソッドとURL:生成されたPOSTのURLを保持します。スプレッドシートID、Leadsタブ、valueInputOption=RAWがすでに入っています。仮のシートIDを埋める必要はありません。
ヘッダー:連携の設定を保持します。
| ヘッダー | 値 |
|---|---|
Authorization | Bearer {{google_sheets_access_token}} |
Content-Type | application/json |
API EndpointのBodyタブでは次を使います。
{"values":[["{{name}}","{{preferred_weekday}}","{{sailing_experience}}","{{conversation_url}}","{{conversation_channel}}"]]}
必要に応じてAdd AI Dataからパラメーターと会話変数のチップを挿入します。最初の3値は会話から取得し、最後の2値はQuickchat AIが提供します。
API Action Description
In a private chat only, call this once when the person has requested a trial lesson and provided their name, preferred weekday and sailing experience. Ask for the next missing required field before calling. Do not call it for general course questions, in groups, or to confirm a booking. A successful call records an enquiry for the office; it does not reserve a place.
Advanced settings > Run only whenでtelegram_chat_type equals privateを追加します。metadata_や波括弧を付けず、メタデータのキーだけを使います。これによりモデルが試みても、グループのメッセージではHTTPリクエストを実行しません。実行条件リファレンスに説明があります。
Response filterを$.updates.updatedRowsにして、不要なプロバイダー応答ではなく行数を返すようにします。Actionは有効にしておきます。
キーはtelegram_chat_typeです。送信前に条件を確認します。
依頼設定のローカル例です。生成されるSheets URLとOAuth認可は、自分のGoogle接続のものを使います。
行を確認してから未完の依頼を試す
AgentのTelegram個別リンクから次のメッセージを送ります。
I am Alex Morgan. I want a trial on Tuesday. I am a beginner.
3か所を確認します。回答が依頼として説明し、InboxのActionカードに提供した値が表示され、実際のLeadsタブに対応する行があることです。安心できる返答や高いSimulationスコアだけでは、Google Sheetsへの書き込みを証明できません。
Agentは提供された名前、火曜日の希望、初心者という経験を記録しました。空き状況と正確な料金は、引き続き事務局の確認が必要です。
同じ保存済み行を2か所拡大し、5列すべてを読み取れるようにしています。アカウント固有の会話リンクは隠し、残りの4つの値は変更していません。
別のテストでI would like a trial lessonと送ります。AgentはAction実行前に、足りない項目を一度に1問ずつ尋ねるはずです。How much is Start Sailing?も試し、通常の質問では行が作られないことを確認します。プロンプトは依頼ごとに1回の書き込みを指示しますが、この追記設定は冪等な予約システムではありません。実運用の受付に使う前に重複を調べてください。
ステップ5:Telegramの会話を担当者に引き継ぐには?
Human Handoffを設定し、Inboxで会話の担当を確認します。「事務局が返信します」というプロンプトだけでは、担当の移動もAIの停止も起きません。
担当の変更が確認点です。担当者が案件を完了し、AIへの復帰は別に検証します。
- Saltmarsh Sailing Schoolを選び、Actions & MCPs > Human Handoffを有効にします。Saltmarsh Groupでは無効のままにします。
- Handoff Rulesの+を選びます。Rule Nameに
Private enquiriesと入力し、Descriptionにhandoff-rule.txtを貼り付け、Stateをオンにします。新しい行は無効で始まります。この個別Agentの返金、苦情、担当者の希望、人による支援の受諾を扱う規則です。 - この例ではKeywordsを空にし、既定ルールを無効にして、カスタムルール1つだけを有効にして保存します。グループの隔離は別のグループAgentでHuman Handoffを無効にすることで実現します。カスタムルールは個別Agentの引き継ぎ時期を定めます。
- Confirmationを
I have passed this private conversation to the Saltmarsh office. A member of staff can reply here.にします。Human Agents’ availabilityを実際の対応時間に合わせ、時間外には正確な案内を設定します。 - Telegramの個別チャットから
I want a refund for last week. Can I speak to a person?と送ります。 - Inboxで会話と担当を確認し、Assign to meを選んで
Hi, I’m Alex from the office. I’ll review your request.と送ります。Telegramに届くか確認します。 - 担当者が会話を持つ間に、顧客としてもう1通送ります。AIは返信しないはずです。担当者に案件を完了してInboxで解決してもらいます。AIに戻す操作は別のテストとして扱います。
カスタムルールのStateはオンです。既定のトリガーはオフで、確認する規則は1つだけです。
実際のTelegram依頼でHandoffが起動しました。Inboxの担当割り当てと担当者の送信返信は、別々に検証しています。
実際の確認では、会話がUnassignedに移り、人が引き受けられる状態になりました。担当者がAssign to meを選んで事務局の返信を送り、Telegramが受け付けました。上の画像は引き継ぎの回答を示しており、その後の担当者のメッセージは写っていません。テストを繰り返す際は、割り当てと送信の両方を確認してください。
解決するまで、この案件は担当者が対応してください。 ローカルの返金テストでは、AI Agentに戻すと1回回答した後、再びHandoffが起動しました。AIへの復帰には、後続メッセージを使った別の成功確認が必要です。このワークフローの完了条件には含めません。人への引き継ぎガイドでは、人員配置と対応責任を詳しく説明しています。
ステップ6:Telegramチャットボット全体をテストするには?
Testingで繰り返せる回答チェックを行い、実際のTelegram経路と外部への作用は別に検証します。モデルが正しく答えていても、グループ接続、シートへの書き込み、引き継ぎの配信が失敗している可能性があります。
結果を管理するシステムを調べます。事実は知識、リクエストはActionログ、行はSheets、配信はTelegramで確認します。
再実行できる回答データセットを使う
- Testingを開き、
Saltmarsh: knowledge checksというデータセットを作成し、Paste messagesを選びます。 simulation-messages.txtを貼り付けます。ケース間の独立した---行を残します。- Evaluation criteriaでキットの
evaluation-criteria.txtを貼り付けて保存します。 - Run > Start Runを選び、スコアだけでなく各回答も確認します。
1つの指示を変えるときも質問は同じにして、比較を有効に保ちます。
スコアと回答の両方を読みます。これはローカルの知識テストであり、Telegram配信テストではありません。
評価者には、正確性を判断する学校の事実が必要です。また、会話記録からシート行、Telegram配信、担当変更を証明できないことも伝えます。標準のテキストSimulationはTelegramのチャットメタデータを渡さないため、その欠如を個別限定Action条件の故障と解釈しないでください。チャネル依存の検証は実際の個別チャットで行います。
ローカルテストで何を変えたか?
当初は1つのAgentで両方の入口に対応していました。ローカルテストでは、グループの返金依頼が共有会話をHuman Handoffに移しました。そこでAgentsを分け、グループAgentのHandoffと受付用Actionsを両方無効にしました。グループで返金と体験レッスンの確認を繰り返すと、固定された個別リンクを案内し、AIが担当を維持しました。ステップ1で指示と設定の両方を使って会話を分ける理由はここにあります。
最後の10件のローカル知識チェックはすべて5/5となり、ホストされた両方のAgentsも同じ10件を通過しました。この小規模な実行結果は、本番の正解率を推定するものではありません。実際のグループもコース料金と持ち物に答え、その後ウェットスーツのレンタルは確認できないと回答しました。キットを調整するときも、情報が欠けているケースを残してください。料金の正解だけでは、Agentが根拠のない回答を控えるかは分かりません。
知識が不足していると「確認できません」と答えます。別に送られたゲートコードのメッセージはボットに呼びかけておらず、この画像には返信が写っていません。
実際の個別チャットの体験レッスン依頼で、Alex Morgan、Tuesday、beginnerを使ったSheets Actionが1回成功しました。GoogleはHTTP 200と更新行数1を返し、保存された行には会話リンクとtelegramチャネルも含まれていました。グループチャットのメタデータを使った別のActionテストでは、HTTPリクエストは送られませんでした。実行条件を調整する際は、受け付ける個別依頼と拒否するグループ文脈の両方を確認します。
チャネルと外部への作用を確認する
キットの空のtest-matrix.csvに自分の観察を記録します。上の画像は実際に示した結果です。表には、自分の設定で実行するチェックも含まれています。無応答を確認するときは経過時間を記録し、人の引き継ぎと、その後AIへ戻す操作を分けて検証してください。
| テスト | 送信または操作 | 期待結果 |
|---|---|---|
| グループのメンション | @QuickchatAI_bot How much is Start Sailing? | EUR 240を含む簡潔な回答と、対応するInboxの会話。 |
| ボットへの返信 | What should I bring? | 再度メンションせずに持ち物リストを回答。 |
| 通常の会話 | メンションなしでDoes anyone know the gate code? | 共有ボットから返信なし。 |
| 知識の不足 | ボットをメンションしてDo you rent wetsuits? | 確認できないと伝え、架空の肯定・否定をしない。 |
| グループの個人的依頼 | ボットをメンションして返金を依頼 | 個別チャットへ案内し、グループはAI担当のまま。 |
| 個別回答 | 完全なDMリンクを開いて料金を質問 | 正しいAgentがメンションなしで回答。 |
| 完全な体験依頼 | ステップ4のAlex Morganのメッセージを送信 | Actionパラメーターと実際のSheets行が一致し、予約確定と述べない。 |
| 個別の引き継ぎ | 返金を依頼し、担当者の引き受け後に返信 | 人が担当し、担当者の返信が届き、追加のAI回答なし。 |
| 天候ポリシー | What happens if the forecast says 30 knots? | 無料振替とインストラクターの判断を説明し、最新予報を知っていると述べない。 |
失敗したら、関連する設定を1つ変更して同じメッセージを再実行します。不足した事実はKnowledge Base、早すぎるAction呼び出しは説明や必須パラメーターを修正します。無応答のグループはまず確認状態と宛て方を調べます。失敗結果を残し、改善を見えるようにします。
BotFatherで独自ボットを作るのはどんな場合?
独自のボット名や画像、Telegram Bot API Actions、通常メッセージを受け取るグループが必要な場合に作成します。上記のグループ回答と個別回答には共有ボットで十分です。
2つ目のボットを追加する前に、必要な名義とメッセージ動作を選びます。
| 要件 | Quickchat AI共有ボット | 独自ボット |
|---|---|---|
| BotFatherトークンの作成 | 不要 | 必要 |
| 独自のTelegram名と画像 | 共有の名義 | 自分のボットの名義 |
| グループのメンション・返信への回答 | 対応 | Telegramが配信した場合に対応 |
| 通常のグループメッセージへの反応 | 共有ボットは反応しない | Telegramのプライバシーまたは管理者権限を設定 |
| 個別チャット | 共有ボット内のAgent専用開始リンク | 自分のボット専用の個別会話 |
| Google Sheets Action | 対応 | 対応 |
| Telegram管理Actions | 共有トークンは非公開 | 独自トークンをSystem Tokenとして利用可能 |
- Telegramの認証済みBotFatherを開き、
/newbotを送ります。 - 表示名と、末尾が
botの利用可能なユーザー名を選びます。BotFatherが返すトークンは秘密にしてください。 - このボットをグループに追加する場合は、Saltmarsh Group を選択します。Saltmarsh Sailing School はプライベートチャット専用にしてください。 External Apps > TelegramのYour own botを開き、Connect to Telegramを選びます。
- Bot Tokenにトークンを貼り付けて接続を完了します。Enable your own botがオンか確認します。
- ボットのTelegramリンクを開き、
/start、続けて同じコース料金の質問を送ります。 - 通常のグループメッセージも受信するなら、BotFatherで
/setprivacyを使い、ボットを選んでDisableにし、テストグループから一度外して追加し直します。管理者ボットも通常メッセージを受信します。配信規則はTelegramのプライバシーモード文書にあります。
トークンはBot Tokenだけに貼り付けます。認証情報を公開しないため空欄で示しています。
共有ボットと独自ボットは別々のグループに置きます。同じグループで動かすと回答が重複する場合があります。告知の固定やメンバー管理には、管理者限定のAction条件も含め、別のTelegramグループ管理チュートリアルを使ってください。
ChatGPTやClaudeでTelegramチャットボットを設定できる?
接続済みのQuickchat AIアカウント管理アプリは、Agentの作成、知識の追加、対応設定の変更、テストの実行を支援できます。クライアントがTelegram設定を提供する場合は、共有ボットの個別チャットリンクを有効にできます。グループ選択とダッシュボードでの確認は所有者が行います。クライアントによっては個別リンクの有効化やHuman Handoff設定もダッシュボードが必要なので、まずアシスタントに利用可能なツールを確認させてください。
Quickchat AIのChatGPTプラグインまたはClaudeコネクターを接続し、キットのファイルと次のプロンプトを渡します。
Use my connected Quickchat AI account to create two Agents from the attached kit: Saltmarsh Group with group-main-prompt.txt and Saltmarsh Sailing School with main-prompt.txt. Add both knowledge files to each. Keep Actions and Human Handoff off on Saltmarsh Group. Prepare the supplied knowledge-test dataset. Check the tools available in this client before changing settings. Show me the configuration and ask before running credit-consuming tests or writing to Google Sheets. Where supported, enable only Saltmarsh Sailing School's shared-bot direct-message link and return the complete link. Leave group selection, dashboard confirmation, BotFather setup, Google OAuth and unsupported settings for me, with exact dashboard steps. Report what was configured, what was actually tested and what remains to verify in Telegram.
使えるツールはクライアントとアカウント権限によって異なります。ログインはアカウント管理設定リファレンスに従います。これはアシスタントをQuickchat AIアカウントにつなぐもので、個人のChatGPTやClaudeの会話をTelegramボットのホスト型バックエンドにするものではありません。
Telegramチャットボットが返信しないのはなぜ?
プロンプトを書き直す前に、接続とメッセージ経路を確認します。次の症状は原因が異なります。
| 症状 | 確認内容 |
|---|---|
| グループが表示されるが無応答 | 対象グループを確認し、Connected chatsで有効化。実際のユーザー名をメンションするか、ボットのメッセージへ返信。 |
| 最初の回答前にボットが退出した | 新しいAdd to a Telegram groupリンクを生成して再追加し、Quickchat AIの保留中グループですぐにConfirmを実行します。 |
| 基本ボットリンクが別のAgentを開く | start=を含む完全な個別リンクを使用。他のAgentのリンクで共有個別チャットが切り替わっていないか確認。 |
| 返金依頼の後でAIが停止 | Inboxの担当を確認。引き継ぎ済みの会話は、意図的に再割り当てするまで停止。 |
| Sheetsに行がない | Actionの有効化、必須項目、個別チャット、URLのLeads参照を確認。Action呼び出しとGoogle接続を調べる。 |
| 独自ボットが通常メッセージを受信しない | プライバシーとグループ権限を確認。プライバシー変更後は削除して追加し直す。 |
| 未提供の日付やサービスを断言する | 保存済みでReadyの知識と不確実性の指示を確認。同じ失敗質問を再実行。 |
| テストが答えなくなった | AIクレジット残量と失敗リクエストを確認。残量不足をプロンプト品質の結果と解釈しない。 |
顧客を招待する前に、架空の事実を置き換え、グループと個別チャットの分離を確認し、引き継ぎ待ちの会話に対応する担当者を配置します。公開入口を別のアカウントから同僚に確認してもらい、公開前の最終チェックとしてください。他のコミュニティチャネルなら、Discordチャットボットのチュートリアルに同様の構築と検証手順があります。キャラクターとの会話には、Telegramロールプレイガイドを参照してください。
任意の設定チェック:申告した要件で展開方法を比較するか、指定予算でクレジット予算あたりの回答数を比較できます。これらの計算ツールは、アカウント、サイト、残高を調べません。
コピーして使えるSaltmarsh設定
以下はこの手順で使う情報源と指示の全文です。ダウンロードにはAction設定、評価基準、テストも含まれます。
グループAgent:Main Prompt
Saltmarsh GroupのIdentity > Main Promptに貼り付けます。このAgentではHuman HandoffとカスタムActionsを無効にします。
You answer general questions in the Saltmarsh Sailing School members' group. Use only the Knowledge Base and keep each reply to two or three sentences. Do not add facts or requirements the sources do not contain. If a fact is missing, say that you cannot confirm it.
For trial requests, refunds, complaints, personal details or a request for a person, direct the member to the school's private link pinned in the group; do not invent a link. Do not collect personal details in this group. You cannot record requests, confirm bookings, approve refunds or transfer a conversation to staff. Do not claim you did any of these things. The private Agent records an enquiry; it cannot check live availability or confirm a trial. Only the office confirms availability and price.
個別Agent:Main Prompt
Saltmarsh Sailing SchoolのIdentity > Main Promptに貼り付けます。Action名は設定例と一致させます。
You are the private-chat assistant of Saltmarsh Sailing School. Answer school questions from the Knowledge Base. Do not add plausible details that are not in the sources, including extra clothing or footwear requirements. Keep replies to two or three sentences and ask at most one question per message. If a fact is missing, say that you cannot confirm it; do not invent dates, availability, gate codes or wetsuit rental. Explain weather policy without claiming to know the current forecast.
When a person requests a trial lesson, collect their name, preferred weekday and sailing experience. Ask for only the next missing field. When all three are present, use Record trial-lesson request once. Say the request was recorded only after the Action succeeds. Explain that the office still needs to confirm availability and price; never say a lesson is booked. If the Action is unavailable or fails, say the request has not been recorded and offer a person.
Use Human Handoff for a current unresolved refund request, complaint or explicit request for a person. After a staff member has resolved the enquiry and returned the conversation to AI, answer new general questions normally; do not hand off again solely because an earlier message mentioned a refund or asked for a person. Do not approve refunds or promise a response time. For a missing fact, say what is unknown and offer a person; do not treat uncertainty as a negative answer about the service.
知識:コースと体験レッスン依頼
最初の知識記事のContent欄に貼り付けます。
Saltmarsh Sailing School demonstration information
This fictional school is used only for a tutorial. It contains no real customer data.
Start Sailing is a two-day course costing EUR 240. Day Skipper theory runs across five evenings and costs EUR 310. A private lesson lasts 90 minutes and costs EUR 95.
Courses run from April to October. Course dates are published on the school's website one month ahead. This source does not contain the next available date or live availability.
Bring a waterproof jacket, non-marking shoes and a change of clothes. The school provides buoyancy aids.
A trial-lesson request is an enquiry, not a confirmed booking. The office needs the person's name, preferred weekday and sailing experience, then confirms availability and price. Do not collect payment details. Do not infer a trial price from the private-lesson price.
知識:ポリシーとメンバー情報
2つ目の記事のContent欄に貼り付けます。
Saltmarsh Sailing School demonstration policies
If the forecast shows more than 25 knots of wind or thunderstorms, the session moves to the next available date at no extra cost. The instructor decides on the morning of the session. This source is a policy, not a live weather forecast or a cancellation decision.
Parking is free at the clubhouse. The gate code is sent to enrolled students the day before their course. The code itself is not in this Knowledge Base.
Refunds and complaints are handled by the office. An AI answer cannot approve a refund. A member of staff must decide each case.
The Telegram members' group is for general questions. Trial requests, refunds and other personal details belong in a private conversation with the school's Agent, opened from the school's direct-message link.
Human Handoffのルール
Human Handoff > Handoff Rulesに貼り付け、実際の対応時間を設定します。
Transfer this private conversation to a person when the visitor has a current unresolved refund request, complaint, explicit request for a person, or accepts an offer of human help. After a staff member resolves the enquiry and returns it to AI, earlier refund or handoff messages must not trigger a new transfer for a general course question. Explain that a staff member can review the case here without approving a refund or promising a response time. This Agent is used only for private enquiries; the separate group Agent has Human Handoff disabled.
よくある質問
TelegramグループにAIチャットボットを追加するには?
Quickchat AIでExternal Appsを開き、Telegram、Add to a Telegram groupの順に選びます。Telegramでグループを選択し、Quickchat AIに戻ってConfirmします。メンバーは共有ボットをメンションするか、ボットのメッセージに返信して質問できます。
Telegram AIチャットボットはすべてのメッセージに答えますか?
Quickchat AI共有ボットは、メンションまたはボットへの返信に回答します。通常のグループ会話では返信しません。独自ボットは、Telegramのプライバシーモードが無効か、管理者の場合に通常のメッセージを受信できます。別のグループでその設定を試してください。
BotFatherやTelegramボットのトークンは必要ですか?
共有ボットと個別リンクにはBotFatherもトークンも不要です。独自のTelegram名や画像、Telegram Bot APIを呼ぶActionsが必要な場合は、BotFatherで独自ボットを作ります。通常のGoogle Sheets Actionsは共有ボットでも使えます。
顧客はTelegramチャットボットと個別に話せますか?
はい。Quickchat AIでDirect message linkを有効にして完全なリンクを共有します。顧客はリンクを開き、求められたらStartを押します。共有ボット内で対象Agentが選ばれます。リンクを無効にすると新規接続を防ぎますが、既存の個別チャットには別の有効化・切断操作があります。
Telegram AIチャットボットは無料ですか?
BotFatherでボットを作るだけではAIサービスは付きません。Quickchat AIのFreeは個人の非商用学習向けで、AIクレジットには上限があります。商用展開には有料プランが必要です。回答、Preview、SimulationはAIクレジットを使い、外部サービスに別料金がかかる場合もあります。
TelegramにAIチャットボットはありますか?
TelegramはサードパーティーのAIボットとAI連携に対応しています。このチュートリアルは、自分の業務知識で答えるQuickchat AI Agentを接続します。BotFatherが作るのはボットの名義であり、知識の提供や顧客対応フローの設定は行いません。
チャットボットは写真やファイルを理解できますか?
Telegram連携は写真を受信し、視覚的な内容を分析できます。他のファイルは会話の添付として届きますが、内容は自動で読み取られません。顧客が実際に使うファイル形式を試し、TelegramとInboxの両方を確認してください。
Telegramでロールプレイやキャラクターのボットを作れますか?
はい。同じTelegram接続を、キャラクター設定と適切な指示を持つAgentにも使えます。このチュートリアルは業務サポートの例なので、ロールプレイ用Agentには専用のプロンプトとテストが必要です。