# Dal brief del cliente ai post pubblicati: una settimana gestita da un agente, chiamata per chiamata

_2026-10-13 · Un esempio completo di una settimana di un cliente in Shager: brief, media, bozze per account, revisione, approvazione, programmazione, verifiche e report._

Per passare dal brief di un cliente ai post pubblicati con un agente servono otto fasi: verificare l'accesso e l'area di lavoro, controllare gli account collegati, caricare i file multimediali, pianificare, scrivere le bozze con un testo per ogni account, rivedere, ottenere l'approvazione del cliente, infine programmare e verificare. In ogni fase il lavoro di volume lo fa l'agente. Una persona prende tre decisioni: approva il piano, concede il diritto di pubblicare e, se il cliente lo desidera, raccoglie il via libera del cliente stesso tramite un link di approvazione.

Ecco una settimana realistica per un cliente immaginario, con tutte le chiamate a Shager che l'agente esegue, nell'ordine. Il cliente, Harbor Coffee, ha 14 caffetterie, ognuna con una Pagina Facebook e un account professionale Instagram, più un canale YouTube del marchio.

## Lunedì mattina: arriva il brief

L'account manager lascia un brief nella cartella di contesto del cliente: una nuova bevanda autunnale, il lancio giovedì, uno sconto del 20% per il primo weekend, un video verticale di 25 secondi e due foto ospitate sulla CDN del cliente. Nient'altro. Le istruzioni permanenti dell'agente gli vietano di inventare qualsiasi cosa che il brief non dica, quindi lo sconto, la data e il nome del prodotto sono gli unici fatti che userà.

La sessione parte dalla cartella del cliente, così l'agente ha caricato le regole dell'agenzia e il file sul tono di voce di Harbor Coffee, e nulla sugli altri clienti. Il perché è spiegato in [un agente, tanti clienti](/it/blog/one-agent-many-clients).

## Fase 1: chi sono e dove lavoro

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

`whoami` risponde a due domande prima di qualsiasi lavoro: l'organizzazione è stata rivendicata? La chiave ha `publish`? Se si tratta di un ambiente di prova non rivendicato, l'agente può comunque caricare file e scrivere bozze, ma la programmazione e le richieste di approvazione falliranno con un errore chiaro finché una persona non lo rivendica. La procedura di rivendicazione è descritta in [/auth.md](/auth.md).

## Fase 2: controllare gli account

```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"
```

L'agente guarda lo stato di ogni canale. Un account Instagram risulta scollegato. Invece di aggirarlo in silenzio, l'agente crea un link di collegamento per il responsabile di quella caffetteria:

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

L'account manager inoltra il link. Il responsabile della caffetteria accede a Instagram tramite il link, senza un account Shager, e in giornata l'account torna a comparire in `list_channels`.

## Fase 3: caricare i file multimediali

Tre chiamate, una per ogni file. Il video porta con sé dimensioni e durata, così la verifica per Reel e Shorts può avvenire subito invece che al momento della pubblicazione.

```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
  }
}
```

Le due foto vengono caricate allo stesso modo, senza i campi del video.

## Fase 4: pianificare, poi aspettare

Invece di mettersi subito a scrivere, l'agente propone un piano:

| Giorno | Post | Formato | Destinazione |
|---|---|---|---|
| Mar | Foto teaser | FEED | All cafes FB, All cafes IG |
| Gio | Video di lancio | REEL / SHORT | All cafes FB, All cafes IG, Brand YouTube |
| Sab | Foto promemoria dello sconto | FEED | All cafes FB, All cafes IG |

L'account manager risponde «vai» e sposta il post del sabato al venerdì pomeriggio. Un solo messaggio, e un piano debole non si trasforma mai in 85 testi da scrivere account per account.

## Fase 5: bozze con un testo per ogni account

Ogni post pianificato diventa una chiamata `create_post` senza `schedule_at`, che salva una bozza. Il post di lancio mostra la struttura completa:

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

Nella chiamata reale `per_channel` ha 29 voci, ognuna con un testo ancorato a quella caffetteria. Al momento della pubblicazione ogni URL nei testi e nei commenti diventa un link breve unico per quell'account, con `utm_content` che identifica l'account, quindi l'agente scrive URL normali. L'arte di variare i testi è spiegata in [variare i testi per ogni account con l'IA](/it/blog/caption-variation-per-account-with-ai).

## Fase 6: revisione in un passaggio separato

Una seconda sessione, con un prompt da revisore e tool in sola lettura, chiama `list_posts` con `status` impostato su `DRAFT` e `get_post` su ciascun post. Cerca testi duplicati, fatti che non sono nel brief, link messi dove non saranno cliccabili e formati video applicati a file non verticali. Questa volta segnala due testi Instagram che dicono «link qui sotto» quando il link è in bio. L'agente di scrittura li corregge creando nuove bozze corrette, e quelle vecchie restano fuori dalla programmazione.

## Fase 7: approvazione del cliente

Nell'area di lavoro di Harbor Coffee è impostato `approval_required`, quindi non si può programmare nulla finché il cliente non approva. L'agente invia ogni bozza per l'approvazione:

```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
  }
}
```

Il cliente apre il link, controlla il post e lo approva senza dover accedere. Lo stato del post passa da `IN_REVIEW` ad `APPROVED`, oppure a `CHANGES_REQUESTED`: in quel caso l'agente lo rivede e lo invia di nuovo. Come impostare buone regole di approvazione è spiegato in [approvazione umana per i post degli agenti](/it/blog/human-approval-for-agent-posts).

## Fase 8: programmare e verificare

Una volta arrivata l'approvazione, la programmazione avviene con una chiave che ha l'ambito `publish`. L'agente calcola ogni orario nel fuso dell'area di lavoro, con lo scostamento valido in quella data:

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

Con 14 account sia su Facebook sia su Instagram e l'intervallo predefinito tra un invio e l'altro di 30-90 secondi, la tornata di ogni social dura circa 13 minuti, e i due social procedono in parallelo. Giovedì alle 9:15 l'agente chiama `get_post`. Ventotto account risultano pubblicati, con gli URL attivi. Uno mostra un errore di permessi. L'agente segnala l'account per nome e suggerisce un nuovo link di collegamento; non riprova alla cieca.

## Il lunedì successivo: il report

La settimana si chiude con il report: `list_posts` per ciò che è uscito, `get_post` per gli esiti account per account e `get_analytics` per i clic per account e per post nell'arco della settimana, incrociati con i contatti del CRM su `utm_content` quando il cliente li condivide. La configurazione completa, compresa l'esecuzione senza supervisione, è in [il report settimanale per il cliente preparato dall'agente](/it/blog/weekly-client-report-by-agent).

## Chi ha fatto cosa

| Fase | Agente | Persona |
|---|---|---|
| Accesso e area di lavoro | Verifica e riferisce | |
| Account | Trova quello scollegato, crea il link | Inoltra il link |
| File e piano | Carica, propone | Dice «vai» |
| Bozze e revisione | Scrive 85 testi, li rivede | |
| Approvazione | Invia i link | Il cliente approva |
| Programmazione | Calcola gli orari, programma | Concede `publish` una volta |
| Consegna e report | Verifica, riferisce | Legge il report |

## Domande frequenti

### Quanto tempo richiede a una persona una settimana del genere?

In questo esempio le decisioni umane si riducono a qualche messaggio e un'approvazione. Il tempo esatto dipende dal cliente e da quanto avanti e indietro serve sul piano. Quello che cambia è il tipo di lavoro: rivedere e decidere, invece di scrivere testi e costruire link.

### L'agente può saltare l'approvazione del cliente per i post di routine?

Solo se l'area di lavoro non la richiede. `approval_required` si imposta per area di lavoro: un cliente che approva un piano mensile può tenerla disattivata, mentre un cliente prudente la lascia attiva. L'agente non può cambiare da solo questa impostazione per un'area di lavoro esistente.

### E se il cliente chiede modifiche dopo l'approvazione?

Se la pubblicazione del post non è ancora iniziata, l'agente chiama `cancel_post`, che lo riporta a bozza approvata, poi crea una versione corretta e la rimanda in approvazione. Se la pubblicazione è già partita, le modifiche sui social vanno fatte a mano.

## Da dove partire

Prova questa sequenza su un cliente con un piccolo gruppo di account prima di estenderla a tutto. Se il tuo agente non è ancora collegato, la [pagina dedicata agli agenti](/it/agents) spiega il server MCP, l'API REST e la registrazione autonoma.

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