Como automatizar mensagens no Instagram — e por que a automação trava mesmo com o código pronto?

Por que minha automação do Instagram não envia mensagem automática mesmo com o código pronto?

Uma automação pode estar 100% pronta no código e ainda não funcionar, porque a trava não é técnica, é de permissão da plataforma. Construí um agente que lê comentário, responde publicamente e tenta enviar mensagem privada no Instagram. As duas primeiras funcionam; a terceira trava com o erro “Application does not have the capability”: falta a revisão formal da Meta.

Carro roxo novinho parado numa cancela fechada, com um guarda apontando para um carimbo de autorização que falta.
O código pode estar pronto e mesmo assim não passar: a liberação depende da autorização da plataforma.

Isso não é exclusivo do Instagram. É um padrão comum: uma parte da automação pede acesso a algo sensível (mensagem privada, dado financeiro, publicação em nome de outro). A plataforma exige que um humano da empresa dona da API (a porta que um sistema abre para outro conversar com ele) aprove esse acesso antes de liberar, mesmo com o código certo.

O que funcionou de verdade nessa automação?

Duas das três etapas funcionaram sem barreira nenhuma. Ler os comentários de um post (`GET /{media-id}/comments`) funcionou de primeira.

Responder um comentário publicamente (`POST /{comment-id}/replies`) também funcionou. Foi testado ao vivo em comentários reais, e a resposta apareceu publicada normalmente.

O código foi escrito com o Claude Code — a ferramenta da Anthropic que escreve e roda programas a partir de pedidos em português. A parte técnica não foi o gargalo.

Onde exatamente ela travou?

A terceira etapa era enviar uma mensagem privada em resposta ao comentário. O recurso se chama “Private Reply”, via `POST /{ig-id}/messages`. Ele retornou o erro de código 3: “Application does not have the capability”.

O token — a chave digital que prova que o app pode agir pela conta — já tinha as permissões `instagram_manage_messages` e `instagram_manage_comments`. Elas estavam concedidas em nível básico. Isso não bastou.

Por que a Meta bloqueia isso mesmo com o código certo?

Porque enviar mensagem privada em nome de uma conta empresarial é uma permissão de acesso avançado. E acesso avançado exige passar pelo App Review da Meta.

O App Review é a revisão em que a equipe da plataforma analisa o uso pedido. Geralmente pede a descrição do caso de uso e uma gravação de tela mostrando a função funcionando. Segundo a própria Meta, ela testa o app de verdade: se não conseguir acessá-lo para testar, a submissão inteira é recusada.

Uma tentativa de contorno que não funciona: inscrever a página no campo de eventos de mensagem (`subscribed_apps`) direto, sem passar pela revisão. Isso retorna outro erro (código 200). Esse caminho pertence ao Messenger do Facebook, não ao Instagram. São sistemas de permissão diferentes por baixo.

Qual é o problema que quase ninguém conta?

A trava não para na mensagem privada. Ela chega antes, no aviso de comentário novo.

Para responder sozinha, a automação precisa ser avisada de que alguém comentou. Esse aviso automático se chama webhook (um “toca a campainha” que a plataforma manda para o seu sistema quando algo acontece).

A documentação de webhooks do Instagram diz, com todas as letras: “Advanced Access is required to receive comments and live_comments webhook notifications”. Ou seja: sem acesso avançado, o aviso de comentário não chega.

No nosso caso, o sistema estava todo ligado. O teste manual do painel da Meta chegou ao sistema. Mas nenhum comentário real disparou aviso. Cadastrar uma segunda conta como “testadora” do app também não resolveu: o comentário dela não gerou aviso nenhum.

A mesma página traz mais duas exigências. O app precisa estar no modo Live (publicado, e não em desenvolvimento). E a empresa por trás do app precisa ter passado pela verificação de negócio da Meta.

Como resolver isso com IA, passo a passo?

1. O que construir

Um agente de comentários feito com o Claude Code e ligado só à API oficial da Meta para o Instagram. Ele faz as três etapas deste artigo: lê os comentários, responde em público e, depois da revisão da Meta, manda a mensagem privada (“Private Reply”). Ferramenta que imita o aplicativo para escapar da revisão fica de fora: o caminho é o oficial.

A IA escreve o programa; a liberação, quem dá é a Meta. Pelo que as páginas oficiais exigem, a ordem é esta:

  1. Verificar a empresa. A Meta exige verificação de negócio para qualquer app que peça acesso avançado. Confira se o app está no portfólio da empresa verificada. No nosso caso, o app estava num portfólio sem verificação, e esse foi o primeiro passo a corrigir.
  2. Pedir só o que usa. A Meta avisa que pedir permissão desnecessária é um motivo comum de recusa. Para comentário e mensagem, são as duas permissões citadas acima.
  3. Gravar o vídeo. Mostre o fluxo completo: alguém comenta, a automação responde, a mensagem sai.
  4. Deixar o app acessível para teste. Sem isso, a revisão reprova tudo de uma vez.
  5. Colocar o app em Live depois da aprovação, para os avisos começarem a chegar.

2. O pedido pronto para copiar

O pedido que recomendamos colar no Claude Code:

Monte um agente de comentários para o Instagram da minha empresa usando só a API oficial da Meta.
1) Receba o aviso de comentário novo (webhook) e, enquanto ele não chegar, busque os comentários de tempos em tempos.
2) Responda em público com o texto que eu definir, apontando para o link do perfil.
3) Deixe pronta, mas desligada, a mensagem privada (Private Reply), para ligar só depois que o App Review aprovar.
4) Peça só as permissões instagram_manage_comments e instagram_manage_messages.
5) Grave um registro de cada comentário e de cada resposta, para eu usar no vídeo da revisão.
6) Me mostre o que preciso fazer no painel da Meta, como se eu nunca tivesse programado.

3. Como conferir se a IA acertou

Use as provas deste artigo. Ler comentários e responder em público têm que funcionar já no nível básico: a resposta precisa aparecer publicada no post. Se a mensagem privada devolver o erro de código 3, “Application does not have the capability”, o código não está errado. Falta o acesso avançado. E se o teste do painel chegar ao sistema, mas comentário real não, é o mesmo sinal: a trava é de permissão, não de programa.

4. Custo e tempo

O Claude Code entra a partir do plano Pro do Claude: R$ 110 no mensal ou R$ 92 por mês no anual (R$ 1.100 de uma vez), segundo a página oficial de preços vista do Brasil em 02/10/2026; os preços não incluem impostos aplicáveis. O plano gratuito não inclui o Claude Code. O tempo do código não foi o gargalo neste caso. O prazo que manda é o da revisão da Meta, e as páginas citadas não trazem esse número: conte que depende dela.

Quando a revisão ainda não saiu, o que dá para fazer?

A saída foi separar o que já funciona do que depende de terceiro. Publicar a resposta automática no comentário, que já estava liberada, sem prometer, no texto dessa resposta, que uma mensagem privada viria em seguida.

Prometer algo que ainda depende de aprovação externa é o tipo de promessa que o próprio processo pode não cumprir no prazo que a pessoa espera. No lugar, a resposta pública aponta para o link do perfil.

Em paralelo, a revisão formal da permissão pode ser solicitada. Ela não bloqueia o resto da automação enquanto está em análise, só a etapa específica de mensagem privada.

Um agente de resposta automática que já lê e responde comentário sozinho está descrito em como transformar uma tabela de preço em orçamento automático e em como montar um atendente que agenda horário sozinho.

Para quem isso se aplica — e para quem não?

Se aplica bem para quem:

  • está montando o próprio sistema de “comentou, recebeu mensagem” usando a API da Meta direto;
  • já tem o código funcionando nos testes, mas nada acontece com comentário de gente de verdade;
  • quer usar a mesma lógica em outra ação sensível, como publicar em nome de outra conta.

Não se aplica para quem:

  • usa uma ferramenta pronta que já passou pela revisão da Meta. Nesse caso, a ferramenta já tem o acesso avançado, e você só conecta a sua conta;
  • só quer ler comentários e responder em público, com a automação indo buscar os comentários de tempos em tempos (em vez de esperar o aviso). Isso funcionou em nível básico no nosso teste;
  • não tem empresa verificada nem pretende verificar. Sem isso, o acesso avançado não sai.

O que a gente faria no seu lugar?

A gente começaria pela papelada, não pelo código. Antes de escrever uma linha, conferiria se a empresa está verificada e se o app está no portfólio certo.

O motivo é o nosso próprio caso: o código ficou pronto e provado, e mesmo assim nenhum aviso de comentário chegou. A trava estava na permissão, não no programa.

Enquanto a revisão não sai, a gente colocaria no ar só a resposta pública, sem prometer mensagem privada. O que funciona hoje entrega valor hoje. O agente com IA descrito acima já nasce assim: resposta pública ligada e mensagem privada pronta para ligar quando a Meta aprovar.

O que a gente não faria: gastar dias tentando contornar a revisão. Inscrever a página por outro caminho e cadastrar conta testadora foram testados aqui, e nenhum dos dois funcionou.

Em resumo

Código pronto não é o mesmo que automação liberada: quando a ação envolve dado sensível de terceiro — como mensagem privada em nome de uma empresa —, a plataforma dona da API exige revisão humana antes, independente de o código estar certo. A saída não é insistir tentando contornar: é separar o que já funciona hoje do que depende de aprovação externa, e não prometer o que ainda não foi liberado.

Este artigo faz parte do pilar Casos reais — quanto custou, quanto tempo levou e o que quebrou.

Comentários

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *