タスク(Task)
概要
タスク(Task) は、Agent のプロアクティブメッセージ機能です。ユーザーが先に話しかけるのを待つのではなく、Agent 側からユーザーへ会話を開始します。
通常の会話が「ユーザーが質問 → Agent が回答」であるのに対し、タスクは「プラットフォームが設定した条件に従い、ユーザーの代わりに Agent へメッセージを送信 → Agent が返信を生成 → 返信をユーザーへプッシュ」という流れになります。タスクで設定する「トリガーメッセージ」は、本質的にはユーザーの代わりに Agent へ送る一言であり、Agent は実際のユーザーメッセージを受け取ったときと同様に返信を生成します。エンドユーザーに表示されるのは Agent の返信であり、トリガーメッセージそのものではありません。
代表的な利用シーン:
| シーン | トリガー方式 | 例 |
|---|---|---|
| 定期配信 | 能動 - スケジュールトリガー | 毎朝 9:00 に全 Telegram ユーザーへ今日のニュースを配信する |
| 休眠ユーザーの呼び戻し | 受動 - ユーザートリガー | ユーザーが 3 日以上会話していない場合に、フォローメッセージを自動送信する |
| 業務システム連携 | 能動 - イベントトリガー | 注文の出荷後、業務システムが Webhook を呼び出してユーザーへ配送情報を通知する |
| 単発通知 | 能動 - スケジュールトリガー(単発) | 指定した時刻に、直近 1 か月間アクティブだったユーザーへイベント通知を送信する |
前提条件
- タスクは、すでに Agent と会話したことがあるユーザーにのみ送信されます。プラットフォームは各ユーザーについて、対象チャネル上で「最後にアクティブだった」会話を特定し、その会話にメッセージを挿入します。会話履歴のないユーザーにはタスクメッセージは送信されません(実行明細では
NO_CONVERSATIONとして記録されます)。 - 対象チャネルがサードパーティ連携(WhatsApp、Telegram、LINE など)の場合は、該当する連携が「Integrations」で正しく設定され、有効になっていることを確認してください。連携が無効化されていたり、認証情報が失効していたりすると送信に失敗します(
CHANNEL_CONFIG_INVALID/CHANNEL_AUTH_FAILED)。 - タスクの実行では Agent の LLM を呼び出して返信を生成するため、通常どおりクレジット(Credits)が消費されます。
アクセス方法
開発スペース → エージェント → 任意の Agent を選択 → 左側メニュー「Tasks」 に移動します。
タスク一覧では、タスク名による検索、およびステータス(Status)、トリガータイプ(Trigger)、対象ユーザー(Target)による絞り込みが可能です。一覧の項目は以下のとおりです:
| 項目 | 説明 |
|---|---|
| Name | タスク名 |
| Status | タスクのステータス。タスクのステータスを参照 |
| Trigger | トリガータイプ:スケジュール / イベント / ユーザートリガー |
| Target | 対象ユーザー:全ユーザー / カスタムユーザー |
| Message | トリガーメッセージ(テンプレート内容) |
| Created | 作成日時と作成者 |
| Action | 操作:View(表示)/ Stop(停止)/ Delete(削除) |
タスクの作成
右上の New task をクリックし、右側のドロワーで設定を行います。
1. 基本情報
| 設定項目 | 説明 |
|---|---|
| Task name | タスク名。必須、最大 100 文字 |
| Target users | 対象ユーザー。Custom users(カスタムユーザー、デフォルト)または All users(全ユーザー)のいずれかを選択 |
| Target channels | 対象チャネル。Custom users を選択した場合は必須で、複数選択可能。これらのチャネル上に会話があるユーザーにのみ送信されます |
| Target conversation scope | 対象会話の範囲(開始日時 – 終了日時)。会話の作成日時がこの範囲内にあるユーザーのみが送信対象となります。送信範囲を「最近アクティブな」ユーザーに限定するために使用します |
注意:All users を選択すると確認ダイアログが表示されます。これは、その Agent のすべてのチャネル上の全ユーザーに一斉配信することを意味するためです。誤送信を防ぐため、対象会話の範囲が適切に設定されていることを必ず確認してください。
対応している対象チャネル
| カテゴリ | チャネル |
|---|---|
| 自社チャネル | Web、Share、Embed(iframe)、Widget、App、API |
| ワークスペース | Workspace、Workspace Apps |
| IM チャネル | Telegram、WhatsApp(Meta)、WhatsApp(Engagelab)、LINE、Slack、Facebook Messenger、Instagram、WeChat カスタマーサービス(微信客服)、Teams |
| カスタマーサポートプラットフォーム | Intercom、LiveChat、Livedesk、OmniChat、Zoho SalesIQ |
ヒント:一部のチャネル(Discord、DingTalk、SoBot など)は、プラットフォームのプロトコル上の制約により、現時点ではサーバー側からのプロアクティブ送信に対応していません。これらはチャネルのドロップダウンでグレーアウトされ、理由が表示されます。自社チャネル(Web / Widget など)の返信は会話に直接書き込まれ、ユーザーが次回会話ウィンドウを開いたときに表示されます。IM チャネルおよびカスタマーサポートプラットフォームでは、各プラットフォームの API を通じてユーザーへ能動的にプッシュされます。
2. トリガー方式(Trigger)
トリガー方式は「いつ送信するか」を決定します。以下の 3 種類があります:
能動 - スケジュールトリガー(Active - Scheduled)
プラットフォームが設定されたスケジュールに従って能動的に送信を開始します。定期配信や単発通知に適しています。
| 周期モード | 説明 |
|---|---|
| Daily | 毎日、指定した時刻(HH:mm)にトリガー |
| Weekly | 毎週、指定した曜日の指定した時刻にトリガー |
| Monthly | 毎月、指定した日付の指定した時刻にトリガー。該当月にその日付が存在しない場合(31 日など)は、その月の最終日にトリガー |
| Interval | 一定の間隔でトリガー。単位は分 / 時間 / 日に対応し、最小 1 分 |
| Once | 1 回のみ実行。実行時刻は現在時刻より少なくとも 1 分後で、かつ 1 年以内である必要があります |
時刻はタスクで選択したタイムゾーンに基づいて計算されます。スケジュールタスクは作成後 WAITING ステータスとなり、初回の実行時刻に達すると RUNNING に移行します。Once タスクは実行完了後、自動的に COMPLETED に移行します。
能動 - イベントトリガー(Active - Event)
お客様の業務システムから Webhook でプラットフォームを呼び出してトリガーします。注文、決済、チケットなどの業務イベントとの連携に適しています。
タスク作成時に認証方式を選択して認証情報を入力すると、プラットフォームが一意の Webhook URL を自動生成します(作成後、タスク詳細で確認できます):
| 設定項目 | 説明 |
|---|---|
| Auth method | 認証方式:Basic Auth または HMAC signature |
| Username / Password | Basic Auth モードでは必須。呼び出し時に Authorization: Basic base64(username:password) で送信します |
| Secret | HMAC モードの署名キー。呼び出し側はリクエスト body に対して HMAC-SHA256 を計算し、X-Signature: sha256=<hex> リクエストヘッダーで送信します |
Webhook 呼び出し例
Webhook URL は {プラットフォームのドメイン}/bot/proactive-task/webhook/{webhookPath} の形式です。タスク詳細に表示される完全なアドレスをご利用ください。
POST {Webhook URL}
Content-Type: application/json
Authorization: Basic base64(username:password)
{
"idempotency_key": "order-20260903-0001",
"target": {
"channel": "TELEGRAM",
"user_id": "customer_123"
},
"variables": {
"order_no": "SO-20260903-0001",
"eta": "9月5日"
}
}
| フィールド | 必須 | 説明 |
|---|---|---|
idempotency_key |
いいえ | 冪等キー。最大 128 文字。24 時間以内に同じキーで重複したリクエストを送ると拒否されます。業務システムのリトライによる重複送信を防ぎます |
target.channel |
はい | 対象チャネル。値はチャネルの列挙値と同じで、WEB、TELEGRAM、WHATSAPP_META、LINE など |
target.user_id |
いずれか一方 | 業務ユーザー ID(ログイン済みユーザー) |
target.aid |
いずれか一方 | 匿名ユーザー ID(未ログインの訪問者) |
variables |
いいえ | カスタム変数。トリガーメッセージ内で {{event.variables.フィールド名}} として参照できます |
注意:Webhook リクエストの成功は「受信して送信キューに入った」ことを意味するだけです。実際の送信結果は実行履歴でご確認ください。認証失敗、タスクの停止済み、対象チャネルがタスクの対象チャネル範囲外である場合などは、いずれも権限エラーが返されます。Webhook アドレス 1 件あたりのレート制限は 120 回 / 分です。
受動 - ユーザートリガー(Passive - User Triggered)
プラットフォームが 1 分ごとにすべての対象ユーザーをスキャンし、ルールに合致したユーザーに対して送信をトリガーします。休眠ユーザーの呼び戻しや、優良ユーザーへのフォローなどのシーンに適しています。
ルール設定
Add rule をクリックしてルールを追加します。複数のルール間は AND(すべてを満たす)または OR(いずれかを満たす)を選択できます。
| ルールフィールド | タイプ | 使用可能な演算子 | 例 |
|---|---|---|---|
| User's last chat time(ユーザーの最終会話日時) | 日時 | N 分/時間/日 経過、直近 N 分/時間/日 以内 | 最終会話日時から 3 日経過 |
| Total chats(会話の総回数) | 数値 | 等しい / 等しくない / より大きい / 以上 / より小さい / 以下 / 空 / 空でない | 会話の総回数 ≥ 10 |
| User attributes(ユーザー属性) | 文字列 / 数値 / 真偽値 / リスト / 日時 | タイプに応じて:等しい / 等しくない / 含む / 真である / いずれかに含まれる…… | 会員ランク が [VIP, プラチナ] のいずれかに含まれる |
| Custom attributes(カスタム属性) | 文字列 / 数値 / 真偽値 / リスト / 日時 | 同上 | キャンペーンフラグ が 真である |
説明:ユーザー属性は「変数管理 → ユーザー属性」から取得され、ユーザーごとに個別の値を持ちます(ユーザーが未設定の場合は属性のデフォルト値が使用されます)。ユーザープロファイルによる絞り込みに適しています。カスタム属性は「変数管理 → カスタム変数」から取得され、Agent 単位で統一された値であり、すべてのユーザーで同じです。「マスタースイッチ」のような条件に適しています。すべてのルールフィールドは、そのユーザーが対象チャネル上で最後にアクティブだった会話に基づいて値を取得します。
メッセージ頻度制御(Message Frequency)
受動トリガータスクでは頻度制御の設定が必須です。設定したウィンドウ内(N 時間 / N 日)において、同一ユーザーがこのタスクによってトリガーされるのは最大 1 回のみとなり、ルールに継続的に合致するユーザーに繰り返し通知が届くことを防ぎます。
ヒント:ユーザーの最終会話日時(User's last chat time)は「過去」の時刻であるため、「N 単位 経過」系の演算子を使用してください。「今から N 単位 後」系の演算子は未来の日時フィールド(サブスクリプションの有効期限など)にのみ適用されるもので、最終会話日時に使用しても決して合致しません。
3. トリガーメッセージ(Message)
「ユーザーの代わりに」Agent へ送信するメッセージ内容を入力します。Agent はこのメッセージと、自身のプロンプトやナレッジベースなどに基づいて返信を生成し、ユーザーへプッシュします。
{{変数}} の形式で以下の変数を参照できます:
| 変数 | 説明 |
|---|---|
{{user.userId}} / {{user.aId}} |
ユーザー ID / 匿名ユーザー ID |
{{conversation.id}} / {{conversation.subject}} |
会話 ID / 会話のテーマ |
{{conversation.recentChatTime}} / {{conversation.messageCount}} |
会話の最終会話日時 / メッセージ数 |
{{now}} |
現在のタイムスタンプ(ミリ秒) |
{{event.variables.xxx}} |
イベントトリガー時、Webhook リクエストの variables 内のフィールド |
{{sys_agent_id}}、{{sys_conversation_id}}、{{sys_user_id}} など |
会話内と同じシステム変数 |
例
- 定期配信:
簡潔で親しみやすい口調で、今日の業界の主要ニュースをまとめてください。 - 休眠ユーザーの呼び戻し:
数日間ご無沙汰していました。声をかけて、最近追加された新機能を教えてください。 - イベント通知:
私の注文 {{event.variables.order_no}} が出荷され、{{event.variables.eta}} にお届け予定です。配送情報を教えて、受け取りを忘れないよう案内してください。
ヒント:トリガーメッセージは Agent に向けて書く「ユーザー視点」の質問であり、ユーザーにそのまま表示される文言ではありません。Agent にできるだけそのまま伝えてほしい場合は、メッセージ内で明示的に指示してください。例:「次の内容をそのままユーザーに伝えてください:……」。
内容を確認したら Create をクリックします。
注意:1 つの Agent で同時に
WAITING/RUNNINGステータスにできるタスクは最大 10 件です。上限を超える場合は、既存のタスクを停止するか、完了するまでお待ちください。
タスクのステータス
| ステータス | 説明 |
|---|---|
| WAITING | 待機中。スケジュールタスクの作成後、初回の実行時刻にまだ達していない状態 |
| RUNNING | 実行中。スケジュールタスクが計画どおりに実行を開始した状態。イベント / ユーザートリガータスクは作成直後からこのステータスとなり、Webhook の呼び出しまたはルールの合致を待機します |
| COMPLETED | 完了。「単発(Once)」のスケジュールタスクの実行完了後にのみ移行します |
| TERMINATED | 停止済み。手動で Stop をクリックすると移行し、復元はできません |
| ERROR | 異常。タスクが 10 回連続で実行に失敗した場合(サードパーティ連携の失効など)、自動的にサーキットブレーカーが作動して停止します。原因はタスク詳細で確認できます |
タスクと実行履歴の確認
一覧の View をクリックしてタスク詳細に移動します。タスク詳細には 2 つのタブがあります:
- Configuration:タスク設定の読み取り専用ビュー。イベントトリガータスクの場合は、ここで Webhook URL と認証情報を確認できます。
- Execution History:各実行の記録。実行日時、対象数、成功 / 失敗数、成功率が含まれます。
いずれかの実行をクリックすると、実行明細を確認できます。チャネルごとの成功 / 失敗の統計と、送信記録が 1 件ずつ表示されます。失敗理由の説明:
| 失敗理由 | 説明 | 対処方法 |
|---|---|---|
| NO_CONVERSATION | ユーザーが対象チャネル上に会話を持っていない、または会話の作成日時が対象会話の範囲外 | 対象会話の範囲とチャネル設定を確認してください |
| CHANNEL_CONFIG_INVALID | チャネル連携が無効化、削除、または設定が失効している | Integrations で該当する連携を確認してください |
| CHANNEL_AUTH_FAILED | チャネルの認証に失敗した(Telegram Token の失効など) | 連携の認証情報を更新してください |
| RATE_LIMITED | 送信レートの上限に達し、リトライ後もクォータを取得できなかった | 対象範囲を縮小するか、分割して送信してください |
| AGENT_FAILED | Agent の返信生成に失敗した | Agent の設定、モデル、クレジット残高を確認してください |
| TIMEOUT | チャネルへの配信がタイムアウトした(1 件あたり 60 秒) | しばらくしてから再試行し、サードパーティプラットフォームの状態を確認してください |
| NOT_IMPLEMENTED | このチャネルは現時点でプロアクティブ送信に対応していない | 対象チャネルを変更してください |
停止と削除
- Stop:
WAITING/RUNNING/ERRORステータスのタスクはいつでも停止できます。停止後はTERMINATEDに移行し、復元はできません。 - Delete:
COMPLETED/TERMINATEDステータスのタスクのみ削除できます。削除時には実行履歴と実行明細も併せて削除されます。
よくある質問
Q:タスクは正常に実行されたのに、ユーザーに表示される内容が設定したトリガーメッセージと異なるのはなぜですか?
トリガーメッセージは「ユーザーの代わりに Agent へ送る質問」であり、ユーザーに表示されるのは、その質問に対して Agent が生成した返信です。文言を正確に制御したい場合は、トリガーメッセージ内で Agent にそのまま出力するよう明示的に指示してください。
Q:新規ユーザーにもタスクメッセージは届きますか?
届きません。タスクは会話履歴のあるユーザーにのみ送信され、かつ会話の作成日時が「対象会話の範囲」内である必要があります。
Q:スケジュールタスクが指定時刻ちょうどに送信されないのはなぜですか?
スケジューラーは 1 分ごとにスキャンを行い、また大量送信はプロジェクト単位のレート制限に従って分割してプッシュされるため、実際の到着時刻は多少遅れる場合があります。
Q:Webhook が権限エラー(Permission deny)を返します。
以下を順に確認してください:Webhook URL が正しいか、認証情報が一致しているか、タスクが停止されていないか、リクエスト内の target.channel がタスクに設定された対象チャネルに含まれているか。
