1 人に 1 通のテンプレートを送るのに、受信トレイを開く必要はありません。同僚に 話すように Octo とのチャットに依頼を入力すれば、Octo がテンプレートを見つけて変数を 埋めます。まだ送信はしません。送ろうとしている内容をそのまま見せ、あなたが 確定 を押したときにだけ送られます。送信は受信トレイや API と同じ経路を通る ので、同じようにチェックされ、同じ会話に届きます。
これは一度に 1 人の宛先向けです。リスト全体には キャンペーンを使って ください。そもそも WhatsApp がなぜテンプレートを必要とするのかは WhatsApp のメッセージがテンプレートでなければならないとき にあります。
依頼の例
タイドウォーター・ランドリーには、承認済みのユーティリティテンプレート
pickup_confirmation があり、本文は
{{1}}様、集荷のご予約を{{2}}で確定しました。変更はこちらにご返信ください。 です。
杏奈さんは先週、布団の洗濯について問い合わせ、また連絡すると言ったきり、その後
連絡がありません。あなたはこう入力します。
佐藤 杏奈さんに、火曜日 9〜11時の集荷確定を送って。
Octo は次の順序で処理するように作られています。
- 杏奈さんを見つける。 名前なら連絡先から探し、電話番号ならそのまま使えます。
いずれにしても最終的に国際形式(
+14255550123)でなければならず、それ以外は 送信で拒否されます。 - 最後の連絡を確認する。 杏奈さんが最後に WhatsApp で書いてきた時刻から、Octo は 24 時間の窓が開いているかどうか、そして今日すでに誰かが彼女にメッセージを 送ったかどうかを判断します。
- テンプレートを見つける。 Octo は名前と表示名でテンプレートを検索し、 承認済みのものだけを対象にします。
- 変数を埋める —
{{1}}=杏奈、{{2}}=火曜日 9〜11時— そして送信を 準備します。Octo は確定待ちの状態に準備したと伝え、「送信しました」とは言い ません。 - あなたを待つ。 チャットにカードが表示されます — 下で説明します。あなたが 確定 を押すまで、杏奈さんには何も届きません。
各ステップの言い回しは Octo によって異なります。このガイドの残りで説明するチェック は、送信そのものが毎回行います。
どのテンプレートか、そしてすべての値を伝える
依頼で指定するものが多いほど、Octo が選ぶものは少なくなります。
+14255550123 に
pickup_confirmationテンプレートを送って。名前: 杏奈。時間帯: 火曜日 9〜11時。
メッセージの内容を説明するだけなら、Octo は最も合う承認済みテンプレートを選び、 どれを選んだかを伝えます。依頼に変数が足りなければ、それを伝えるか、質問されるのを 待ってください — 空欄のままテンプレートが送られることはありません(下を参照)。
ボタン付きのテンプレートも使えます。タイドウォーター・ランドリーの、コードのコピー ボタンが付いたマーケティング用テンプレートは、コードを値として受け取ります。
高橋さんに
duvet_promoテンプレートを、コード FRESH20 で送って。
送信前に確定する
ダッシュボードのチャットでは、準備された送信が この WhatsApp テンプレートを送信 しますか? という見出しのカードで表示されます。
| 行 | 表示内容 |
|---|---|
| 宛先 | 送り先の番号 — +14255550123 |
| テンプレート | テンプレートとその言語 — pickup_confirmation(ja) |
| 値 | 各値と、それが埋める欄。ヘッダー、本文、ボタンの順 — 本文 1 → 杏奈、本文 2 → 火曜日 9〜11時 |
| 有効期限:… | 依頼が失効する時刻: Octo が準備してから 24 時間後 |
その下に 確定 と キャンセル があります。
- 確定 で送信されます。カードが 送信済み に変わり、チャットにメモが表示され ます: Done ✅ — Template “pickup_confirmation” sent to +14255550123 via WhatsApp. WhatsApp または下のチェックのどれかが拒否した場合、カードには代わりに 理由とともに 未送信 と表示されます。
- キャンセル では何も送られません。カードには キャンセル済み — 何も送信 されていません と表示されます。
- 何もしなければ 何も送られません。24 時間後、カードには 期限切れ — 何も送信 されていません と表示されます。
大事な点がいくつかあります。
- 番号だけでなく値も読むこと。 カードは、欄の間違いや入力ミスに気づける最後の 場所です。何かを変えるには、キャンセルしてもう一度頼んでください。
- ボタンは Octo を待ちます。 Octo がまだ返信を書いているあいだ、カードには Octo の返信が終わると確定できます。 と表示されます。
- テンプレートが複数ならカードも複数。 1 つのチャットで 2 件の送信を頼むと カードが 2 枚表示され、それぞれ個別に確定またはキャンセルします。
- 後から戻っても安全です。 ページを再読み込みすると、カードには実際に起きた ことが表示されます。送信済み、キャンセル済み、期限切れの依頼に、有効なボタンが 再び表示されることはなく、確定 を 2 回押しても 2 回送られることはありません。
- 確定できる人。 確定またはキャンセルできるのは、Octo に依頼した本人か、 ワークスペースのオーナーまたは管理者だけです。
メール、WhatsApp、Slack で Octo とやり取りする場合
そこでも Octo は確認を求めます。メッセージには、これから行うことと短いコードが 表示されます。メールではコードを付けて返信し、WhatsApp と Slack では Confirm と Cancel ボタンも使えます。承認する行には、テンプレート、番号、値が記載され ます。
Send WhatsApp template "pickup_confirmation" (en_US) to +14255550123 — body 1: "Ana", body 2: "Tuesday, 9–11am"
コードのような名前の欄 — otp、pin、トークン — の値は、この行では •••• と
表示されます。応答のない依頼は 24 時間で失効し、何も送られません。
Octo が拒否すること
拒否はすべて WhatsApp に接続する前に行われ、Octo には理由が伝えられます。
| 状況 | どうなるか |
|---|---|
| テンプレートが保留中、却下、一時停止、または無効 | 拒否: 送信できるのは承認済みのテンプレートだけです。 |
| 変数が足りない、または空の値が渡された | 欄を示して拒否 — たとえば body is missing variable “customer_name”、または本文は値を 2 つ必要とするのに 1 つしかない、など。 |
| 値が長すぎる | 拒否。コピー用コードは最大 15 文字です。 |
| テンプレートに画像・動画・ドキュメントのヘッダーがある | Octo はファイルを用意できないため、送信は拒否されます。Meta のテンプレートのペイロードを丸ごと受け付ける自社のシステムから送ってください。 |
| テンプレートの WhatsApp 番号がもう有効でない | 拒否。 |
| ワークスペースの請求設定がされていない | Billing setup required で拒否。 |
| 番号の送信ペースが速すぎる、または 1 日の上限に達した | 待ち時間とともに拒否。Octo は待ち時間を受け取り、いつ再試行すればよいかを伝えます。自分で再試行するようには作られていません。1 つの番号はどれだけ速く送れるかを参照。 |
次の拒否では、試みが送られなかったメッセージとして会話に残ります。
- お客様が WhatsApp のメッセージを配信停止している。 ブロック済みとして記録され ます。Octo が配信停止を無視することはできません。
- WhatsApp 番号がまだ認証待ち。
- ワークスペースが停止されている、または宛先がそのワークスペースで有効になって いない。 失敗として記録されます。
- Meta がメッセージを拒否した。 失敗として記録されます。Octo は Meta のエラーを 受け取り、別の値で再試行できます。
テンプレートの代わりに自由文
窓が開いていれば、Octo はあなたの言葉をそのまま送れます。「杏奈さんに WhatsApp で: 配達員があと 10 分で着きます」 と頼むと、杏奈さんがその番号で過去 24 時間以内に 書いてきていれば、テキストは通常のメッセージとして送られます。
そうでなければ、自由文の送信は窓が閉じていることを理由に拒否されます。Octo が すり抜けさせることはありません。承認済みテンプレートに切り替える必要があり、合う ものがなければそう伝えます。新しいテンプレートの作成を手伝うこともできますが、 新しいテンプレートも、誰かが受け取れるようになる前に Meta の承認が必要です。 それについては テンプレートを Omni Octo に取り込む で説明しています。
メッセージの届く場所
- どの番号から送られるか。 テンプレートは 1 つの WhatsApp 番号に属するので、 テンプレートが送信元を決めます。番号が 2 つあるなら、使いたい番号に同期されている テンプレートを指定してください。
- どの会話か。 お客様のメッセージがすでに使っているのと同じスレッドです。 自社のシステムからの送信 とまったく同じです。杏奈さんが返信すると、その返信はそのスレッドに加わります。
- 返信に誰が答えるか。 Octo は会話を引き継ぎません。AI エージェントが担当して いたならそのまま担当し、あなたが引き継いでいたならあなたのままです。まず引き継ぐ 会話からの送信 とはここが違います。
- 何が表示されるか。 スレッドのメッセージには値が入った本文が表示され、あなたが 送ったものとして記録されます。最初は送信済みで、配信済み、既読、失敗は後から Meta から届きます。
Octo の返信の「送信しました」は、Meta がメッセージを受け付けたという意味です。 杏奈さんが受け取ったという意味ではありません — そしてマーケティング用テンプレートは 一度も配信されないこともあります。
2 回頼めば 2 回送られる
依頼のたびに新しいカードが作られ、確定したカードのたびに新しい送信が行われます。 依頼をまたいだ「送信済み」のチェックはありません。もう一度頼んだり、実際には 送られていた送信の後で Octo に「もう一度やって」と頼んだりして両方を確定すると、 杏奈さんにはテンプレートが 2 回届きます — そして 1 回ごとに番号の上限に数えられ ます。再送を確定する前に、前のカードのステータスを確認してください。
Octo にできないこと
- リストへの送信。 1 つの依頼は 1 人の宛先です。 キャンペーンを使って ください。
- メディアヘッダー付きテンプレートの送信。 ファイルを用意する手段がありません。
- 配信停止を無視すること、承認されていないテンプレートを送ること。
- 窓が閉じているのに自由文をすり抜けさせること。
チャットの外の Octo
人ではなくプログラムが Octo と話す場合も、送信は人を待ちます。
| プログラムの接続先 | どうなるか |
|---|---|
/mcp — send_message で Octo に仕事を渡す | 保留されます。結果にはコード付きの pending_action が入ります。誰かが同じ会話で YES <code> と返信するまで何も送られません。 |
/mcp/tools — Octo のツールを直接呼び出す | confirmation_required で拒否されます。 |
/v1、保存される会話 | 同じように YES <code> の返信を待って保留されます。 |
/v1、何も保存しないリクエスト | 提供されません。 |
自社のソフトウェアから、1 件ずつ人の承認を得ずにテンプレートを送る必要があるなら、 テンプレート送信のエンドポイントを直接呼び出してください — 自社のシステムからテンプレートを送る。
次に読む
- 会話からテンプレートを送る — 同じ送信を、プレビュー付きでスレッドの中から。
- リストにテンプレートを送る — 相手が 1 人ではないとき。
- 1 つの番号はどれだけ速く送れるか — Octo の送信がほかのすべての経路と共有する上限。