Recentemente, comecei a estudar Salesforce e passei a acompanhar o canal Putz! Force, que fala bastante sobre esse universo. Entrei em contato com um dos integrantes do canal, o Donha, e ele me sugeriu um desafio prático: integrar um chatbot no Salesforce Einstein Bot com a API do ViaCEP para obter um endereço a partir de um CEP informado pelo usuário.
A ideia parecia simples no início:
- O bot perguntaria ao usuário qual é o CEP.
- Ele faria uma chamada para a API ViaCEP.
- Retornaria o endereço formatado para o usuário.
Mas, como todo desenvolvedor sabe, um projeto nunca é tão simples quanto parece!

Tentando a Integração com Apex Action
O primeiro passo foi tentar fazer a integração via Apex Action, criando uma classe Apex que faria a requisição HTTP para o ViaCEP e retornaria os dados.
Aqui está um resumo do processo:
> Criamos uma classe Apex com um método @InvocableMethod
para ser chamado pelo bot.
> Configuramos as variáveis de entrada e saída.
> Adicionamos o endpoint do ViaCEP em Remote Site Settings no Salesforce.
Aparentemente, tudo certo. Mas o bot não funcionava.
Criando um Flow para Facilitar a Integração
Depois de algumas tentativas frustradas, decidi criar um Flow no Salesforce para realizar a chamada à Apex Action e manipular os dados antes de enviá-los ao bot.
Essa abordagem trouxe benefícios:
> Maior controle sobre os dados retornados pela API.
> Facilidade para formatar a resposta antes de enviar ao bot.
> Debug mais fácil dentro do próprio Flow Builder.
No entanto… o bot ainda não funcionava.

Descobrindo o Problema: O Erro “Sensitive Data Not Available”
Depois de horas revisando logs, debugando e testando, percebi um erro que aparecia constantemente:
"Sensitive data not available"
O bot estava rodando com um usuário padrão que não tinha permissão para acessar o Flow e nem para executar chamadas externas.
Bastou trocar o usuário do bot para minha conta e… tudo funcionou perfeitamente!

Conclusão e Aprendizados
Essa integração me ensinou muitas coisas, mas algumas lições se destacam:
- O erro pode estar nos detalhes – Sempre verifique as permissões e configurações do usuário do bot.
- Usar Flow pode facilitar a integração – Em alguns casos, é mais fácil do que trabalhar direto com Apex Action.
- Salesforce tem várias camadas de segurança – Remote Site Settings, Permissões de Usuário, e Debug Mode são essenciais para diagnosticar problemas.
Agora, com a integração funcionando, posso melhorar a configuração, testar diferentes abordagens e otimizar o fluxo de conversa do chatbot.
Se você também estiver tentando integrar APIs externas no Einstein Bot, espero que esse post tenha te ajudado! Se tiver dúvidas ou sugestões, entre em contato.
Quer ver o código completo do Apex?
A implementação completa do ViaCepService.apxc está disponível no meu GitHub.
Acesse aqui: https://github.com/DevBito/Salesforce_chatbot_with_ViaCEP
Caso tenha dúvidas ou sugestões, fique à vontade para abrir uma issue!