# Satu Agen, Dua Belas Klien: Menjaga Brand, Akun, dan Tautan Agar Tidak Tercampur

_2026-09-29 · Cara agensi menjalankan satu agen AI untuk banyak klien di Shager: workspace dan folder konteks per klien, aturan penamaan, dan pengaman dari salah posting._

Satu agen bisa melayani banyak klien dengan aman, asalkan setiap klien punya workspace Shager sendiri, setiap tugas dimulai dengan menentukan dan menyebutkan workspace-nya, dan gaya bahasa, fakta, serta aturan klien disimpan di folder konteks terpisah yang dimuat agen per sesi. Bahayanya bukan karena agen tidak mampu. Masalahnya, satu kunci bisa melihat semua workspace di organisasi, jadi pemisahannya harus datang dari struktur dan kebiasaan.

Kesalahan yang paling ditakuti semua orang adalah memasang promo klien A di halaman klien B. Kesalahan ini bukan monopoli agen; operator manusia juga sering melakukannya. Cara-cara di bawah ini menangkapnya, siapa pun pelakunya.

## Kenapa satu workspace per klien?

Di Shager, workspace adalah satu klien atau satu brand. Setiap akun yang terhubung, grup akun, postingan, dan tautan terlacak berada di tepat satu workspace. Tidak ada yang melintasi batas workspace secara tidak sengaja: panggilan `create_post` menyebut satu `workspace_id`, dan channel serta grup yang dituju berasal dari daftar milik workspace itu sendiri.

Membuatnya cukup dengan satu panggilan. Field-nya adalah `name`, `timezone` IANA (default `Asia/Jerusalem`), dan `approval_required`, yang mewajibkan persetujuan klien sebelum apa pun di workspace itu bisa dijadwalkan.

```json
{
  "tool": "create_workspace",
  "arguments": {
    "name": "Aurora Furniture",
    "timezone": "Europe/London",
    "approval_required": true
  }
}
```

Mengatur `approval_required` per klien adalah tingkat kendali yang tepat. Ada klien yang ingin melihat setiap postingan. Ada juga yang sudah menyetujui rencana konten dan tidak mau menerima dua puluh email persetujuan per minggu. Agen tidak perlu mengingat mana yang mana, karena workspace yang menegakkannya.

Agen di sandbox yang belum diklaim bisa membuat hingga lima workspace, cukup untuk menyiapkan uji coba dengan beberapa klien sebelum seorang manusia mengklaim organisasinya. Alurnya ada di [pendaftaran mandiri agen dan klaim](/en/blog/agent-self-signup-and-claim).

## Memasukkan akun setiap klien tanpa kata sandi

Untuk setiap workspace, agen memanggil `create_connect_link` dengan `label` yang menyebutkan untuk siapa tautan itu. Klien membuka tautan, masuk sendiri ke platformnya (Facebook, Instagram, YouTube, X, LinkedIn, atau TikTok), memilih akun, lalu akun-akun itu muncul di `list_channels` khusus untuk workspace tersebut. Klien tidak perlu akun Shager, dan tidak ada kata sandi yang dibagikan.

```bash
curl -s https://app.shager.ai/api/v1/workspaces/ws_aurora/connect-links \
  -H "Authorization: Bearer $SHAGER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"label":"Aurora marketing manager"}'
```

Tautan koneksi memerlukan organisasi yang sudah diklaim. [Tautan koneksi untuk klien](/en/blog/client-connect-links) menjelaskan apa yang dilihat klien dan apa yang sebaiknya Anda kirim bersama tautannya.

## Folder konteks: tempat "otak" setiap klien

Workspace memisahkan data, tetapi tidak memisahkan pengetahuan. Pemahaman agen tentang gaya bahasa Aurora, harga-harganya, dan frasa yang dilarang harus disimpan di suatu tempat. Kalau semuanya ditaruh di satu file instruksi panjang berisi dua belas klien, pasti ada yang bocor.

Struktur yang saya pakai, untuk Claude Code atau Codex:

```text
agency/
  CLAUDE.md                 # agency-wide hard rules, no client facts
  clients/
    aurora/
      CLAUDE.md             # workspace name, voice, facts, do-not-say list
      brief-2026-w40.md
      crm/leads.csv
    beacon-dental/
      CLAUDE.md
      ...
```

Claude Code memuat file `CLAUDE.md` secara hierarkis, dan file di subdirektori dimuat saat Claude bekerja di direktori tersebut, seperti dijelaskan di [dokumentasi memorinya](https://code.claude.com/docs/en/memory). Memulai sesi di dalam `clients/aurora/` memberi agen aturan agensi ditambah file Aurora, tanpa informasi apa pun tentang Beacon Dental. Codex punya hierarki serupa dengan [`AGENTS.md`](https://developers.openai.com/codex/guides/agents-md), yang digabung dari root proyek hingga direktori kerja.

Baris pertama di setiap file klien adalah yang paling penting:

```text
Shager workspace: "Aurora Furniture". Act on this workspace only. If any tool
call would use a different workspace_id, stop and ask.
```

## Pengaman yang menangkap salah posting antarklien

Struktur mengurangi risiko. Kebiasaan berikut menutup celah sisanya.

1. **Tentukan dan sebutkan.** Setiap tugas dimulai dengan `list_workspaces`, mencari klien berdasarkan nama, lalu menampilkan nama dan ID-nya sebelum penulisan pertama. Manusia yang membaca sekilas transkripnya akan melihat "Aurora Furniture (ws_aurora)" dan bisa menghentikannya.
2. **Satu klien per sesi.** Jangan minta agen "kerjakan minggu ini untuk Aurora dan Beacon". Dua sesi, dua folder. Biaya tambahannya nol dan konteks tetap bersih.
3. **Label berisi nama klien.** Setiap `create_post` membawa `label` seperti "Aurora w40 sofa sale". Di `list_posts` dan di dasbor, label yang salah di workspace yang salah langsung kelihatan.
4. **Kampanye per klien.** Field `campaign` menjadi `utm_campaign`. Beri awalan slug klien (`aurora-sofa-sale`), sehingga postingan yang salah tempat juga muncul sebagai baris janggal di analitik klien.
5. **Tahap tinjauan terpisah.** Sesi peninjau dengan tool hanya-baca memeriksa draf terhadap daftar larangan klien sebelum apa pun disetujui. Prompt-nya ada di [prompt untuk agen konten](/en/blog/prompts-for-a-content-agent).

## Perlukah setiap klien punya kunci API sendiri?

Di Shager, kunci milik organisasi dan membawa cakupan: `read`, `write`, dan `publish`. Kunci tidak membatasi workspace mana yang bisa dijangkaunya. Jadi kunci per klien tidak membuat tembok yang benar-benar kokoh, tetapi tetap membantu dalam dua hal. Mencabut satu kunci tidak menghentikan pekerjaan di klien lain, dan log audit panggilan agen di dasbor agen lebih mudah dibaca kalau sesi setiap klien berjalan dengan kuncinya sendiri.

Yang tidak akan saya lakukan adalah memberi setiap sesi klien kunci `publish` secara default. Sebagian besar sesi hanya membuat draf. Langkah penjadwalan bisa berjalan dengan kunci lain yang dipegang manusia. Model cakupannya dijelaskan di [kunci API, cakupan, dan audit](/en/blog/api-keys-scopes-and-audit).

## Grup di dalam satu klien

Di dalam workspace, grup akun memungkinkan agen menargetkan sekumpulan akun lewat satu field. Klien waralaba bisa punya grup per wilayah, per bahasa, atau per format toko. `create_group` menerima `name` dan `channel_ids`; `create_post` menerima `group_ids` dan menambahkan setiap channel aktif di grup-grup itu. Grup juga milik workspace seperti yang lain, jadi agen sebaiknya selalu mengambil daftarnya dari dalam workspace klien, bukan memakai ulang ID dari ingatan.

## Kapasitas dan paket

Paket Shager dihitung berdasarkan jumlah akun terhubung di seluruh organisasi, dengan akses API, MCP, dan pengguna tanpa batas di setiap paket. Untuk agensi yang menangani belasan klien, angka yang perlu dipantau adalah jumlah akun, bukan jumlah agen atau kursi. Tingkatannya ada di [halaman harga](/en/pricing).

## FAQ

### Bisakah dua agen menangani klien yang sama sekaligus?

Secara teknis bisa. Keduanya melihat workspace yang sama dan keduanya bisa membuat draf. Dalam praktiknya, beri masing-masing jalur yang jelas: satu membuat draf, satu meninjau; atau satu menangani video, satu lagi postingan teks. Dua agen yang sama-sama menyusun draf untuk minggu yang sama akan menghasilkan konten ganda.

### Bagaimana kalau klien juga mengelola postingannya sendiri di Shager?

Mereka bisa ditambahkan sebagai pengguna di organisasi Anda, karena setiap paket sudah termasuk pengguna tanpa batas. Pastikan agen memanggil `list_posts` sebelum menyusun draf, supaya ia melihat apa yang sudah dijadwalkan klien dan tidak menumpuk postingan di hari yang sama.

### Bagaimana cara melepas klien?

Hentikan pekerjaan agen di workspace tersebut, batalkan postingan terjadwal dengan `cancel_post`, dan minta klien memutus koneksi akun-akunnya. Arsipkan folder konteksnya di luar direktori kerja agen agar tidak termuat tanpa sengaja di kemudian hari.

## Langkah selanjutnya

Siapkan struktur foldernya lebih dulu, meski klien Anda baru dua. Memisahkan pengetahuan dua belas klien setelah terlanjur bercampur jauh lebih sulit daripada mulai dengan rapi. [Titik masuk untuk agen](/en/agents) berisi detail koneksi yang Anda perlukan untuk setiap klien.

---
Source: https://shager.ai/id/blog/one-agent-many-clients
