# Dari Brief Klien sampai Postingan Terbit: Seminggu Penuh Dijalankan Agen, Panggilan demi Panggilan

_2026-10-13 · Contoh nyata satu minggu kerja untuk klien di Shager: brief, unggah media, draf per akun, tinjauan, persetujuan klien, penjadwalan, cek pengiriman, dan laporan._

Perjalanan dari brief klien sampai postingan terbit dengan bantuan agen terdiri dari delapan tahap: memastikan akses dan workspace, memeriksa akun yang terhubung, mengunggah media, membuat rencana, menyusun draf dengan caption per akun, meninjau, mendapatkan persetujuan klien, lalu menjadwalkan dan memverifikasi. Agen mengerjakan bagian yang bervolume besar di setiap tahap. Manusia cukup mengambil tiga keputusan: menyetujui rencana, memberikan hak untuk memublikasikan, dan, jika klien menginginkannya, persetujuan klien sendiri lewat tautan persetujuan.

Berikut satu minggu yang realistis untuk klien fiktif, lengkap dengan setiap panggilan Shager yang dilakukan agen, secara berurutan. Kliennya, Harbor Coffee, punya 14 kafe yang masing-masing memiliki Halaman Facebook dan akun profesional Instagram, ditambah satu channel YouTube untuk brand-nya.

## Senin pagi: brief masuk

Account manager menaruh brief di folder konteks klien: minuman musim gugur yang baru, peluncuran hari Kamis, diskon 20 persen untuk akhir pekan pertama, satu video vertikal 25 detik, dan dua foto yang di-host di CDN klien. Hanya itu. Instruksi tetap agen melarangnya mengarang apa pun yang tidak disebut dalam brief, jadi diskon, tanggal, dan nama produk adalah satu-satunya fakta yang akan dipakainya.

Sesi dimulai di dalam folder klien, sehingga agen memuat aturan agensi dan file gaya bahasa Harbor Coffee, tanpa informasi apa pun tentang klien lain. Mengapa hal ini penting dibahas di [satu agen, banyak klien](/en/blog/one-agent-many-clients).

## Tahap 1: pastikan siapa dan di mana

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

`whoami` menjawab dua pertanyaan sebelum pekerjaan apa pun dimulai: apakah organisasi ini sudah diklaim, dan apakah kuncinya punya `publish`? Jika masih berupa sandbox yang belum diklaim, agen tetap bisa mengunggah dan menyusun draf, tetapi penjadwalan dan permintaan persetujuan akan gagal dengan pesan error yang jelas sampai ada manusia yang mengklaimnya. Proses klaim dijelaskan di [/auth.md](/auth.md).

## Tahap 2: periksa akun

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

Agen memeriksa status setiap channel. Satu akun Instagram tampil terputus. Alih-alih diam-diam menyusun draf tanpa akun itu, agen membuat tautan koneksi untuk manajer kafe tersebut:

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

Account manager meneruskan tautannya. Manajer kafe masuk ke Instagram lewat tautan itu, tanpa akun Shager, dan akun tersebut kembali muncul di `list_channels` sore harinya.

## Tahap 3: unggah media

Tiga panggilan, satu per aset. Video disertai dimensi dan durasinya, sehingga validasi Reels dan Shorts bisa dijalankan sekarang, bukan saat publikasi.

```json
{
  "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
  }
}
```

Dua foto diunggah dengan cara yang sama, tanpa field khusus video.

## Tahap 4: buat rencana, lalu tunggu

Agen mengusulkan rencana alih-alih langsung menyusun draf:

| Hari | Postingan | Format | Target |
|---|---|---|---|
| Selasa | Foto teaser | FEED | All cafes FB, All cafes IG |
| Kamis | Video peluncuran | REEL / SHORT | All cafes FB, All cafes IG, Brand YouTube |
| Sabtu | Foto pengingat diskon | FEED | All cafes FB, All cafes IG |

Account manager membalas "jalan", sambil memindahkan postingan hari Sabtu ke Jumat sore. Cukup satu pesan, dan rencana yang lemah tidak pernah berubah menjadi 85 caption per akun.

## Tahap 5: susun draf dengan caption per akun

Setiap postingan dalam rencana menjadi satu panggilan `create_post` tanpa `schedule_at`, yang menyimpannya sebagai draf. Postingan peluncuran menunjukkan bentuk lengkapnya:

```json
{
  "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." }
    ]
  }
}
```

Dalam panggilan sebenarnya, `per_channel` berisi 29 entri, dan setiap caption berpijak pada kafe masing-masing. Saat publikasi, setiap URL di caption dan komentar berubah menjadi tautan pendek yang unik untuk akun tersebut, dengan `utm_content` sebagai penanda akunnya, jadi agen cukup menulis URL biasa. Seni membuat caption bervariasi dibahas di [variasi caption per akun dengan AI](/en/blog/caption-variation-per-account-with-ai).

## Tahap 6: tinjau di putaran terpisah

Sesi kedua, yang menjalankan prompt peninjau dengan tool baca saja, memanggil `list_posts` dengan `status` berisi `DRAFT` lalu `get_post` untuk masing-masing. Ia memeriksa caption duplikat, fakta yang tidak ada di brief, tautan yang ditaruh di tempat yang tidak bisa diklik, dan format video pada media yang tidak vertikal. Kali ini ia menandai dua caption Instagram yang menulis "tautan di bawah" padahal tautannya ada di bio. Agen penyusun draf memperbaikinya dengan membuat draf baru yang sudah dikoreksi, dan draf lama tidak ikut dijadwalkan.

## Tahap 7: persetujuan klien

Workspace Harbor Coffee mengaktifkan `approval_required`, jadi tidak ada yang bisa dijadwalkan sebelum klien menyetujui. Agen mengirim setiap draf untuk disetujui:

```json
{
  "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
  }
}
```

Klien membuka tautannya, meninjau postingan, dan menyetujuinya tanpa perlu masuk. Status postingan berpindah dari `IN_REVIEW` ke `APPROVED`, atau ke `CHANGES_REQUESTED`, dan dalam kasus itu agen merevisi lalu mengirimkannya lagi. Cara merancang aturan persetujuan yang baik dibahas di [persetujuan manusia untuk postingan agen](/en/blog/human-approval-for-agent-posts).

## Tahap 8: jadwalkan dan verifikasi

Setelah disetujui, langkah penjadwalan dijalankan dengan kunci yang punya scope `publish`. Agen menghitung setiap waktu dalam zona waktu workspace, dengan offset yang berlaku untuk tanggal tersebut:

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

Dengan masing-masing 14 akun di Facebook dan Instagram serta jeda bertahap default 30 sampai 90 detik, proses di setiap platform memakan waktu sekitar 13 menit, dan kedua platform berjalan paralel. Kamis pukul 09.15, agen memanggil `get_post`. Dua puluh delapan akun tampil sudah terbit dengan URL aktif. Satu akun menampilkan error izin. Agen melaporkan akun itu berdasarkan namanya dan menyarankan tautan koneksi baru; ia tidak mencoba ulang secara membabi buta.

## Senin berikutnya: laporan

Minggu yang sama ditutup dengan laporan: `list_posts` untuk melihat apa saja yang terbit, `get_post` untuk hasil per akun, dan `get_analytics` untuk klik per akun dan per postingan sepanjang minggu, digabungkan dengan prospek dari CRM lewat `utm_content` jika klien membagikannya. Pengaturan lengkapnya, termasuk menjalankannya tanpa pengawasan, ada di [laporan klien mingguan oleh agen](/en/blog/weekly-client-report-by-agent).

## Siapa mengerjakan apa

| Tahap | Agen | Manusia |
|---|---|---|
| Akses dan workspace | Memeriksa dan melaporkannya | |
| Akun | Menemukan akun yang bermasalah, membuat tautan | Meneruskan tautan |
| Media dan rencana | Mengunggah, mengusulkan | Bilang "jalan" |
| Draf dan tinjauan | Menulis 85 caption, meninjaunya | |
| Persetujuan | Mengirim tautan | Klien menyetujui |
| Penjadwalan | Menghitung waktu, menjadwalkan | Memberi `publish` sekali |
| Pengiriman dan laporan | Memverifikasi, melaporkan | Membaca laporan |

## FAQ

### Berapa lama waktu yang dihabiskan manusia untuk minggu seperti ini?

Keputusan manusia dalam contoh ini hanya beberapa pesan dan satu persetujuan. Waktu pastinya bergantung pada klien dan seberapa banyak bolak-balik yang dibutuhkan rencananya. Yang berubah adalah jenis pekerjaannya: meninjau dan memutuskan, bukan mengetik caption dan membuat tautan.

### Bisakah agen melewati persetujuan klien untuk postingan rutin?

Hanya jika workspace-nya tidak mewajibkannya. `approval_required` diatur per workspace, jadi klien yang menyetujui rencana bulanan bisa menonaktifkannya, sementara klien yang lebih berhati-hati tetap mengaktifkannya. Agen tidak bisa mengubah pengaturan itu sendiri untuk workspace yang sudah ada.

### Bagaimana jika klien meminta perubahan setelah menyetujui?

Jika postingan belum mulai dipublikasikan, agen memanggil `cancel_post`, yang mengembalikannya menjadi draf yang sudah disetujui, lalu membuat versi yang sudah dikoreksi dan mengirimkannya lagi untuk disetujui. Begitu publikasi sudah dimulai, perubahan di platform itu sendiri harus dilakukan secara manual.

## Langkah selanjutnya

Jalankan urutan ini pada satu klien dengan sekelompok kecil akun sebelum Anda menerapkannya ke semuanya. Jika agen Anda belum terhubung, [halaman masuk untuk agen](/en/agents) membahas server MCP, REST API, dan pendaftaran mandiri.

---
Source: https://shager.ai/id/blog/from-brief-to-published
