Canal de correo — Saliente
Cómo funciona el correo saliente
El correo saliente se entrega mediante la herramienta de acción integrada send_email. Cuando el agente decide enviar un mensaje, la plataforma:
- Valida que el destinatario, el asunto y el cuerpo estén presentes
- Busca la dirección de correo del destinatario en los registros de Contacto y Candidato y vincula el registro coincidente al correo para que aparezca en el historial de actividades
- Agrega la firma de Salesforce estándar del usuario que ejecuta el agente cuando hay una configurada, o crea una firma alternativa con el nombre, el rol y el correo del usuario
- Enruta el envío a través de la dirección de correo para toda la organización, si hay una disponible
- Establece el registro relacionado (cuando se proporciona) para que el correo quede registrado en el historial de actividades de ese registro
- De forma opcional, vincula el correo a una o más Acciones programadas pendientes con seguimiento de respuestas, de modo que una respuesta del destinatario reanude automáticamente la conversación
- Guarda el correo como una Actividad
Hay dos modos de entrega disponibles. El agente puede enviar el correo ahora usando send_email directamente, o puede diferir el correo llamando a schedule_action con una marca de tiempo futura o un disparador de respuesta. Ambos modos usan el mismo envío subyacente.
Enviar ahora: la herramienta send_email
Asigna la herramienta integrada send_email a cualquier agente que necesite enviar correo. El agente proporciona:
| Parámetro | Obligatorio | Propósito |
|---|---|---|
to | Sí | Dirección de correo del destinatario. |
subject | Sí | Asunto del correo. |
body | Sí | Cuerpo en texto sin formato. |
related_to_id | Opcional | El registro al que se refiere este correo — queda registrado en el historial de actividades del registro mediante el mecanismo «relacionado con» de Salesforce. |
group_key | Opcional | Vincula este correo saliente a una o más acciones programadas con seguimiento de respuestas. Consulta Gestión de respuestas de correo. |
from_address | Opcional | Envía desde una dirección de correo para toda la organización concreta, en lugar del enrutamiento predeterminado. |
reply_to | Opcional | A dónde deben ir las respuestas, cuando difiere de la dirección de envío. |
sender_display_name | Opcional | El nombre que ve el destinatario en su bandeja de entrada, en lugar del nombre de remitente predeterminado. |
field_values | Opcional | Valores de campo adicionales que se aplican al registro de Mensaje de correo que deja constancia del envío: útil cuando tu organización rastrea campos personalizados en la actividad de correo. |
Como send_email es una herramienta de acción, un agente en una interfaz interactiva muestra una tarjeta de confirmación con el borrador completo antes de enviar — el usuario revisa el destinatario, el asunto y el cuerpo, y hace clic en Enviar. En canales no interactivos (correo entrante, impulsados por flujos, integraciones de mensajería) donde una tarjeta de confirmación no tiene dónde mostrarse, configura el agente con Ejecutar acciones automáticamente para que el envío ocurra de inmediato. Consulta Confirmación de acciones para conocer el flujo completo.
Programar para más tarde: schedule_action
Para seguimientos, recordatorios y mensajes disparados por respuestas, el agente usa la herramienta integrada schedule_action con action_type establecido en Email. La acción almacena la carga útil del correo en un registro de Acción programada y un trabajo programado lo envía en el momento indicado.
La programación admite tres estilos de disparador:
- Hora absoluta — enviar en una marca de tiempo ISO-8601.
- Desfase relativo — enviar N minutos/horas/días a partir de ahora.
- Disparado por respuesta — enviar cuando (y solo si) el destinatario responde a un correo saliente anterior con seguimiento a través del mismo
group_key.
Consulta Acciones programadas para conocer el modelo de ejecución completo y su observabilidad.
Qué recibe el destinatario
La plataforma compone el correo saliente para que se vea y se comporte como un correo de un usuario real de Salesforce, no de un sistema impersonal:
- De — el usuario que ejecuta el agente, o una dirección de correo para toda la organización si hay una configurada (ver más abajo).
- Firma — la firma de Salesforce configurada del usuario que ejecuta el agente, si la tiene; de lo contrario, una creada con el nombre, el rol y el correo.
- Para — la dirección que eligió el agente. Cuando esa dirección se resuelve en un único Contacto o Candidato, el correo se asocia con ese destinatario para el seguimiento de actividades.
- Historial de actividades — el correo se guarda como una Actividad de Salesforce, adjunta al destinatario y al registro relacionado cuando se proporcionó uno.
- Marca — cuando el agente remitente tiene un registro de Marca activo vinculado, el correo se entrega como HTML con marca (logotipo, colores, encabezado y pie de página) con la firma encima de tu pie de página, además de una parte en texto sin formato. Sin una marca vinculada, permanece en texto sin formato, exactamente como se describe aquí.
Configurar la dirección para toda la organización
De forma predeterminada, el correo se envía desde la dirección del usuario que ejecuta el agente. Para presentar una única dirección De acorde con tu marca, sin importar quién ejecute el agente, configura una dirección de correo para toda la organización:
-
Direcciones para toda la organización › Nueva
Ingresa el nombre visible y la dirección deseados (por ejemplo, “Acme Customer Care” <hello@acme.com>).
-
Verifica la dirección
Salesforce envía un correo de verificación a esa dirección. Haz clic en el enlace para confirmar.
-
Permite todos los perfiles
Marca la dirección para toda la organización como disponible para todos los perfiles. La plataforma elige una dirección para toda la organización que tenga este indicador activado al enviar.
Con una dirección para toda la organización marcada como «Permitir todos los perfiles», cada correo saliente que envíe el agente usará esa dirección De sin importar qué usuario esté ejecutando el agente.
Elegir el remitente y la dirección de respuesta
Las instrucciones de un agente pueden indicar desde qué identidad debe enviarse un correo concreto y adónde deben ir las respuestas. Resulta útil cuando un mismo agente envía en nombre de varios equipos — una consulta de facturación respondida desde facturacion@, una consulta de alquiler desde alquileres@ — sin necesidad de crear un agente distinto para cada caso.
| Qué define | Qué debes saber |
|---|---|
| La dirección de envío | Debe coincidir con una dirección para toda la organización existente y verificada cuyo acceso por perfil incluya a los usuarios con los que se ejecuta el agente. La coincidencia se hace por la propia dirección. |
| El nombre visible | El nombre que ve el destinatario. Se usa cuando no se aplica ninguna dirección para toda la organización, ya que estas llevan su propio nombre visible. |
| La dirección de respuesta | Adónde se dirige una respuesta. Es la que cierra el círculo: apúntala a una dirección conectada al enrutamiento entrante y la respuesta volverá a la conversación. Consulta Gestión de respuestas de correo. |
Estos valores se definen mediante las instrucciones del agente y no en una página de configuración, que es precisamente lo que le permite elegir la identidad adecuada en cada correo en lugar de usar un remitente fijo para todo. Describe en las instrucciones qué identidad corresponde a cada tipo de mensaje.
Qué ocurre cuando algo no coincide
El correo nunca se descarta porque una dirección sea incorrecta: que un agente se quede en silencio por una errata sería peor que un correo que llega desde el remitente predeterminado.
- Si la dirección de envío solicitada no se puede asociar a una dirección para toda la organización verificada, el correo se envía igualmente con el remitente predeterminado y la discrepancia queda registrada.
- Si la dirección de respuesta no es una que pueda devolver la respuesta a una conversación, se aplica tal como se pidió y queda registrada, de modo que un circuito roto se puede detectar en lugar de perder las respuestas en silencio.
Ambos casos quedan visibles después, así que un remitente que no se comporta como esperabas se puede rastrear en lugar de adivinar.
Estampar tus propios campos en el correo
Cada correo que envía un agente crea un registro EmailMessage. Si has añadido campos personalizados a ese objeto —una categoría de contacto, un código de campaña, un indicador de nivel de servicio—, el agente puede rellenarlos al enviar, de modo que el correo queda clasificado en el momento en que sale y no en una limpieza posterior. Esto lo gobiernan las instrucciones del agente, no un ajuste: indícale qué campo debe establecer y con qué valor, y los envía junto con el correo.
Solo pueden establecerse así los campos personalizados (los que terminan en __c). Los campos estándar como el asunto, el estado o la dirección de envío pertenecen al propio envío: permitir que un agente los reescriba corrompería el registro de lo que realmente se envió. Los nombres de campo se comprueban primero contra el esquema de tu organización, lo que no se reconoce se omite en lugar de adivinarse, y un campo que no puede escribirse nunca te cuesta el correo: el envío se realiza igualmente y se informa al agente de qué campos se establecieron y cuáles se omitieron. Los detalles completos de las entradas están en la Referencia de herramientas nativas.
Resolución del destinatario e historial de actividades
Cuando el agente envía a una dirección de correo que coincide con un único Contacto o Candidato en la organización, la plataforma establece ese registro como destinatario del correo en el EmailMessage subyacente — produciendo un registro de historial de actividades limpio en el contacto y en cualquier registro relacionado que se haya pasado mediante related_to_id.
Si la dirección coincide con más de un registro o con ninguno, el correo se envía igual, pero no se vincula a un registro de destinatario. Combina el agente con la herramienta integrada soql_query para que pueda buscar el Contacto correcto antes de enviar; esto mejora drásticamente la higiene de las actividades.
Seguimiento de respuestas con claves de grupo
REDA AI admite un patrón sencillo para «enviar un seguimiento si el destinatario no ha respondido en X días» o «realizar esta acción cuando responda». El agente:
-
Envía el correo inicial con un
group_keyEl
group_keyes una cadena arbitraria — normalmente el Id de la conversación o un Id de registro — que agrupa todo lo relacionado con este hilo. -
Programa una acción con seguimiento de respuestas con el mismo
group_keyPor ejemplo: “Si el destinatario responde, ejecuta la siguiente acción; de lo contrario, no hagas nada.”
-
El correo se vincula a la acción
Cuando
send_emailse realiza correctamente, la plataforma encuentra las Acciones programadas pendientes con seguimiento de respuestas del mismo grupo y les estampa el Id y el asunto del EmailMessage saliente. -
La respuesta activa la acción
Consulta Gestión de respuestas de correo para el lado entrante — el flujo activado por registro en EmailMessage que se ejecuta cuando la respuesta del destinatario vuelve a Salesforce.
La función de seguimiento de respuestas requiere la infraestructura de correo estándar de Salesforce (normalmente Email-to-Case u otra configuración que capture las respuestas como registros EmailMessage). La plataforma usa SOQL dinámico para que el paquete compile sin problemas incluso en organizaciones que no la tienen habilitada.
Seguimiento, límites y gobernanza
- Se aplican los límites de correo estándar de Salesforce. Los topes diarios de correo masivo, la configuración de entregabilidad y la gestión de rebotes las controla Salesforce, no REDA AI.
- La seguridad a nivel de campo se aplica a la búsqueda del destinatario. La búsqueda de Contacto/Candidato se ejecuta en modo de usuario; si el usuario que ejecuta el agente no puede ver los Contactos, la resolución falla de forma silenciosa y el correo se envía sin un destinatario vinculado.
- Rastro de auditoría. Cada envío se captura como un EmailMessage y una Actividad de la manera estándar de Salesforce, además de en los registros de Conversación y Mensaje de la ejecución del agente.
- Confirmación de acciones. El comportamiento predeterminado es mostrar una tarjeta de confirmación. La ejecución automática está disponible para canales no interactivos.
- Los errores no desaparecen en silencio. Un envío fallido devuelve al agente un error estructurado con el mensaje subyacente para que el agente pueda reintentar, preguntar al usuario o informar la falla.
Prácticas recomendadas
Resuelve el destinatario de antemano. Haz que el agente ejecute una consulta SOQL para el Contacto o Candidato coincidente antes de redactar el correo. El historial de actividades queda mucho más limpio cuando el correo se vincula correctamente a un registro.
Establece siempre related_to_id cuando haya un contexto de registro. Si el agente está en una página de Oportunidad o procesando un Caso, pasa el Id de ese registro como related_to_id para que el correo aparezca en su historial de actividades.
Usa group_key cuando también programes seguimientos. El seguimiento de respuestas y los seguimientos con temporizador dependen de un group_key compartido. El Id de la conversación suele ser un buen valor predeterminado.
Configura una dirección para toda la organización en producción. Enviar desde la dirección personal del usuario que ejecuta el agente está bien en un sandbox; en producción, una dirección para toda la organización verificada mantiene la marca uniforme y reduce las sorpresas de entregabilidad.
Sé deliberado con la ejecución automática. Una tarjeta de confirmación es una red de seguridad importante en los canales interactivos. Desactívala solo en los canales donde no puede mostrarse — correo de recepción de documentos, integraciones de mensajería, ejecuciones en segundo plano impulsadas por flujos.
Restringe al remitente en agentes autónomos. Cuando un agente envía correo sin revisión humana, fija el prompt de la persona a un tono y una plantilla específicos, y considera una herramienta de salida personalizada más estricta que limite lo que el agente puede escribir.
Acciones de correo, registros y programación
El correo distingue al destinatario Contacto o Prospecto del registro de negocio relacionado, admite listas Para/CC y comprueba los casos de exclusión de correo compatibles. Los Contactos/Prospectos enviados como registros relacionados se tratan como destinatarios. Las confirmaciones de registros muestran campos no aplicados. Los pasos del plan se concilian uno a uno y los horarios relativos conservan UTC. Se comprueban agentes desactivados y acciones anidadas no permitidas antes de ejecutar confirmaciones. La confirmación de vínculos de archivos reutiliza la ruta con control de acceso. Las acciones nuevas pendientes o reprogramadas por hora requieren un procesador disponible; el seguimiento de respuestas de correo y las actualizaciones normales de historial/estado continúan. Los trabajos posteriores se ejecutan como su propietario de programación, sin suplantar al solicitante. Las instrucciones reducen duplicados por otros conectores, pero no garantizan el comportamiento del asistente.
Preguntas frecuentes
De forma predeterminada, se envía desde el usuario que ejecuta el agente. Si configuras una dirección de correo para toda la organización verificada con el indicador «Permitir todos los perfiles», la plataforma elige esa dirección en su lugar, sin importar quién esté ejecutando el agente.
Sí. Si el usuario que ejecuta el agente tiene una firma de Salesforce configurada, la plataforma la agrega. De lo contrario, la plataforma crea una firma mínima con el nombre, el rol y el correo del usuario. El agente no debería agregar su propia firma; deja que la plataforma se encargue para que el formato se mantenga uniforme.
La herramienta integrada send_email envía texto sin formato. Para correos en HTML o basados en plantillas, crea una herramienta de clase Apex personalizada que use plantillas de correo electrónico de Salesforce o que construya el correo HTML tú mismo.
Usa schedule_action con action_type = Email. Pasa una marca de tiempo execute_at para una entrega basada en tiempo, o usa un disparador de respuesta combinado con un group_key para que el correo quede condicionado a si el destinatario ha respondido. Consulta Acciones programadas.
Cada envío crea un registro EmailMessage y una Actividad. Lo verás en el historial de actividades del Contacto o Candidato destinatario y, si se proporcionó related_to_id, también en el historial de actividades de ese registro. La ejecución del agente también queda enlazada desde los registros de Conversación y Mensaje.
La plataforma devuelve un error estructurado con el mensaje subyacente. En un canal interactivo, el agente lo informa al usuario; en un canal autónomo, se registra una entrada en el Registro de incidentes. La plataforma no reintenta automáticamente.
Sí. El correo saliente es un Messaging.SingleEmailMessage estándar de Salesforce, que cuenta para tu límite de gobernador diario de correos con Apex. Planifica el diseño del agente en consecuencia — las flotas de agentes de alto volumen deberían agrupar y regular el ritmo de su trabajo saliente.
Próximos pasos
Lee Gestión de respuestas de correo para el lado entrante del seguimiento de respuestas, o Acciones programadas para el modelo de ejecución diferida y disparada por respuestas.