Salesforce Prompt Builder Guia Completo para Criar Experiências de IA com Grounding Flow e ApexSalesforce Prompt Builder Guia Completo para Criar Experiências de IA com Grounding Flow e Apex

A maneira como integramos inteligência artificial no Salesforce mudou de figura nos últimos meses. O Prompt Builder deixou de ser um recurso acessório para se tornar a ponte entre os dados do CRM e as ações inteligentes que o Agentforce executa todos os dias. Quem ainda enxerga a plataforma apenas como um editor de templates está perdendo a oportunidade de construir experiências de IA realmente contextualizadas, com grounding nos próprios registros do Salesforce e execução direta a partir de Flows e componentes customizados.

Neste guia, vamos além da configuração básica. Você vai entender como funciona a arquitetura por trás dos Prompt Templates, como integrar com Flows para ações em lote, como invocar prompts via Apex com controle granular, e como garantir que o Einstein Trust Layer proteja cada resposta gerada. Tudo com exemplos de código reais e um caso de uso completo: um botão de resumo de oportunidade em um clique.

O que é o Salesforce Prompt Builder e por que ele importa agora

O Prompt Builder é o ambiente nativo do Salesforce para criação, teste e gerenciamento de templates de prompts que alimentam recursos de IA generativa na plataforma. Diferente de enviar prompts soltos para um LLM externo, o Prompt Builder permite que você monte prompts estruturados com campos dinâmicos do CRM, registre versões, aplique políticas de segurança e publique templates reutilizáveis em múltiplos contextos desde a geração automática de e-mails até resumos de casos e recomendações de próximos passos para vendedores.

A grande virada aconteceu com o Agentforce. Cada ação que um agente autônomo executa resumir um caso, classificar um lead, gerar uma resposta personalizada, passa por um Prompt Template por baixo dos panos. Dominar o Prompt Builder deixou de ser um diferencial de admin curioso e virou uma competência essencial para qualquer equipe que pretende extrair valor real da IA no Salesforce.

Arquitetura dos Prompt Templates

Antes de abrir o builder e começar a arrastar campos, vale entender como o Salesforce organiza internamente os prompts. Cada Prompt Template é composto por três camadas:

1. Corpo do Prompt (Prompt Body) — o texto do template em si, com placeholders dinâmicos que referenciam campos de objetos do Salesforce. Os placeholders seguem o formato {{{Object.FieldName}}} e são resolvidos no momento da execução com dados reais do registro associado.

2. Grounding Context — a camada que conecta o prompt a dados reais. Quando você define um grounding field, o Salesforce injeta automaticamente o valor do campo no placeholder, garantindo que o LLM receba contexto factual e não apenas instruções genéricas.

3. Configuração de Modelo — cada template aponta para um modelo de IA específico (GPT-4o, Claude, Gemini, etc.) e define parâmetros como temperatura, tokens máximos e comportamento de safety filters. Essa configuração é herdada pelo Einstein Trust Layer quando o prompt é executado dentro da plataforma.

Passo a passo: criando um Prompt Template do zero

Vamos criar um template prático: um resumo automático de oportunidade de vendas que o vendedor pode acionar com um clique.

1. Acesse o Prompt Builder

No Setup, procure por Prompt Builder na barra de busca. Clique em New Prompt Template. Você verá a opção de escolher entre templates baseados em texto livre, fundados em registro (record-grounded) ou conectados a fluxos. Para nosso caso, selecione Flex Template para ter controle total sobre o corpo do prompt.

2. Configure o Grounding

Na seção Object Grounding, selecione o objeto Opportunity. Isso permite que o prompt acesse campos do registro de oportunidade diretamente. Adicione os campos que deseja usar como contexto:

  • Opportunity.Name
  • Opportunity.StageName
  • Opportunity.Amount
  • Opportunity.CloseDate
  • Opportunity.Description
  • Opportunity.NextStep
  • Account.Name (via lookup)
  • Owner.Name (via lookup)

3. Monte o corpo do prompt

No editor de template, escreva o prompt utilizando os placeholders dinâmicos:

Você é um assistente de vendas especializado em gerar resumos executivos de oportunidades.

Analise os dados abaixo e produza um resumo conciso em português do Brasil com:
1. Nome da oportunidade e cliente
2. Valor estimado e estágio atual
3. Próximo passo recomendado
4. Risco ou atenção especial (se houver)

Dados da Oportunidade:
- Nome: {{{Opportunity.Name}}}
- Cliente: {{{Opportunity.Account.Name}}}
- Valor: {{{Opportunity.Amount}}}
- Estágio: {{{Opportunity.StageName}}}
- Data de Fechamento: {{{Opportunity.CloseDate}}}
- Descrição: {{{Opportunity.Description}}}
- Próximo Passo: {{{Opportunity.NextStep}}}
- Proprietário: {{{Opportunity.Owner.Name}}}

Seja direto, profissional e foque no que interessa para uma decisão executiva.

4. Teste o template

Clique em Preview e selecione uma oportunidade real do seu org. O Prompt Builder vai injetar os valores dos campos nos placeholders e mostrar exatamente o que o LLM vai receber. Ajuste o prompt conforme necessário até o resultado ficar satisfatório.

Integrando com Flow para execução em lote

O Prompt Builder brilha quando combinado com o Flow Builder. A integração permite que você execute prompts como parte de processos automatizados — imagine resumir todas as oportunidades de um vendedor ao final do dia, ou gerar e-mails de acompanhamento automaticamente quando uma oportunidade muda de estágio.

Para integrar, abra o Flow Builder e adicione o element Prompt (disponível no Summer ’25 em diante). Selecione o template que você criou e configure o record ID de grounding. O Flow vai executar o prompt e retornar o resultado em uma variável de texto que pode ser usada nos próximos passos — enviar por e-mail, atualizar um campo, postar no Chatter, ou qualquer outra ação.

Exemplo de configuração no Flow:

// No element Prompt do Flow:
- Template: "Resumo de Oportunidade"
- Record Id: {!$Record.Id}  (ID da oportunidade corrente)
- Variável de saída: {!promptResult}

// Próximo element: Update Records
- Objeto: Opportunity
- Filtro: Id = {!$Record.Id}
- Campo: AI_Summary__c = {!promptResult}

Esse padrão permite que o campo AI_Summary__c (um campo de texto longo no objeto Opportunity) seja atualizado automaticamente com o resumo gerado pela IA. O vendedor vê o resultado direto no layout do registro, sem precisar clicar em nada.

Invocando Prompt Templates via Apex

Para cenários que exigem controle programático — validação de resposta, lógica condicional, ou integração com sistemas externos — o Apex oferece a classe ConnectApi.PromptBuilder para invocar templates diretamente.

public class PromptService {

    public static String generateOpportunitySummary(Id opportunityId) {
        // Configuração do request
        ConnectApi.PromptBuilderInput input = new ConnectApi.PromptBuilderInput();
        input.promptTemplateName = 'Resumo_de_Oportunidade';
        input.inputFields = new Map<String, ConnectApi.PromptValueInput>{
            'recordId' => createValueInput(opportunityId)
        };

        // Execução do prompt
        ConnectApi.PromptBuilderOutput output = 
            ConnectApi.PromptBuilder.invokePrompt(input);

        // Tratamento da resposta
        if (output != null && output.generatedText != null) {
            return output.generatedText;
        }
        return 'Não foi possível gerar o resumo.';
    }

    private static ConnectApi.PromptValueInput createValueInput(Object value) {
        ConnectApi.PromptValueInput val = new ConnectApi.PromptValueInput();
        val.value = String.valueOf(value);
        return val;
    }
}

Essa abordagem é especialmente útil quando você quer expor a funcionalidade via uma API customizada, ou quando precisa executar prompts a partir de um trigger ou uma classe de serviço que faz parte de uma integração mais complexa.

Einstein Trust Layer: segurança em cada resposta

Um aspecto que diferencia o Prompt Builder de soluções externas de IA é a integração nativa com o Einstein Trust Layer. Quando um prompt é executado dentro do Salesforce, toda a comunicação com o LLM passa por uma camada de segurança que faz três coisas fundamentais.

A primeira é a anonimização de dados sensíveis. O Trust Layer identifica CPFs, e-mails, telefones e outros PII (Personally Identifiable Information) nos dados de grounding e os substitui por tokens antes de enviar ao modelo. O LLM nunca vê os dados reais do cliente. Depois que a resposta volta, os tokens são revertidos para os valores originais.

A segunda é o audit logging. Cada execução de prompt fica registrada com timestamp, template utilizado, modelo invocado, dados de entrada mascarados e resultado gerado. Isso é fundamental para compliance em setores regulados como saúde, finanças e governo.

A terceira é o toxicity detection. Antes de entregar a resposta ao usuário, o Trust Layer verifica se o conteúdo gerado contém linguagem tóxica, vieses detectáveis ou informações potencialmente prejudiciais. Se encontrar algo suspeito, a resposta é bloqueada ou sinalizada.

Caso de uso completo: botão de resumo em um clique

Vamos juntar tudo o que vimos em um caso de uso real. O objetivo é criar um botão no layout da oportunidade que, ao ser clicado, gera um resumo inteligente e salva no registro.

Componente LWC para o botão:

import { LightningElement, api, wire } from 'lwc';
import { getRecord } from 'lightning/uiRecordApi';
import generateSummary from '@salesforce/apex/PromptService.generateOpportunitySummary';
import { ShowToastEvent } from 'lightning/platformShowToastEvent';

export default class OpportunitySummaryButton extends LightningElement {
    @api recordId;
    isLoading = false;

    async handleClick() {
        this.isLoading = true;
        try {
            const summary = await generateSummary({ 
                opportunityId: this.recordId 
            });
            
            this.dispatchEvent(new ShowToastEvent({
                title: 'Resumo Gerado',
                message: 'O resumo da oportunidade foi atualizado com sucesso.',
                variant: 'success'
            }));

            // Força refresh dos dados do registro
            eval("$A.get('e.force:refreshView').fire();");

        } catch (error) {
            this.dispatchEvent(new ShowToastEvent({
                title: 'Erro',
                message: error.body?.message || 'Falha ao gerar resumo.',
                variant: 'error'
            }));
        } finally {
            this.isLoading = false;
        }
    }

    get buttonLabel() {
        return this.isLoading ? 'Gerando...' : 'Gerar Resumo com IA';
    }

    get buttonVariant() {
        return this.isLoading ? 'neutral' : 'brand';
    }
}

Meta XML do componente:

<?xml version="1.0" encoding="UTF-8"?>
<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
    <apiVersion>63.0</apiVersion>
    <isExposed>true</isExposed>
    <targets>
        <target>lightning__RecordPage</target>
    </targets>
    <targetConfigs>
        <targetConfig targets="lightning__RecordPage">
            <objects>
                <object>Opportunity</object>
            </objects>
        </targetConfig>
    </targetConfigs>
</LightningComponentBundle>

O componente é arrastado para o Lightning Record Page da oportunidade. Quando o vendedor clica no botão, o Apex invoca o Prompt Template via ConnectApi, o Trust Layer faz a anonimização e auditoria, o LLM gera o resumo, e o resultado é salvo no campo AI_Summary__c do registro. Tudo em menos de cinco segundos.

Boas práticas para prompts eficazes no Salesforce

Criar um prompt que funciona em um teste isolado é fácil. Criar um que funciona consistentemente em produção, com dados variados e cenários imprevisíveis, exige disciplina. Algumas práticas fazem diferença real.

Seja específico sobre o formato de saída. Se você quer um JSON, diga isso explicitamente no prompt. Se quer uma lista com bullets, especifique. Quanto mais ambiguidade no prompt, mais variável será a resposta do modelo.

Use o grounding com campos obrigatórios. Se o campo de grounding estiver vazio, o prompt vai enviar “null” ou uma string vazia para o LLM. Valide a completude dos dados antes de executar, ou trate a ausência no próprio prompt com instruções condicionais.

Versione seus templates. O Prompt Builder permite criar múltiplas versões de cada template. Use isso a seu favor: teste mudanças em sandbox antes de promover para produção, e mantenha um registro das alterações em cada versão.

Monitore os custos. Cada execução de prompt consome tokens, e tokens custam dinheiro. Configure métricas de uso no Einstein Trust Layer Dashboard para acompanhar quantas execuções estão sendo feitas, qual o consumo médio de tokens por template, e identificar oportunidades de otimização.

Impacto para equipes de desenvolvimento e negócios

O Prompt Builder muda a dinâmica entre time técnico e time de negócios. Por ser uma ferramenta declarativa, administradores e analistas de processos podem criar e ajustar prompts sem depender de código. O desenvolvedor entra na ponta para cenários mais complexos — integração com Apex, componentes LWC customizados, ou pipelines de CI/CD para templates.

Para empresas que já investem no Agentforce, dominar o Prompt Builder é o próximo passo natural. Cada agent action que usa IA generativa passa por um template. Quem controla os templates, controla a qualidade das respostas do agente, a segurança dos dados processados e o custo operacional da IA.

O mais interessante é a velocidade de iteração. Um prompt que levaria semanas para ser implementado via integração externa com OpenAI ou Anthropic pode ser testado e publicado em minutos dentro do Prompt Builder, com a segurança do Trust Layer e a governança nativa do Salesforce.

Conclusão

O Salesforce Prompt Builder deixou de ser uma curiosidade para se tornar uma ferramenta central na arquitetura de IA da plataforma. A combinação de grounding com dados reais do CRM, execução via Flow e Apex, e a segurança do Einstein Trust Layer cria um ambiente onde desenvolvedores e administradores podem construir experiências de IA confiáveis e escaláveis.

Se você ainda não explorou o Prompt Builder no seu org, agora é o momento. Comece com um template simples — um resumo de registro, uma sugestão de próximo passo, ou uma classificação automática de casos. Teste em sandbox, valide com usuários reais, e expanda conforme a confiança cresce. A IA generativa no Salesforce não é mais o futuro. É a ferramenta do dia a dia, e quem souber usar bem vai ter uma vantagem competitiva difícil de superar.

Deixe um comentário

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