Automação · 10 min de leitura
AGENDA: como o post aprovado sai sozinho
Quando eu aprovo um post, ele já entra na fila com dia e hora e sai no horário, mesmo com o meu computador desligado. Aqui está como montar a sua com o Claude Code, e o jeito sem programar.
Antes de começar
- Tempo
- 10 min
- Você vai precisar
- Claude Code (plano Pro), conta profissional no Instagram, um app no painel de desenvolvedores da Meta, Telegram e uma conta grátis no Cloudflare.
- Custo
- O plano do Claude. O Pro sai a partir de US$ 17 por mês no anual (preço de 27/10/2026) e inclui o Claude Code. O Cloudflare e o Telegram ficam no grátis, e o R2 pode pedir um cartão pra ativar.
Antes de começar, 7 palavras
- Claude Code: o Claude que trabalha dentro do seu computador. Ele escreve o código, roda os testes e pede o seu ok antes.
- API: a porta oficial que o Instagram abre pra um programa publicar na sua conta.
- Token: a chave de acesso que o programa usa pra entrar na sua conta. Trate como senha.
- Worker: um programa pequeno que roda na nuvem do Cloudflare, mesmo com o seu computador desligado.
- Gatilho de horário: o relógio do Worker, que faz ele rodar sozinho a cada 5 minutos. O nome técnico é cron.
- D1: o banco de dados do Cloudflare. É onde mora a fila de posts.
- R2: o armazenamento de arquivos do Cloudflare. É de lá que o Instagram baixa a foto ou o vídeo.
O que a minha agenda faz
Antes, depois de editar, eu ainda abria o Instagram, subia o vídeo, escrevia a legenda e programava dia e hora. Um por um, na mão.
Hoje o caminho é este:
- O Claude me mostra o post pronto, com a legenda exata, e pergunta se está aprovado.
- Quando eu respondo "aprovado", ele sugere o próximo dia livre no ritmo da minha semana. Se eu disser outro dia e hora, tipo "sexta 18h", ele usa o meu.
- Ele sobe a foto ou o vídeo pro R2 e grava o post na fila, no D1.
- A cada 5 minutos, um Worker no Cloudflare confere a fila. Meia hora antes, ele prepara o post no Instagram. No horário, publica.
- Ele me manda o link no Telegram e apaga a mídia do R2, pra ficar nos 10 GB grátis.
Exemplo do aviso que chega no Telegram (dados inventados):
✅ Publicado no @lojaexemplo: Reels "3 erros na vitrine"
https://www.instagram.com/reel/EXEMPLO123/
🗑️ Mídia apagada do R2.A Loja Exemplo, o post e o link são inventados. O formato é o do aviso que eu recebo.
Nada entra na fila sem o meu aprovado. Eu também tenho a opção "aprovar e só salvar", que não agenda nada. E o post com palavra no CTA só sai se o guia daquela palavra estiver no ar no meu site. Se não estiver, o Worker segura o post, me avisa e tenta de novo a cada 5 minutos.
Tem mais duas travas. Ele só publica do horário até 2 horas depois: perdeu essa janela, o post vai pra "falhou" e eu recebo o aviso. E ele não publica o mesmo post duas vezes. Na dúvida, para e me chama.
Eu montei tudo isso com o Claude Code, e está no ar desde 16/10/2026.
Qual caminho é o seu
- Sem programar: você programa cada post no Meta Business Suite, com dia e hora. Ele sai com o computador desligado, porque quem publica é a Meta. Só que cada post é programado na mão.
- Com o Claude Code (o jeito que eu uso): você aprova e o post já entra na fila, no horário sugerido. Dá mais trabalho no começo, por causa do app na Meta e do Cloudflare.
Se você posta pouco, comece sem programar. Se você aprova vários posts por semana, a fila paga o trabalho.
Passo a passo
Esse é o caminho com o Claude Code. São 8 passos, e cada um termina num "pronto quando". Quem quer o jeito sem programar pula pro Meta Business Suite.
1. Crie o app na Meta e gere o token de publicação
- No app do Instagram, confira se a sua conta é profissional (Empresa ou Criador de conteúdo). A API só publica nela.
- No painel de desenvolvedores da Meta, clique em Create App.
- Escolha o caso de uso Other.
- Escolha o tipo Business.
- No produto Instagram, clique em Set up. Ele adiciona a configuração da API com login do Instagram.
- Adicione a sua conta do Instagram.
- Gere o token da sua conta, com a permissão de publicar (
instagram_business_content_publish). - Guarde o token num lugar seguro. Ele não vai pro chat do Claude.
Com o login do Instagram, você não precisa de Página do Facebook. Sobre a análise do app, as páginas da Meta discordam: a visão geral diz que o acesso padrão basta pra quem publica só na própria conta, e a página de criar o app fala em análise antes de usar dados reais. Siga o que o painel pedir.
Pela documentação da Meta, o token dura 60 dias e pode ser renovado depois de 24 horas, enquanto não vencer. O meu foi pelo outro caminho, o login do Facebook, com Página.
Passo da documentação, não testado por mim.
Pronto quando: você tem o token guardado, com a permissão de publicar.
2. Crie o bot do Telegram
- No Telegram, abra o @BotFather e mande
/newbot. - Escolha um nome e um usuário que termine em
bot. - Guarde o token que ele devolve.
- Abra a conversa com o seu bot novo e mande um "oi". Isso libera o bot pra te responder.
Eu uso o mesmo bot do meu vigia. Se você já tem um bot, pode usar o mesmo.
Pronto quando: você tem o token do bot guardado e já mandou o "oi".
3. Crie a conta no Cloudflare e ative o R2
- Crie uma conta grátis no Cloudflare.
- No painel, abra R2 Object Storage e ative.
- Se o painel pedir uma forma de pagamento, cadastre. Ele costuma pedir, mesmo no plano grátis.
O Instagram baixa a mídia de um endereço público, então o R2 precisa de um. Pela documentação do Cloudflare, o endereço de teste dele (r2.dev) tem limite de acesso e é só pra desenvolvimento. Eu uso um subdomínio do meu site, com o domínio no Cloudflare.
Pronto quando: o R2 aparece ativado no painel do Cloudflare.
4. Peça pro Claude Code montar a fila e o Worker
- Crie uma pasta vazia no computador (ex.:
agenda). - Abra o Claude Code nela.
- Cole o prompt abaixo. Antes, troque o que está entre colchetes pelo seu caso.
Quero um publicador de posts do Instagram que roda no Cloudflare, com o meu computador desligado. Não sou programador: me explique cada passo em português simples e peça o meu ok antes de qualquer coisa que dependa de mim.
COMO FUNCIONA
1. Fila de posts num banco D1: tipo (carrossel, Reels ou imagem), data e hora, legenda, mídia e status (pendente, preparando, pronto, publicado, falhou, conferir, cancelado).
2. Mídia no R2, no endereço público [meu subdomínio], só enquanto o post não sai. Depois que o post estiver confirmado, apague a mídia.
3. Um Worker com gatilho de horário a cada 5 minutos, sem endereço público. 30 minutos antes do horário, ele cria o post no Instagram pela API oficial com login do Instagram (Reels por video_url, imagem só em JPEG). No horário, publica.
4. Janela: só publica do horário até 2 horas depois. Se perder a janela, marca "falhou" e me avisa.
5. Não publica o mesmo post duas vezes: antes de publicar, confere se a mesma legenda já está no perfil. Na dúvida, marca "conferir" e me avisa.
6. Me avisa no Telegram com o link do post quando publicar, e com o motivo quando falhar.
7. Na primeira rodada, confere o token e me manda "publicador no ar" com o @ da conta, sem publicar nada.
8. Uma vez por dia, me avisa se o R2 passar de 8 GB e se o token do Instagram vence em até 7 dias.
SCRIPTS NO MEU COMPUTADOR
- enfileirar: sobe a mídia pro R2 e grava o post na fila com dia e hora. Com --ensaio, confere tudo e mostra o que entraria, sem subir nada.
- listar: o que vai sair, o que saiu (com o link) e o que falhou (com o motivo).
- cancelar: tira um post da fila e apaga a mídia.
- sugerir: o próximo dia livre no meu ritmo da semana, pulando dia que já tem post na fila. Meu ritmo: [carrossel seg, qua e sex; Reels ter, qui e sáb; às 12h].
- chat: descobre o número do meu chat com o bot do Telegram (eu já mandei "oi" pra ele).
REGRAS
- Fique no plano grátis do Cloudflare: 10 ms de CPU e 50 chamadas externas por execução. O que não couber numa rodada continua na seguinte.
- Meu fuso é o de [Brasília]. O gatilho do Cloudflare conta em UTC.
- Tokens só como secret do Cloudflare. Eu gravo os valores no meu terminal. Nunca me peça pra colar token aqui no chat.
- Testes com o Instagram, o D1 e o R2 simulados, antes de publicar o Worker.
COMO TRABALHAR
Primeiro me mostre o plano em tarefas curtas e espere o meu ok. Depois faça uma tarefa por vez, com testes.Ele vai te mostrar um plano, esperar o seu ok e fazer uma parte por vez. Quando ele pedir alguma coisa do Cloudflare ou da Meta, ele te diz onde clicar.
Pronto quando: os testes passam e o Claude te mostrou os comandos de enfileirar, listar, cancelar e sugerir.
5. Grave os segredos e publique o Worker
- Peça pro Claude rodar o comando que descobre o número do seu chat com o bot e anote esse número.
- Peça pro Claude Code o comando que grava cada secret no Cloudflare: o token do Instagram, o token do bot e o número do seu chat.
- Copie um valor por vez e rode o comando no seu terminal.
- No Windows, peça um comando que leia direto da área de transferência. Colar com Ctrl+V no terminal já gravou um caractere invisível no meu.
- Dê o ok pro Claude publicar o Worker.
Regra que eu sigo: token nunca passa pelo chat. Ele fica só nos secrets do Cloudflare, o cofre de senhas de lá.
Pronto quando: chega no seu Telegram a mensagem de que o publicador está no ar, com o @ da sua conta.
6. Faça o ensaio e o primeiro post de teste
- Escolha um post de verdade, que você publicaria de qualquer jeito.
- Peça pro Claude rodar o enfileirar com
--ensaio, pra daqui a uma hora. Nada sobe. - Leia o que ele mostra: tipo, dia, hora, legenda e arquivos.
- Peça pra rodar de novo, agora sem o
--ensaio. - Rode o listar e confira se o post aparece como pendente.
- Desligue o computador.
Pronto quando: o post sai no horário e o link chega no seu Telegram.
7. Ligue o aprovado à fila
É aqui que some a parte de programar um por um. No meu, a pergunta final do Claude já vem com o dia sugerido. Se você monta os seus posts no Claude Code, cole o pedido abaixo na pasta onde eles ficam prontos.
Quando um post estiver pronto pra aprovar, faça sempre assim:
1. Me mostre o post inteiro antes de perguntar: as imagens ou o vídeo e a legenda exata.
2. Rode o sugerir e pergunte: "Aprovado, agenda pra [dia e hora sugeridos]?". Dê também as opções "aprovar e só salvar" e "ajustar".
3. Se eu disser "aprovado", rode o enfileirar com --ensaio e depois sem, no horário sugerido.
4. Se eu disser outro dia e hora ("sexta 18h", "amanhã 9h"), use o meu. Sem hora, use [12h].
5. Se eu disser "só salvar", não responder ou pedir ajuste, não agende nada.
6. No fim, me mostre o dia por extenso e o resultado do enfileirar.
Guarde isso como regra fixa desta pasta, no CLAUDE.md.O CLAUDE.md é o arquivo de instruções que o Claude Code lê toda vez que abre a pasta. Eu uso o Opensquad pra organizar os meus posts em etapas, e esse pedido funciona no Claude Code puro.
Pronto quando: você responde "aprovado" e o Claude mostra o post na fila, com o dia e a hora por extenso.
8. Opcional: segure o post que depende de uma página
Se o seu post manda a pessoa pra uma página (um guia, uma oferta, uma inscrição), peça mais esta regra:
Antes de publicar um post que tem página, confira se [endereço da página] abre.
Se não abrir, não publique: me avise no Telegram e tente de novo a cada 5 minutos, até o fim da janela.
Mostre o endereço da página no listar, ao lado do post.É a trava que eu uso pra palavra do CTA: o post só sai com o guia dela no ar.
Pronto quando: o listar mostra o endereço da página ao lado do post.
Sem programar: o Meta Business Suite
1. Programe o post no Meta Business Suite
- No computador, abra o Meta Business Suite.
- Clique em Criar post.
- Em Postar em, escolha o seu perfil do Instagram.
- Em Mídia, adicione as fotos. Nessa tela, o limite é de 10 fotos por post do Instagram.
- Em Detalhes do post, escreva a legenda.
- Em Opções de programação, escolha a data e a hora.
- Clique em Programar.
Pela ajuda da Meta, você precisa de controle total ou de permissão de conteúdo na conta do Instagram. A diferença pro meu: cada post é programado na mão, e ninguém segura o post se a sua página estiver fora do ar.
Passo da documentação, não testado por mim.
Pronto quando: o post aparece em Conteúdo › Posts e reels, na aba Programado.
Perguntas e limites
Preciso saber programar?
Não. No Meta Business Suite você não escreve código. No caminho com o Claude Code, quem escreve e testa é ele, e você aprova cada passo. O que dá mais trabalho é o app na Meta.
A IA posta sozinha?
Não. Nada entra na fila sem o seu "aprovado", e o Worker só publica o que está na fila, no horário que você aprovou. "Só salvar" não agenda nada. Se você mudar de ideia, o cancelar tira o post da fila.
E se der erro ou o computador estiver desligado?
Desligado não muda nada: quem publica é o Worker, na nuvem. Se der erro, o aviso chega no Telegram com o motivo. Se passar das 2 horas da janela, o post vai pra "falhou" e a mídia fica no R2 pra você tentar de novo.
Quanto custa e quanto aguenta o grátis?
Pela página de limites, o Worker grátis aguenta 100 mil requisições por dia, e o meu usa 288. O D1 grátis tem 5 GB e o R2, 10 GB. Acima dos 10 GB, o R2 cobra US$ 0,015 por GB por mês (preço do R2), e por isso o meu apaga a mídia e me avisa nos 8 GB. O Claude Code pede o plano Pro (preços do Claude).
Quantos posts por dia a API publica?
A Meta limita os posts publicados pela API em 24 horas, e o carrossel conta como um. A própria página dá 100 num trecho e 50 em outro. Eu publico poucos posts por dia, bem longe dos dois números.
O que eu não testei
- Criar o app na Meta pelo login do Instagram. O meu é do login do Facebook, com Página.
- Se o app pelo login do Instagram publica na sua conta sem passar pela análise da Meta.
- Programar post no Meta Business Suite.
- O endereço de teste do R2 (r2.dev) com o Instagram baixando o vídeo. Eu uso domínio próprio.
- Renovar o token sozinho. Eu renovo na mão, com o aviso de 7 dias.
Conferido em 27/10/2026 · Ver no @luansantosv