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.

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:
- 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.
- 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.
- Gravar o vídeo. Mostre o fluxo completo: alguém comenta, a automação responde, a mensagem sai.
- Deixar o app acessível para teste. Sem isso, a revisão reprova tudo de uma vez.
- 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.

Deixe um comentário