Correo interactivo impulsado por datos en vivo de Salesforce

Salesforce autentica las integraciones servidor-a-servidor con un JWT firmado, no con una contraseña ni con un token de actualización que vence en silencio. La fuente de datos por API de MailInApp habla ese flujo de forma nativa: inicia sesión con el certificado y la clave privada de un Connected App, ejecuta una consulta SOQL, y vincula las filas devueltas directamente a una tarjeta de indicador clave o a un bloque de gráfico — un resumen de pipeline con cifras reales y actuales cada vez que se envía, no una captura de pantalla pegada en un correo.

Asunto

Your pipeline this week

Salesforce autentica las integraciones servidor-a-servidor con un JWT firmado, no con una contraseña — y la fuente de datos por API de MailInApp habla ese flujo de forma nativa. Conéctate una vez, y una tarjeta de indicador clave o un bloque de gráfico pueden vincularse directamente a filas en vivo de Opportunity, Account o Contact, sin token de actualización que vigilar y sin CSV que volver a exportar antes de cada envío.

La mayoría de los correos de «pipeline semanal» son una captura de pantalla de un informe, desactualizada en el momento en que alguien la pega. Vincular un bloque de gráfico directamente a una fuente de datos respaldada por Salesforce hace que el propio número del bloque provenga de una consulta SOQL real — y un envío recurrente vuelve a ejecutar esa consulta en cada envío, así que el resumen del lunes realmente refleja el pipeline del lunes.

Cómo funciona la conexión

MailInApp

Firma un JWT con la clave privada de tu Connected App

Endpoint de token de Salesforce

Verifica la firma y devuelve un token de acceso

API REST de Salesforce

Ejecuta tu consulta SOQL, autenticada con token Bearer

Tu correo

Tarjeta de indicador clave y bloques de gráfico vinculados en vivo a las filas

Cada paso ocurre del lado del servidor en cada envío. Nunca se envía una contraseña, y no hay token de actualización — un token vencido se reemplaza firmando una nueva afirmación.

Este es el mismo flujo de JWT Bearer que Salesforce documenta para sus propias integraciones servidor-a-servidor, integrado en los modos de autenticación OAuth2 ya existentes de MailInApp para fuentes de datos por API, en lugar de una integración específica para Salesforce hecha a medida.

Configura un Connected App una sola vez

En Salesforce Setup, crea un Connected App, activa OAuth settings, y sube un certificado autofirmado bajo Use digital signatures — el certificado va a Salesforce, y la clave privada RSA emparejada va a MailInApp. Configura Permitted Users en Admin approved users are pre-authorized, que es lo que hace que el intercambio sea no interactivo: no hay pantalla de consentimiento que un script deba pasar. Anota la Consumer Key del Connected App y la URL de My Domain de tu org — ambas van a la conexión en MailInApp.

Apúntalo a una consulta SOQL

El Endpoint de la fuente de datos es una URL de consulta REST, y la cadena de consulta es el dato real que recibes de vuelta:

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

Configura la Ruta de datos como records — Salesforce envuelve los resultados de su consulta en un arreglo records. Los campos de relación como Owner.Email regresan anidados y el analizador de filas de MailInApp los descarta, así que mantén la consulta plana; selecciona OwnerId en su lugar si necesitas un identificador de propietario para filtrar o combinar más adelante.

Vincula bloques directamente, no etiquetas de combinación

Añade la conexión a un proyecto desde el panel de Datos del estudio con un rol de colección — el mismo enlace que usa un bloque de repetición. Desde ahí, los bloques de tarjeta de indicador clave, barras, líneas y circular pueden vincularse directamente a ella desde su propio Inspector:

  • Una tarjeta de indicador clave configurada en Amount con un agregado Suma se convierte en una cifra en vivo de «pipeline abierto total».
  • Un gráfico de barras agrupado por StageName, con Amount como su serie (agregado Suma de nuevo), se convierte en un desglose de pipeline por etapa.

Ninguno de los dos bloques necesita una sola etiqueta de combinación escrita a mano — el enlace hace el trabajo, y ambos se mantienen correctos a medida que los tratos cambian de etapa o se cierran.

Envíalo con una programación

Un envío recurrente semanal vuelve a ejecutar la consulta SOQL y vuelve a renderizar ambos bloques contra las filas actuales de Salesforce cada vez que se dispara — la misma estructura de resumen, cifras nuevas cada lunes, sin que nadie lo reconstruya a mano. Un bloque de Botón apuntado a la URL de Salesforce de cada Opportunity le da a cualquiera que lea el resumen una forma de abrir con un clic el registro detrás de un número que le llama la atención.

Primeros pasos

Crea un Connected App de Salesforce con un certificado para el flujo JWT Bearer, conéctalo en la pestaña de Fuentes de datos de MailInApp con tu Consumer Key, el nombre de usuario de integración y la clave privada, apunta el endpoint a una consulta SOQL con records como ruta de datos, y luego vincula una tarjeta de indicador clave y un gráfico de barras a ella desde el panel de Datos del estudio. Consulta la guía de integración con Salesforce para la configuración completa campo por campo.

Una secuencia típica de creación y envío

  1. 1

    Crea un Connected App de Salesforce para acceso servidor-a-servidor

    Activa OAuth settings, sube un certificado digital autofirmado, activa el JWT Bearer Flow, y configura Permitted Users en "Admin approved users are pre-authorized" para que ningún humano tenga que pasar por una pantalla de consentimiento.

  2. 2

    Conecta Salesforce como una fuente de datos por API

    Elige OAuth2 JWT Bearer en la pestaña de Fuentes de datos de MailInApp, y luego pega la URL de token, la Consumer Key del Connected App como Emisor, el nombre de usuario del usuario de integración como Sujeto, el host de inicio de sesión como Audiencia, y la clave privada correspondiente.

  3. 3

    Apunta el endpoint a una consulta SOQL

    El Endpoint es la URL de consulta REST de tu org y la Ruta de datos es "records" — una consulta como SELECT Name, Amount, StageName, CloseDate FROM Opportunity WHERE IsClosed = false devuelve filas de pipeline en vivo en cada obtención.

  4. 4

    Vincula los bloques de indicador clave y de gráfico directamente a ella

    Añade un enlace de rol de colección a la fuente desde el panel de Datos del estudio, y luego vincula el campo Value de una tarjeta de indicador clave (Suma de Amount) y el Group by de un gráfico de barras (StageName) — sin etiquetas de combinación que escribir a mano.

  5. 5

    Envíalo con una programación recurrente

    Un envío recurrente semanal vuelve a ejecutar la consulta y vuelve a renderizar ambos bloques contra las filas actuales de Salesforce cada vez, así que el resumen del lunes siempre refleja el pipeline del lunes.

Preguntas frecuentes

¿El token de acceso alguna vez necesita renovarse a mano?

No — MailInApp firma una nueva afirmación JWT y la intercambia automáticamente por un nuevo token de acceso cada vez que el token en caché está cerca de expirar, y de nuevo si alguna llamada regresa como no autorizada. No hay token de actualización que vigilar en este flujo; un token vencido simplemente se reemplaza acuñando uno nuevo.

¿Mi contraseña de Salesforce llega alguna vez a MailInApp?

No — el flujo JWT Bearer autentica con una afirmación firmada verificada contra un certificado, nunca con un intercambio de usuario/contraseña. El único secreto que MailInApp almacena es la mitad de clave privada de ese par de certificado, enmascarada en cada respuesta después de guardarla.

¿Puede cada representante de ventas ver solo sus propias oportunidades?

Solo si la consulta SOQL devuelve un campo plano por el cual filtrar — un campo de relación como Owner.Email regresa como un objeto anidado y se descarta, ya que el analizador de filas de MailInApp no aplana valores anidados. Selecciona en su lugar un identificador plano como OwnerId, y filtra un bloque de gráfico vinculado contra un campo coincidente en la propia fila de contacto de tu audiencia (el filtro Bind to data de un gráfico puede referenciar etiquetas de combinación del destinatario) para segmentar la misma consulta compartida por destinatario.

¿Qué edición de Salesforce necesito?

Cualquier edición con acceso a la API REST habilitado — Enterprise, Unlimited, Performance y Developer Edition la incluyen; Professional y Essentials necesitan el complemento de API. El propio perfil del usuario de integración también necesita tener activado API Enabled.

¿Esto funciona contra un sandbox en lugar de producción?

Sí — usa https://test.salesforce.com tanto como host de la URL de token como valor de Audiencia, y apunta el Endpoint a la propia URL de My Domain del sandbox en lugar de la de producción.

Crea esto en el estudio

Empieza con el plan gratuito: todos los bloques interactivos y el motor de alternativas completo están incluidos en cada plan.