# Do briefing do cliente ao post publicado: uma semana inteira tocada por um agente, chamada por chamada

_2026-10-13 · Uma semana de cliente no Shager, passo a passo: briefing, mídia, rascunhos por conta, revisão, aprovação do cliente, agendamento, conferência e relatório._

Ir do briefing do cliente aos posts publicados com um agente leva oito etapas: confirmar o acesso e o espaço de trabalho, conferir as contas conectadas, enviar a mídia, planejar, criar rascunhos com legendas por conta, revisar, obter a aprovação do cliente e, por fim, agendar e verificar. O agente faz o trabalho pesado em todas as etapas. Uma pessoa toma três decisões: aprovar o plano, conceder o direito de publicar e, quando o cliente quiser, o aval do próprio cliente por um link de aprovação.

A seguir, uma semana realista de um cliente fictício, com todas as chamadas ao Shager que o agente faz, na ordem. O cliente, Harbor Coffee, tem 14 cafeterias, cada uma com uma Página no Facebook e uma conta profissional no Instagram, além de um canal no YouTube para a marca.

## Segunda de manhã: chega o briefing

O atendimento coloca um briefing na pasta de contexto do cliente: uma nova bebida de outono, lançamento na quinta, 20% de desconto no primeiro fim de semana, um vídeo vertical de 25 segundos e duas fotos hospedadas na CDN do cliente. Só isso. As instruções fixas do agente o proíbem de inventar qualquer coisa que o briefing não diga, então o desconto, a data e o nome do produto são os únicos fatos que ele vai usar.

A sessão começa dentro da pasta do cliente, de modo que o agente carrega as regras da agência e o arquivo de tom de voz da Harbor Coffee, e nada sobre outros clientes. Por que isso importa está explicado em [um agente, muitos clientes](/en/blog/one-agent-many-clients).

## Etapa 1: confirmar quem e onde

```text
whoami            -> organização, assumida ou ambiente de teste, escopos da chave
list_workspaces   -> "Harbor Coffee" (ws_harbor), fuso Europe/London
```

O `whoami` responde a duas perguntas antes de qualquer trabalho: esta organização já foi assumida por uma pessoa, e a chave tem `publish`? Se for um ambiente de teste ainda não assumido, o agente pode enviar mídia e criar rascunhos, mas os pedidos de agendamento e de aprovação vão falhar com um erro claro até que uma pessoa assuma a organização. O processo está descrito em [/auth.md](/auth.md).

## Etapa 2: conferir as contas

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

O agente olha o status de cada canal. Uma conta do Instagram aparece como desconectada. Em vez de seguir com os rascunhos em silêncio, contornando o problema, o agente cria um link de conexão para o gerente daquela cafeteria:

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

O atendimento encaminha o link. O gerente da cafeteria entra no Instagram por ele, sem conta no Shager, e a conta volta a aparecer no `list_channels` no mesmo dia.

## Etapa 3: enviar a mídia

Três chamadas, uma por arquivo. O vídeo leva as dimensões e a duração, para que a validação de Reels e Shorts rode agora, e não na hora de publicar.

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

As duas fotos sobem do mesmo jeito, sem os campos de vídeo.

## Etapa 4: planejar e esperar

Em vez de sair escrevendo, o agente propõe um plano:

| Dia | Post | Formato | Destino |
|---|---|---|---|
| Ter | Foto teaser | FEED | All cafes FB, All cafes IG |
| Qui | Vídeo de lançamento | REEL / SHORT | All cafes FB, All cafes IG, Brand YouTube |
| Sáb | Foto lembrando o desconto | FEED | All cafes FB, All cafes IG |

O atendimento responde "pode seguir" e muda o post de sábado para sexta à tarde. Uma única mensagem, e um plano fraco nunca chega a virar 85 legendas por conta.

## Etapa 5: rascunhos com legenda por conta

Cada post planejado vira uma chamada `create_post` sem `schedule_at`, o que salva um rascunho. O post de lançamento mostra o formato completo:

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

Na chamada real, o `per_channel` tem 29 entradas, cada legenda ancorada na sua cafeteria. Na hora da publicação, cada URL das legendas e dos comentários vira um link curto exclusivo daquela conta, com o `utm_content` identificando a conta; por isso, o agente escreve URLs normais. A arte de variar legendas está em [variação de legendas por conta com IA](/en/blog/caption-variation-per-account-with-ai).

## Etapa 6: revisão em uma passada separada

Uma segunda sessão, com um prompt de revisor e apenas ferramentas de leitura, chama `list_posts` com `status` igual a `DRAFT` e `get_post` em cada um. Ela procura legendas duplicadas, fatos que não estão no briefing, links colocados onde não serão clicáveis e formatos de vídeo em mídia que não é vertical. Desta vez, ela aponta duas legendas do Instagram que dizem "link abaixo", quando o link está na bio. O agente redator corrige criando novos rascunhos, e os antigos ficam fora do agendamento.

## Etapa 7: aprovação do cliente

O espaço de trabalho da Harbor Coffee tem `approval_required` ativado, então nada pode ser agendado até o cliente aprovar. O agente envia cada rascunho para aprovação:

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

A cliente abre o link, revisa o post e aprova sem precisar fazer login. O status do post passa por `IN_REVIEW` até `APPROVED`, ou vai para `CHANGES_REQUESTED`; nesse caso, o agente revisa e reenvia. Como desenhar boas regras de aprovação está em [aprovação humana para posts de agentes](/en/blog/human-approval-for-agent-posts).

## Etapa 8: agendar e verificar

Depois da aprovação, o agendamento roda com uma chave que tem o escopo `publish`. O agente calcula cada horário no fuso do espaço de trabalho, com o offset daquela data:

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

Com 14 contas no Facebook e 14 no Instagram e o escalonamento padrão de 30 a 90 segundos, o envio de cada rede leva cerca de 13 minutos, e as duas redes rodam em paralelo. Na quinta, às 9h15, o agente chama `get_post`. Vinte e oito contas aparecem como publicadas, com URLs no ar. Uma mostra um erro de permissão. O agente informa a conta pelo nome e sugere um novo link de conexão; ele não tenta de novo às cegas.

## Na segunda seguinte: o relatório

A semana fecha com o relatório: `list_posts` para o que saiu, `get_post` para o resultado de cada conta e `get_analytics` para os cliques por conta e por post ao longo da semana, cruzados com os leads do CRM pelo `utm_content`, quando o cliente compartilha esses dados. A configuração completa, inclusive para rodar sem supervisão, está em [o relatório semanal do cliente feito pelo agente](/en/blog/weekly-client-report-by-agent).

## Quem fez o quê

| Etapa | Agente | Pessoa |
|---|---|---|
| Acesso e espaço de trabalho | Confere e informa | |
| Contas | Encontra a conta com problema e cria o link | Encaminha o link |
| Mídia e plano | Envia e propõe | Diz "pode seguir" |
| Rascunhos e revisão | Escreve 85 legendas e revisa | |
| Aprovação | Envia os links | O cliente aprova |
| Agendamento | Calcula os horários e agenda | Concede `publish` uma vez |
| Entrega e relatório | Verifica e relata | Lê o relatório |

## Perguntas frequentes

### Quanto tempo uma semana como essa toma de uma pessoa?

As decisões humanas neste exemplo se resumem a algumas mensagens e uma aprovação. O tempo exato depende do cliente e de quanto vaivém o plano exige. O que muda é o tipo de trabalho: revisar e decidir, em vez de digitar legendas e montar links.

### O agente pode pular a aprovação do cliente em posts de rotina?

Só se o espaço de trabalho não exigir aprovação. O `approval_required` é definido por espaço de trabalho, então um cliente que aprova um plano mensal pode deixá-lo desligado, enquanto um cliente mais cauteloso o mantém ligado. O agente não consegue mudar essa configuração sozinho em um espaço de trabalho que já existe.

### E se o cliente pedir mudanças depois de aprovar?

Se o post ainda não começou a ser publicado, o agente chama `cancel_post`, que o devolve a um rascunho aprovado, cria uma versão corrigida e a envia de novo para aprovação. Depois que a publicação começou, mudanças nas próprias redes são trabalho manual.

## Por onde seguir

Rode essa sequência com um cliente e um grupo pequeno de contas antes de apontá-la para tudo. Se o seu agente ainda não está conectado, a [página de entrada para agentes](/en/agents) explica o servidor MCP, a API REST e o autocadastro.

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