E-mail Interativo Alimentado por Dados do Salesforce ao Vivo

O Salesforce autentica integrações servidor a servidor com um JWT assinado, não uma senha ou um refresh token que expira silenciosamente. A fonte de dados via API do MailInApp fala esse fluxo nativamente: entre com o certificado e a chave privada de um Connected App, execute uma consulta SOQL, e vincule as linhas retornadas diretamente a um scorecard de KPI ou bloco de gráfico — um resumo de pipeline com números reais e atuais toda vez que é enviado, não uma captura de tela colada em um e-mail.

Assunto

Your pipeline this week

O Salesforce autentica integrações servidor a servidor com um JWT assinado, não uma senha — e a fonte de dados via API do MailInApp fala esse fluxo nativamente. Conecte uma vez, e um scorecard de KPI ou bloco de gráfico podem se vincular diretamente a linhas ao vivo de Opportunity, Account ou Contact, sem refresh token para vigiar e sem CSV para reexportar antes de cada envio.

A maioria dos e-mails de "pipeline semanal" é uma captura de tela de um relatório, desatualizada no momento em que alguém a cola. Vincular um bloco de gráfico diretamente a uma fonte de dados apoiada no Salesforce faz com que o próprio número do bloco venha de uma consulta SOQL real — e um envio recorrente executa essa consulta de novo a cada envio, então o resumo de segunda-feira realmente reflete o pipeline de segunda-feira.

Como a conexão funciona

MailInApp

Assina um JWT com a chave privada do seu Connected App

Endpoint de token do Salesforce

Verifica a assinatura, retorna um token de acesso

API REST do Salesforce

Executa sua consulta SOQL, autenticada por token Bearer

Seu e-mail

Scorecard de KPI e blocos de gráfico vinculados ao vivo às linhas

Cada etapa acontece no servidor a cada envio. Nenhuma senha é enviada, e não há refresh token — um token desatualizado é substituído assinando uma nova asserção.

Este é o mesmo fluxo JWT Bearer que o Salesforce documenta para suas próprias integrações servidor a servidor, conectado aos modos de autenticação OAuth2 já existentes do MailInApp para fontes de dados via API, em vez de uma integração feita sob medida só para o Salesforce.

Configure um Connected App uma única vez

No Salesforce Setup, crie um Connected App, ative as configurações OAuth, e envie um certificado autoassinado em Use digital signatures — o certificado vai para o Salesforce, a chave privada RSA pareada vai para o MailInApp. Defina Permitted Users como Admin approved users are pre-authorized, que é o que torna a troca não interativa: não há tela de consentimento para um script passar. Anote o Consumer Key do Connected App e a URL My Domain da sua organização — ambos entram na conexão no MailInApp.

Aponte para uma consulta SOQL

O Endpoint da fonte de dados é uma URL de consulta REST, e a string de consulta é o próprio dado que você recebe de volta:

SELECT Name, Amount, StageName, CloseDate FROM Opportunity WHERE IsClosed = false

Defina o Data path como records — o Salesforce envolve os resultados da consulta em um array records. Campos de relacionamento como Owner.Email voltam aninhados e são descartados pelo interpretador de linhas do MailInApp, então mantenha a consulta simples; selecione OwnerId em vez disso se precisar de um identificador de proprietário para filtrar ou combinar depois.

Vincule blocos diretamente, não tags de personalização

Adicione a conexão a um projeto pelo painel de Dados do estúdio com uma função collection — a mesma vinculação que um bloco de repetição usa. A partir daí, os blocos de scorecard de KPI, barras, linha e pizza podem se vincular diretamente a ela no próprio Inspetor:

  • Um scorecard de KPI definido como Amount com um agregado Soma se torna um número ao vivo de "pipeline total em aberto".
  • Um gráfico de barras agrupado por StageName, com Amount como sua série (agregado Soma de novo), se torna uma distribuição de pipeline por estágio.

Nenhum dos dois blocos precisa de uma única tag de personalização digitada à mão — a vinculação faz o trabalho, e ambos continuam corretos conforme os negócios mudam de estágio ou fecham.

Envie em um agendamento

Um envio recorrente semanal executa a consulta SOQL de novo e renderiza os dois blocos de novo contra as linhas atuais do Salesforce toda vez que dispara — a mesma estrutura de resumo, números novos toda segunda-feira, sem ninguém reconstruir isso à mão. Um bloco Botão apontado para a URL do Salesforce de cada Opportunity dá a quem lê o resumo uma forma de abrir com um clique o registro por trás de um número que chama a atenção.

Começando

Crie um Connected App do Salesforce com um certificado para o fluxo JWT Bearer, conecte-o na aba Fontes de Dados do MailInApp com seu Consumer Key, nome de usuário de integração e chave privada, aponte o endpoint para uma consulta SOQL com records como data path, depois vincule um scorecard de KPI e um gráfico de barras a ela pelo painel de Dados do estúdio. Veja o guia de integração do Salesforce para a configuração completa campo a campo.

Uma sequência típica de criação e envio

  1. 1

    Crie um Connected App do Salesforce para acesso servidor a servidor

    Ative as configurações OAuth, envie um certificado digital autoassinado, ative o JWT Bearer Flow, e defina Permitted Users como "Admin approved users are pre-authorized" para que nenhum humano precise passar por uma tela de consentimento.

  2. 2

    Conecte o Salesforce como uma fonte de dados via API

    Escolha OAuth2 JWT Bearer na aba Fontes de Dados do MailInApp, depois cole a URL de token, o Consumer Key do Connected App como Emissor, o nome de usuário do usuário de integração como Sujeito, o host de login como Audiência, e a chave privada correspondente.

  3. 3

    Aponte o endpoint para uma consulta SOQL

    O Endpoint é a URL de consulta REST da sua organização e o Data path é "records" — uma consulta como SELECT Name, Amount, StageName, CloseDate FROM Opportunity WHERE IsClosed = false retorna linhas de pipeline ao vivo a cada busca.

  4. 4

    Vincule blocos de KPI e gráfico diretamente a ela

    Adicione uma vinculação com função collection à fonte a partir do painel de Dados do estúdio, depois vincule o Campo de valor de um scorecard de KPI (Soma de Amount) e o Agrupar por de um gráfico de barras (StageName) a ela — sem nenhuma tag de personalização para digitar à mão.

  5. 5

    Envie em um agendamento recorrente

    Um envio recorrente semanal executa a consulta de novo e renderiza os dois blocos de novo contra as linhas atuais do Salesforce toda vez, então o resumo de segunda-feira sempre reflete o pipeline de segunda-feira.

Perguntas frequentes

O token de acesso alguma vez precisa ser renovado manualmente?

Não — o MailInApp assina uma nova asserção JWT e a troca por um novo token de acesso automaticamente sempre que o token em cache está perto de expirar, e de novo se uma chamada voltar como não autorizada. Não há refresh token para gerenciar nesse fluxo; um token desatualizado é simplesmente substituído pela criação de um novo.

Minha senha do Salesforce chega ao MailInApp em algum momento?

Não — o fluxo JWT Bearer autentica com uma asserção assinada verificada contra um certificado, nunca uma troca de nome de usuário/senha. O único segredo que o MailInApp armazena é a metade da chave privada desse par de certificado, mascarada em toda resposta depois que você a salva.

Cada vendedor pode ver só as próprias oportunidades?

Só se a consulta SOQL retornar um campo simples para filtrar — um campo de relacionamento como Owner.Email volta como um objeto aninhado e é descartado, já que o interpretador de linhas do MailInApp não achata valores aninhados. Selecione um identificador simples como OwnerId em vez disso, e filtre um bloco de gráfico vinculado contra um campo correspondente na própria linha de contato do seu público (o filtro de Vincular a dados de um gráfico pode referenciar tags de personalização do destinatário) para fatiar a mesma consulta compartilhada por destinatário.

De qual edição do Salesforce eu preciso?

Qualquer edição com acesso à API REST habilitado — Enterprise, Unlimited, Performance e Developer Edition já incluem isso; Professional e Essentials precisam do complemento de API. O próprio perfil do usuário de integração também precisa ter API Enabled ativado.

Isso funciona contra um sandbox em vez de produção?

Sim — use https://test.salesforce.com como o host da URL de token e como o valor de Audiência, e aponte o Endpoint para a própria URL de My Domain do sandbox em vez da de produção.

Construa isso no estúdio

Comece no plano gratuito — todos os blocos interativos e o motor de fallback completo estão incluídos em todos os planos.