クライアントのブリーフから公開まで:エージェントが回す1週間を、呼び出しごとに追う

ブリーフ、メディア、アカウント別の下書き、レビュー、承認、予約、配信確認、レポートまで、Shager で回す1週間の実例です。

エージェントを使ってクライアントのブリーフから投稿の公開までたどり着くには、8つの段階があります。アクセスとワークスペースの確認、接続済みアカウントの確認、メディアのアップロード、計画、アカウント別のキャプションでの下書き、レビュー、クライアントの承認、そして予約と確認です。どの段階でも、量のかさむ作業はエージェントが担います。人が下す判断は3つだけです。計画の承認、公開する権限の付与、そしてクライアントが望む場合には、承認リンクを通じたクライアント自身の承認です。

ここからは、架空のクライアントのリアルな1週間を、エージェントが行う Shager の呼び出しとともに順番に追っていきます。クライアントの Harbor Coffee は14店舗を持ち、各店舗に Facebook ページと Instagram プロアカウントがあり、さらにブランドの YouTube チャンネルが1つあります。

月曜の朝:ブリーフが届く

アカウントマネージャーが、クライアントのコンテキストフォルダにブリーフを入れます。秋の新ドリンク、木曜のローンチ、最初の週末は20%オフ、25秒の縦型動画1本と、クライアントの CDN にある写真2枚。それだけです。エージェントの常設の指示では、ブリーフにないことを作り出すのは禁じられているので、使う事実は割引、日付、商品名だけです。

セッションはクライアントのフォルダ内で始まるので、エージェントには代理店のルールと Harbor Coffee のトーン&マナーのファイルが読み込まれ、ほかのクライアントの情報は一切ありません。それがなぜ重要かは、1つのエージェントで多数のクライアントを担当するで解説しています。

図:ブリーフ、アカウントごとの下書き、クライアントの承認、時間差での公開、アカウントごとのクリックレポート。
5つの固定ステップです。投稿ごとの承認はクライアント単位で任意ですが、公開には人間のオーナーと、キーへの別個の公開権限が必要です。

段階1:誰が、どこで作業するかを確認する

whoami            -> organization, claimed or sandbox, key scopes
list_workspaces   -> "Harbor Coffee" (ws_harbor), timezone Europe/London

whoami は、作業の前に2つの問いに答えます。このオーガニゼーションは引き継ぎ済みか、そしてキーに publish があるか。未引き継ぎのサンドボックスなら、アップロードと下書きはできますが、人が引き継ぐまで、予約と承認依頼は分かりやすいエラーで失敗します。引き継ぎの手順は /auth.md にあります。

段階2:アカウントを確認する

list_channels ws_harbor  -> 29 channels: 14 Facebook, 14 Instagram, 1 YouTube
list_groups   ws_harbor  -> "All cafes FB", "All cafes IG", "Brand YouTube"

エージェントは各チャンネルの状態を確認します。Instagram アカウントが1つ、接続切れになっています。エージェントはそれを黙って避けて下書きするのではなく、その店舗の店長向けに接続リンクを作ります。

{
  "tool": "create_connect_link",
  "arguments": { "workspace_id": "ws_harbor", "label": "Harbor Quayside, Instagram reconnect" }
}

アカウントマネージャーがリンクを転送します。店長は Shager のアカウントなしで、そのリンクから Instagram にログインし、その日のうちにアカウントが list_channels に戻ってきます。

段階3:メディアをアップロードする

素材ごとに1回、計3回の呼び出しです。動画にはサイズと長さを付けておくので、リールとショートの検証を公開時ではなくこの時点で実行できます。

{
  "tool": "upload_media_from_url",
  "arguments": {
    "workspace_id": "ws_harbor",
    "url": "https://cdn.harbor-coffee.example/autumn/launch.mp4",
    "file_name": "autumn-launch.mp4",
    "width": 1080, "height": 1920, "duration_ms": 25000
  }
}

写真2枚も同じ方法でアップロードします。動画用のフィールドは不要です。

図:下書きはログイン不要のリンクでクライアントに送られ、クライアントが承認または修正を依頼し、承認された投稿が予約されます。
承認後に内容を変更すると、承認は取り消されます。クライアントが見ていないものは公開されません。

段階4:計画を出して、返事を待つ

エージェントは、すぐに下書きを始めるのではなく、計画を提案します。

曜日 投稿 フォーマット 投稿先
火 ティザー写真 FEED All cafes FB, All cafes IG
木 ローンチ動画 REEL / SHORT All cafes FB, All cafes IG, Brand YouTube
土 割引のリマインド写真 FEED All cafes FB, All cafes IG

アカウントマネージャーは「進めて」と返し、土曜の投稿を金曜の午後に移します。メッセージ1通で、出来の悪い計画が85件のアカウント別キャプションに化けるのを防げます。

段階5:アカウント別のキャプションで下書きする

計画した投稿はそれぞれ、schedule_at なしの create_post 1回になり、下書きとして保存されます。ローンチ投稿を見ると全体の形が分かります。

{
  "tool": "create_post",
  "arguments": {
    "workspace_id": "ws_harbor",
    "group_ids": ["grp_all_fb", "grp_all_ig", "grp_brand_yt"],
    "media_ids": ["med_launch"],
    "caption": "The autumn drink is here. 20% off this weekend.",
    "youtube_title": "Harbor Coffee autumn drink, first pour",
    "youtube_privacy": "public",
    "cta_url": "https://harbor-coffee.example/autumn",
    "campaign": "autumn-launch",
    "label": "Harbor autumn launch video",
    "first_comment": "Find your nearest Harbor and the weekend offer: https://harbor-coffee.example/autumn",
    "per_channel": [
      { "channel_id": "ch_fb_quayside", "format": "REEL",
        "caption": "Quayside regulars, it's here. Autumn's first pour, 20% off this weekend." },
      { "channel_id": "ch_ig_quayside", "format": "REEL",
        "caption": "First pour at Quayside. 20% off all weekend, details in bio." },
      { "channel_id": "ch_yt_brand", "format": "SHORT",
        "caption": "The new Harbor autumn drink, poured for the first time." }
    ]
  }
}

実際の呼び出しでは per_channel に29件のエントリーがあり、どのキャプションもその店舗に根ざした内容です。キャプションとコメント内の URL は、公開時にそれぞれのアカウント専用の短縮リンクになり、utm_content でアカウントが識別されるので、エージェントは URL をそのまま書けば済みます。キャプションを書き分けるコツは、AI でアカウントごとにキャプションを書き分けるで紹介しています。

段階6:別のパスでレビューする

読み取り専用のツールでレビュー担当のプロンプトを動かす2つ目のセッションが、status を DRAFT にして list_posts を呼び、それぞれに get_post を実行します。チェックするのは、キャプションの重複、ブリーフにない事実、クリックできない場所に置かれたリンク、縦型でないメディアへの動画フォーマットの指定です。今回は、リンクがプロフィールにあるのに「リンクは下から」と書かれた Instagram のキャプションが2件指摘されました。下書き担当のエージェントは修正した下書きを新たに作って直し、古いものは予約の対象から外します。

段階7:クライアントの承認

Harbor Coffee のワークスペースでは approval_required が設定されているので、クライアントが承認するまでは何も予約できません。エージェントは各下書きの承認を依頼します。

{
  "tool": "request_approval",
  "arguments": {
    "workspace_id": "ws_harbor",
    "post_id": "pst_launch",
    "reviewer_name": "Dana, Harbor Coffee marketing",
    "reviewer_email": "dana@harbor-coffee.example",
    "send_email": true
  }
}

クライアントはリンクを開いて投稿を確認し、ログインせずに承認します。投稿のステータスは IN_REVIEW を経て APPROVED に、あるいは CHANGES_REQUESTED に変わります。後者の場合は、エージェントが修正して再提出します。よい承認ルールの設計は、エージェントの投稿に人の承認を入れるで扱っています。

段階8:予約して確認する

承認されたら、publish スコープを持つキーで予約の段階を実行します。エージェントは、ワークスペースのタイムゾーンで、その日付に合ったオフセット付きの時刻を計算します。

{
  "tool": "schedule_post",
  "arguments": {
    "workspace_id": "ws_harbor",
    "post_id": "pst_launch",
    "schedule_at": "2026-10-15T08:30:00+01:00"
  }
}

Facebook と Instagram にそれぞれ14アカウントあり、デフォルトで30〜90秒ずつずらして送るので、各 SNS の送信には約13分かかり、2つの SNS は並行して進みます。木曜の9時15分、エージェントが get_post を呼びます。28アカウントが公開済みで、公開 URL も付いています。1件は権限エラーです。エージェントはやみくもに再試行せず、そのアカウントを名前で報告し、新しい接続リンクを提案します。

翌週の月曜:レポート

1週間の締めくくりはレポートです。出た投稿は list_posts で、アカウントごとの結果は get_post で、1週間のアカウント別・投稿別のクリックは get_analytics で取得し、クライアントが共有してくれれば utm_content で CRM のリードと突き合わせます。無人での実行も含めた全体の設定は、エージェントによるクライアント週次レポートで紹介しています。

誰が何をしたか

段階 エージェント 人
アクセスとワークスペース 確認して報告する
アカウント 切れているものを見つけ、リンクを作る リンクを転送する
メディアと計画 アップロードし、提案する 「進めて」と返す
下書きとレビュー 85件のキャプションを書き、レビューする
承認 リンクを送る クライアントが承認する
予約 時刻を計算し、予約する publish を一度付与する
配信とレポート 確認し、報告する レポートを読む

よくある質問

こうした1週間に、人はどれくらい時間を使いますか?

この例で人が下した判断は、数通のメッセージと承認1回です。正確な時間は、クライアントや計画にどれだけのやり取りが必要かで変わります。変わるのは仕事の種類です。キャプションを打ち込んだりリンクを作ったりする代わりに、確認して判断することになります。

定例の投稿なら、エージェントはクライアントの承認を省けますか?

ワークスペースが承認を求めていない場合に限ります。approval_required はワークスペースごとに設定するので、月間の計画にまとめて承認を出すクライアントならオフに、慎重なクライアントならオンにしておけます。既存のワークスペースのこの設定を、エージェントが自分で変えることはできません。

承認後に、クライアントが修正を求めてきたら?

投稿がまだ公開を始めていなければ、エージェントが cancel_post を呼んで承認済みの下書きに戻し、修正版を作って改めて承認を依頼します。公開が始まった後の修正は、各 SNS 上での手作業になります。

次の一歩

すべてのアカウントで動かす前に、少数のアカウントを持つクライアント1社でこの流れを試してみてください。エージェントがまだつながっていなければ、エージェント向けページで MCP サーバー、REST API、自己登録について説明しています。

ご自身のアカウントでお試しください。

ローンチ期間中は無料、カード登録不要。接続して一度書くだけで、Shagerが公開して計測します。