Email interattiva alimentata da dati Salesforce dal vivo

Salesforce autentica le integrazioni server-to-server con un JWT firmato, non una password o un refresh token che scade silenziosamente. La fonte dati API di MailInApp parla nativamente quel flusso: accedi con il certificato e la chiave privata di una Connected App, esegui una query SOQL, e associa le righe restituite direttamente a un blocco scorecard di KPI o grafico — un digest di pipeline con numeri reali e attuali a ogni invio, non uno screenshot incollato in un'email.

Oggetto

Your pipeline this week

Salesforce autentica le integrazioni server-to-server con un JWT firmato, non una password — e la fonte dati API di MailInApp parla nativamente quel flusso. Collegati una volta, e una scorecard di KPI o un blocco grafico possono associarsi direttamente a righe Opportunity, Account, o Contact dal vivo, senza refresh token da sorvegliare e senza CSV da riesportare prima di ogni invio.

La maggior parte delle email "pipeline settimanale" sono uno screenshot di un report, obsoleto nel momento stesso in cui qualcuno lo incolla. Associare un blocco grafico direttamente a una fonte dati alimentata da Salesforce significa che il numero proprio del blocco proviene da una vera query SOQL — e un invio ricorrente riesegue quella query da zero a ogni invio, così il digest del lunedì riflette davvero la pipeline del lunedì.

Come funziona la connessione

MailInApp

Firma un JWT con la chiave privata della tua Connected App

Endpoint token Salesforce

Verifica la firma, restituisce un token di accesso

Salesforce REST API

Esegue la tua query SOQL, autenticata con token Bearer

La tua email

Scorecard di KPI e blocchi grafico associati dal vivo alle righe

Ogni passaggio avviene lato server a ogni invio. Nessuna password viene mai inviata, e non c'è alcun refresh token — un token obsoleto viene sostituito firmando una nuova asserzione.

Questo è lo stesso flusso JWT Bearer che Salesforce documenta per le proprie integrazioni server-to-server, collegato alle modalità di autenticazione OAuth2 esistenti di MailInApp per le fonti dati API invece che un'integrazione su misura solo per Salesforce.

Configura una Connected App una volta

In Salesforce Setup, crea una Connected App, attiva le impostazioni OAuth, e carica un certificato autofirmato sotto Use digital signatures — il certificato va a Salesforce, la chiave privata RSA abbinata va a MailInApp. Imposta Permitted Users su Admin approved users are pre-authorized, che è ciò che rende lo scambio non interattivo: non c'è alcuna schermata di consenso su cui uno script possa cliccare. Prendi nota della Consumer Key della Connected App e dell'URL My Domain della tua org — entrambi vanno nella connessione in MailInApp.

Puntala verso una query SOQL

L'Endpoint della fonte dati è un URL di query REST, e la stringa di query è il dato effettivo che ottieni indietro:

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

Imposta Percorso dati su records — Salesforce racchiude i risultati delle sue query in un array records. I campi di relazione come Owner.Email tornano annidati e vengono scartati dal parser di righe di MailInApp, quindi mantieni la query piatta; seleziona invece OwnerId se ti serve un identificatore del responsabile su cui filtrare o unire in seguito.

Associa i blocchi direttamente, non i tag di personalizzazione

Aggiungi la connessione a un progetto dal pannello Dati dello studio con un ruolo raccolta — lo stesso binding usato da un blocco di ripetizione. Da lì, i blocchi scorecard di KPI, grafico a barre, a linee, e a torta possono associarsi direttamente a essa nel proprio Ispettore:

  • Una scorecard di KPI impostata su Amount con un aggregato Somma diventa una cifra dal vivo di "pipeline aperta totale".
  • Un grafico a barre raggruppato per StageName, con Amount come serie (di nuovo aggregato Somma), diventa una suddivisione della pipeline per fase.

Nessuno dei due blocchi ha bisogno di un solo tag di personalizzazione digitato a mano — è il binding a fare il lavoro, ed entrambi restano corretti man mano che le trattative cambiano fase o si chiudono.

Invialo su una pianificazione

Un invio ricorrente settimanale riesegue la query SOQL e ri-renderizza entrambi i blocchi rispetto alle righe attuali di Salesforce ogni volta che parte — la stessa struttura di digest, numeri freschi ogni lunedì, senza che nessuno lo ricostruisca a mano. Un blocco Pulsante che punta all'URL Salesforce di ogni Opportunity dà a chiunque legga il digest un modo con un clic per aprire il record dietro un numero che attira la sua attenzione.

Per iniziare

Crea una Connected App Salesforce con un certificato per il flusso JWT Bearer, collegala nella scheda Fonti dati di MailInApp con la tua Consumer Key, il nome utente di integrazione, e la chiave privata, punta l'endpoint verso una query SOQL con records come percorso dati, poi associa una scorecard di KPI e un grafico a barre a essa dal pannello Dati dello studio. Vedi la guida all'integrazione Salesforce per la configurazione completa campo per campo.

Una tipica sequenza di creazione e invio

  1. 1

    Crea una Connected App Salesforce per l'accesso server-to-server

    Attiva le impostazioni OAuth, carica un certificato digitale autofirmato, attiva il JWT Bearer Flow, e imposta Permitted Users su "Admin approved users are pre-authorized" così nessuna persona deve cliccare su una schermata di consenso.

  2. 2

    Collega Salesforce come fonte dati API

    Scegli OAuth2 JWT Bearer nella scheda Fonti dati di MailInApp, poi incolla l'URL del token, la Consumer Key della Connected App come Issuer, il nome utente dell'utente di integrazione come Subject, l'host di login come Audience, e la chiave privata corrispondente.

  3. 3

    Punta l'endpoint verso una query SOQL

    L'Endpoint è l'URL di query REST della tua org e il Percorso dati è "records" — una query come SELECT Name, Amount, StageName, CloseDate FROM Opportunity WHERE IsClosed = false restituisce righe di pipeline dal vivo a ogni recupero.

  4. 4

    Associa direttamente i blocchi KPI e grafico

    Aggiungi un binding con ruolo di raccolta alla fonte dal pannello Dati dello studio, poi associa il campo Valore di una scorecard di KPI (Somma di Amount) e il Raggruppa per di un grafico a barre (StageName) — nessun tag di personalizzazione da digitare a mano.

  5. 5

    Invialo su una pianificazione ricorrente

    Un invio ricorrente settimanale riesegue la query e ri-renderizza entrambi i blocchi rispetto alle righe attuali di Salesforce ogni volta, così il digest del lunedì riflette sempre la pipeline del lunedì.

Domande frequenti

Il token di accesso deve mai essere rinnovato a mano?

No — MailInApp firma una nuova asserzione JWT e la scambia automaticamente per un nuovo token di accesso ogni volta che quello memorizzato nella cache sta per scadere, e di nuovo se una chiamata torna mai non autorizzata. Non c'è alcun refresh token da sorvegliare in questo flusso; un token obsoleto viene semplicemente sostituito coniandone uno nuovo.

La mia password Salesforce arriva mai a MailInApp?

No — il flusso JWT Bearer autentica con un'asserzione firmata verificata rispetto a un certificato, mai con uno scambio nome utente/password. L'unico segreto che MailInApp memorizza è la metà chiave privata di quella coppia di certificati, mascherata in ogni risposta dopo che l'hai salvata.

Ogni rappresentante di vendita può vedere solo le proprie trattative?

Solo se la query SOQL restituisce un campo piatto su cui filtrare — un campo di relazione come Owner.Email torna come oggetto annidato e viene scartato, dato che il parser di righe di MailInApp non appiattisce valori annidati. Seleziona invece un identificatore piatto come OwnerId, e filtra un blocco grafico associato rispetto a un campo corrispondente sulla riga di contatto propria del tuo pubblico (il filtro Associa a dati di un grafico può fare riferimento a tag di personalizzazione del destinatario) per suddividere la stessa query condivisa per destinatario.

Di quale edizione Salesforce ho bisogno?

Qualsiasi edizione con accesso REST API abilitato — Enterprise, Unlimited, Performance, e Developer Edition lo includono; Professional ed Essentials hanno bisogno del componente aggiuntivo API. Anche il profilo dell'utente di integrazione deve avere API Enabled attivato.

Questo funziona con un sandbox invece della produzione?

Sì — usa https://test.salesforce.com sia come host dell'URL del token sia come valore Audience, e punta l'Endpoint all'URL My Domain proprio del sandbox invece che a quello di produzione.

Costruiscilo nello studio

Inizia con il piano gratuito — ogni blocco interattivo e il motore di fallback completo sono inclusi in tutti i piani.