Agente de Contacto CRM de Jitterbit
Resumen
Jitterbit proporciona el Agente de Contacto CRM a los clientes a través de Jitterbit Marketplace. Este agente utiliza IA para gestionar registros de contacto para sistemas CRM como Salesforce a través de una interfaz conversacional, ayudando a los equipos de ventas a encontrar, crear y actualizar contactos de manera más eficiente. Este agente utiliza la técnica de Generación Aumentada por Recuperación (RAG), que combina el razonamiento de LLM con acceso a herramientas externas y fuentes de datos.
El agente recibe solicitudes en lenguaje natural a través de Slack y determina la intención del usuario utilizando Azure OpenAI. Basado en cada solicitud, el agente busca en Salesforce contactos existentes, recupera datos de contacto de ZoomInfo, y lleva a cabo operaciones de creación o actualización en Salesforce con la aprobación del usuario. El agente mantiene un historial de conversación en Jitterbit Cloud Datastore para proporcionar respuestas contextualizadas a lo largo de una sesión.
El agente realiza las siguientes tareas:
- Recibe solicitudes en lenguaje natural de los usuarios a través de Slack.
- Utiliza Azure OpenAI para extraer el nombre de la cuenta y determinar la intención de cada solicitud.
- Busca en Salesforce contactos existentes asociados con la cuenta especificada.
- Consulta ZoomInfo para obtener datos de contacto que aún no están en Salesforce, incluyendo títulos de trabajo, números de teléfono y direcciones de correo electrónico.
- Compara los registros de contacto de Salesforce con los datos de ZoomInfo para identificar información desactualizada o faltante.
- Presenta listas de contactos y recomendaciones de actualización al usuario en Slack para su aprobación antes de realizar cualquier cambio en Salesforce.
- Crea o actualiza registros de contacto en Salesforce con la aprobación del usuario.
- Almacena el historial de conversación en Cloud Datastore para mantener el contexto a lo largo de los mensajes dentro de una ventana de sesión de 30 minutos.
- Envía notificaciones de Slack a un canal de alertas de ventas configurado cuando se identifica que un contacto ya no está en la empresa.
Este documento explica cómo configurar y operar este agente de IA. Cubre arquitectura y requisitos previos, orientación sobre cómo solicitar al agente, y pasos para instalar, configurar y operar el agente de IA.
Arquitectura del agente de IA
Este agente de IA gestiona contactos de Salesforce a través de una interfaz conversacional en Slack. Una interacción típica sigue estos pasos:
- Un usuario envía un mensaje en lenguaje natural al Agente de Contactos CRM a través de Slack.
- El agente recupera el historial de la conversación desde Cloud Datastore para mantener el contexto de la sesión, luego llama a Azure OpenAI para extraer el nombre de la cuenta de la solicitud.
- El agente consulta Salesforce para validar el nombre de la cuenta y recuperar el ID de cuenta de Salesforce.
- El agente llama a Azure OpenAI una segunda vez, con las herramientas disponibles, para determinar la intención del usuario y seleccionar la herramienta apropiada para ejecutar.
- La herramienta seleccionada consulta Salesforce y ZoomInfo según sea necesario para recopilar datos de contacto.
- Para las operaciones que crean o actualizan contactos, el agente presenta un resumen al usuario en Slack y espera la aprobación antes de tomar acción en Salesforce.
- El agente llama a Azure OpenAI sin herramientas para formatear la respuesta final utilizando un aviso específico del contexto, luego publica la respuesta de vuelta al usuario en Slack.
- El historial de la conversación se guarda en Cloud Datastore para su uso en mensajes posteriores dentro de la misma sesión.
Diagrama de flujo
El siguiente diagrama muestra el flujo principal de manejo de solicitudes para el Agente de Contactos CRM.
Jitterbit
CRM Contact Agent" } SLK[fab:fa-slack
Slack] SF[fab:fa-salesforce
Salesforce] ZI[ZoomInfo API] AZR[Azure OpenAI REST call] AZM@{ shape: hex, label: "Azure OpenAI model" } CD@{ shape: hex, label: "fas:fa-database
Cloud Datastore" } SLK -->|1. User request| JSP JSP <-->|2. Session history| CD JSP <-->|3. Account lookup| SF JSP -->|4. Conversation and prompt| AZR AZR --> AZM AZM --> AZR AZR -->|5. Intent + tool selection| JSP JSP <-->|6. Contact data| SF JSP <-->|7. Contact data| ZI JSP -->|8. Response| SLK
Requisitos previos
Necesitas los siguientes componentes para usar este agente de IA.
Componentes de Harmony
Debes tener una licencia de Jitterbit Harmony con acceso a los siguientes componentes:
- Jitterbit Studio.
- Jitterbit Cloud Datastore para almacenar el historial de conversaciones y datos de preparación de contactos.
- Agente de Contactos CRM de Jitterbit adquirido como un complemento de licencia.
Puntos finales compatibles
El agente de IA se conecta a los siguientes puntos finales. Puedes acomodar otros sistemas modificando las configuraciones de puntos finales y flujos de trabajo del proyecto.
Modelo de lenguaje grande (LLM)
El agente de IA utiliza Azure OpenAI como proveedor de LLM. Para usar Azure OpenAI, debes tener una suscripción de Microsoft Azure con permisos para crear un recurso de Azure OpenAI con un modelo desplegado.
Consejo
Para información sobre precios, consulta la página de precios de Azure OpenAI.
Sistema CRM
El agente consulta y actualiza registros de contacto en Salesforce. Para usar Salesforce, debes tener una cuenta de Salesforce con acceso a la API y permisos para leer y escribir registros de contacto.
Proveedor de datos de contacto
El agente recupera datos de contacto de ZoomInfo para complementar los registros existentes de Salesforce. Para usar ZoomInfo, debes tener una cuenta de ZoomInfo con credenciales de acceso a la API.
Plataforma de mensajería
El agente utiliza Slack como su interfaz conversacional y canal de notificaciones. Para usar Slack, debes tener un espacio de trabajo de Slack con una aplicación de Slack configurada para recibir y responder a mensajes. Para obtener instrucciones detalladas sobre cómo crear una aplicación de Slack, consulta Crear una aplicación de Slack.
Prompts del agente
El Agente de Contacto CRM recibe todas las solicitudes como mensajes en lenguaje natural enviados a la aplicación de Slack. Esta sección describe las reglas para prompts efectivos y proporciona ejemplos de prompts.
Directrices para prompts
Sigue estas directrices al enviar mensajes al agente:
-
Incluye el nombre de la cuenta en cada prompt. El LLM intenta inferir el nombre de la cuenta a partir del historial de conversación (borrado cada 30 minutos), pero incluirlo explícitamente en cada mensaje produce resultados más confiables.
-
Para crear nuevos contactos, primero debes pedir al agente que los encuentre utilizando un prompt de Nuevos contactos. El agente presenta una lista de contactos para aprobación antes de crear registros en Salesforce.
-
Para actualizar contactos existentes, primero debes realizar una verificación de actualización utilizando un prompt de Higiene de datos y actualizaciones. El agente presenta recomendaciones de actualización para tu aprobación antes de escribir cambios en Salesforce.
Ejemplos de prompts
Los siguientes ejemplos de prompts muestran los tipos de prompts que el agente puede manejar. Reemplaza {Account Name} con el nombre de la cuenta de Salesforce y {list of roles} con una lista de títulos de trabajo relevantes separados por comas.
Nuevos contactos
Utiliza estos comandos para encontrar y crear nuevos contactos para una cuenta utilizando datos de ZoomInfo:
Comandos
Find New Contacts for Account - {Account Name}Find New Contacts for Account - {Account Name}, only include contacts with roles related to {list of roles}Create new contacts for account - {Account Name}
Higiene de datos y actualizaciones
Utiliza estos comandos para identificar datos de contacto desactualizados o faltantes y aplicar actualizaciones:
Comandos
Run a hygiene check for Account - {Account Name}Run an update for existing contacts for account - {Account Name}
Contactos existentes
Utiliza estos comandos para buscar e informar sobre contactos que ya están en Salesforce:
Comandos
Find Existing Contacts for Account - {Account Name}Find last 3 contacts created for Account - {Account Name}When was the last time we spoke with a contact from {Account Name}Flag contacts with no activity in Salesforce for account {Account Name}Find any duplicate contacts for account - {Account Name}Find contacts missing titles, emails, phone numbers for account - {Account Name}Compare Salesforce contacts against ZoomInfo for account - {Account Name}Locate a contact for account {Account Name} that we usually reach out to
Comandos de acceso especial
Los siguientes comandos requieren acceso a nivel de administrador, según lo configurado en el script set.user.roles. Estas operaciones consumen créditos de ZoomInfo de tu asignación de cuenta:
Comandos
Run an enriched hygiene check for Account - {Account Name}Enrich missing phone numbers for account - {Account Name}
Instalación, configuración y operación
Sigue estos pasos para instalar, configurar y operar este agente de IA:
- Descargar e instalar el proyecto
- Crear recursos de Microsoft Azure
- Crear la aplicación de Slack
- Configurar Cloud Datastore
- Configurar variables del proyecto
- Probar conexiones
- Desplegar el proyecto
- Revisar flujos de trabajo del proyecto
- Activar los flujos de trabajo del proyecto
Para obtener orientación sobre la solución de problemas, consulte Solución de problemas.
Descargar e instalar el proyecto
Siga estos pasos para instalar el proyecto de Studio para el agente de IA:
-
Inicie sesión en el portal de Harmony en https://login.jitterbit.com y abra Marketplace.
-
Localice el agente de IA llamado Jitterbit CRM Contact Agent. Para localizar el agente, use la barra de búsqueda o, en el panel de Filtros bajo Tipo, seleccione Agente de IA para limitar la visualización a agentes de IA.
-
Haga clic en el enlace de Documentación del agente para abrir su documentación en una pestaña separada. Mantenga la pestaña abierta para referirse a ella después de iniciar el proyecto.
-
Haga clic en Iniciar Proyecto para abrir un diálogo de configuración de dos pasos.
Nota
Si aún no ha comprado el agente de IA, se mostrará Obtenga este agente en su lugar. Haga clic en él para abrir un diálogo informativo, luego haga clic en Enviar para que un representante se comunique con usted sobre la compra del agente de IA.
-
En el paso de configuración 1, Descargar Personalizaciones, descargue cualquier archivo de configuración proporcionado.
-
Haga clic en Siguiente.
-
En el paso de configuración 2, Crear un Nuevo Proyecto, seleccione un entorno donde se creará el proyecto de Studio, luego haga clic en Crear Proyecto.
-
Después de que el diálogo de progreso indique que el proyecto ha sido creado, use el enlace del diálogo Ir a Studio o abra el proyecto directamente desde la página de Proyectos de Studio.
Crear recursos de Microsoft Azure
Cree los siguientes recursos de Microsoft Azure y anote la información para configurar el agente de IA. Para crear y gestionar estos recursos, debe tener una suscripción de Microsoft Azure con los permisos apropiados.
Debe crear un recurso de Azure OpenAI y desplegar un modelo a través del portal de Azure AI Foundry.
Nota el nombre de la implementación, la URL del endpoint y la clave de API. Ingresa estos valores cuando configures las variables del proyecto.
Para encontrar estos valores, sigue estos pasos:
-
En el portal de Azure AI Foundry, abre el recurso específico de OpenAI.
-
En la página de inicio del recurso, copia la URL del endpoint (para la variable del proyecto
Openai.token) y la clave de API. -
En el menú de navegación bajo Recursos compartidos, selecciona Implementaciones. Copia el nombre de la implementación (para la variable del proyecto
Openai.model).
Crear la aplicación de Slack
Para habilitar la interfaz de Slack del agente, sigue estos pasos:
-
Crea una aplicación de Slack e instálala en tu espacio de trabajo de Slack.
-
Obtén el token del bot y conservalo para la variable del proyecto
Slack.token. -
Identifica el canal de Slack donde el agente responderá a los mensajes de los usuarios y conservalo para la variable del proyecto
Slack.channel. -
Identifica el canal de Slack designado para recibir notificaciones del ejecutivo de cuentas y conservalo para la variable del proyecto
salesforce.sales.alerts.channel.
Configurar Cloud Datastore
El agente utiliza tres almacenamientos de claves de Cloud Datastore para gestionar el historial de conversaciones y los datos de preparación de contactos:
| Almacenamiento de claves | Propósito |
|---|---|
| Slack agent AI | Almacena el historial de conversaciones para cada usuario de Slack. |
| Contact cache | Prepara los datos de contacto cuando un usuario aprueba una acción de creación o actualización. |
| LLM token cost | Registra el uso de tokens para cada llamada a la API de Azure OpenAI. |
Para cada almacenamiento de claves, sigue estos pasos:
- Crea el almacenamiento de claves con el nombre y los campos personalizados especificados a continuación.
- En la pestaña Componentes del proyecto en Studio bajo Endpoints, localiza cada actividad de Cloud Datastore asociada con ese almacenamiento. Cada actividad está precedida por el nombre del almacenamiento de claves (por ejemplo,
CONTACT CACHE - Eliminar elementos de caché CDS). Haz doble clic para abrirlo, asigna el nombre del almacenamiento y guarda.
Agente de Slack AI
Crea un almacenamiento de claves llamado Agente de Slack AI y agrega los siguientes campos personalizados:
system_content_big(texto grande)created_on(texto)slack_channel_id(texto)user_content(texto)
Usa este almacenamiento para todas las actividades de Cloud Datastore que comiencen con SLACK AGENT AI.
Caché de contactos
Crea un almacenamiento de claves llamado Caché de contactos y agrega los siguientes campos personalizados:
create_or_update(texto)jsonbody(texto grande)contactbody(texto grande)
Usa este almacenamiento para todas las actividades de Cloud Datastore que comiencen con CONTACT CACHE.
Costo de token LLM
Crea un almacenamiento de claves llamado Costo de token LLM y agrega los siguientes campos personalizados:
total_tokens(texto)prompt_tokens(texto)completion_tokens(texto)createdDate(texto)content(texto grande)
Usa este almacenamiento para todas las actividades de Cloud Datastore que comiencen con LLM TOKEN COST.
Configurar variables del proyecto
En el proyecto de Studio instalado desde Marketplace, establece valores para las siguientes variables del proyecto.
Para configurar las variables del proyecto, usa el menú de acciones del proyecto y selecciona Variables del Proyecto para abrir el panel de configuración.
ZoomInfo
| Nombre de variable | Descripción |
|---|---|
zoom.username |
Nombre de usuario para la cuenta de API de ZoomInfo. |
zoom.password |
Contraseña para la cuenta de API de ZoomInfo. |
Salesforce
| Nombre de variable | Descripción |
|---|---|
salesforce.username |
Nombre de usuario para la instancia de Salesforce. |
salesforce.url |
URL para la instancia de Salesforce. |
salesforce.token |
Token de seguridad para la cuenta de Salesforce. |
salesforce.password |
Contraseña para la instancia de Salesforce. |
salesforce.sales.alerts.channel |
Canal de Slack que recibe notificaciones cuando un contacto vinculado a una cuenta de Salesforce ya no está con la empresa. |
Slack
| Nombre de variable | Descripción |
|---|---|
slack.token |
El token de bot de Slack obtenido después de crear la aplicación de Slack, utilizado para el campo Bot User OAuth Token de la conexión de Slack. |
slack.channel |
Canal de Slack donde el agente escucha y responde a los mensajes de los usuarios. |
slack.bot.userId |
El ID de usuario de tu bot de Slack. Se utiliza para filtrar las llamadas a la API del propio bot de los registros de eventos de Slack. |
Azure OpenAI
| Nombre de variable | Descripción |
|---|---|
openai.token |
Clave API utilizada para autenticar solicitudes al servicio de Azure OpenAI. |
openai.temperature |
Controla la aleatoriedad de la salida del modelo. Establecer en 1 al usar el modelo o4-mini. De lo contrario, utiliza un valor de 0.5 o menor para respuestas más consistentes. |
openai.model |
Nombre de implementación del modelo de Azure OpenAI a utilizar. |
Cloud Datastore
| Nombre de variable | Descripción |
|---|---|
clouddatastore.token |
Token de autenticación de Cloud Datastore, obtenido de la página de Tokens de acceso en la Consola de Administración. |
Configuración de conversación
| Nombre de variable | Descripción |
|---|---|
cleanup.historytime |
Duración en segundos que se retiene el historial de conversación antes de la limpieza. El valor predeterminado es 1800 (30 minutos). Valores más largos envían más contexto al LLM por solicitud. |
Probar conexiones
Probar las configuraciones de los puntos finales para verificar la conectividad utilizando los valores de variables de proyecto definidos.
Para probar conexiones, ve a la pestaña Puntos finales y conectores del proyecto en la paleta de componentes de diseño , pasa el cursor sobre cada punto final y haz clic en Probar.
Desplegar el proyecto
Desplegar el proyecto de Studio.
Para desplegar el proyecto, utiliza el menú de acciones del proyecto y selecciona Desplegar.
Crear la API personalizada de Jitterbit
Crea una API personalizada utilizando la opción Publicar como una API para la operación Receiver - Slack API request handler en el flujo de trabajo Main Entry - Slack API Request Handler.
Configura estos ajustes para el servicio:
| Configuración | Valor |
|---|---|
| Nombre del servicio | slackApiRequestHandler |
| Operación | Receiver - Slack API request handler |
| Ruta | /slackApiRequestHandler |
| Método | POST |
| Tipo de respuesta | Variable del sistema |
Después de configurar el servicio, publica la API personalizada.
Copia la URL del servicio API. Para encontrar la URL del servicio, ve al panel de detalles de la API en la pestaña Servicios, pasa el cursor sobre la columna Acciones del servicio y haz clic en Copiar URL del servicio API.
En la configuración de tu aplicación de Slack, navega a Funciones > Suscripciones a eventos y habilita los eventos. Luego, pega la URL del servicio API en el campo URL de solicitud. Slack enviará una solicitud con un parámetro challenge. Una vez que Slack confirme que la URL es válida, haz clic en Guardar cambios.
Consejo
También puedes agregar un perfil de seguridad para la autenticación.
Revisar flujos de trabajo del proyecto
El proyecto de Studio contiene 18 flujos de trabajo que implementan la funcionalidad del Agente de Contacto CRM, organizados en cinco grupos funcionales.
Punto de entrada
| Flujo de trabajo | Descripción |
|---|---|
| Entrada principal - Controlador de solicitudes API de Slack | Recibe mensajes entrantes de Slack e inicia el script del controlador principal. |
Entrada principal - Controlador de solicitudes API de Slack
Este flujo de trabajo recibe mensajes de Slack y ejecuta el script del controlador principal (controller.receiver.async). El controlador orquesta todo el proceso de manejo de solicitudes: recupera el historial de conversaciones de Cloud Datastore, llama a Azure OpenAI para extraer el nombre de la cuenta y determinar la intención, dirige la solicitud a la herramienta apropiada, formatea la respuesta de LLM y publica el resultado de vuelta al usuario de Slack.
Integraciones de API
| Flujo de trabajo | Descripción |
|---|---|
| API - Controlador de Slack | Maneja todas las interacciones de la API de Slack, incluyendo la publicación de mensajes y la eliminación de indicadores de escritura. |
| API - Azure Open AI | Contiene ambos tipos de llamadas a la API de Azure OpenAI: con herramientas para la detección de intenciones y sin herramientas para el formateo de respuestas. |
| API - Zoom Info | Alberga operaciones de la API de ZoomInfo para búsqueda de contactos, autenticación y recuperación de datos de contacto. |
API - Slack Handler
Este flujo de trabajo contiene todas las operaciones de la API de Slack utilizadas por el agente, incluyendo la consulta del perfil de Slack del usuario, la publicación de un indicador de "escribiendo...", la publicación de la respuesta final y la eliminación del indicador de escritura después de que se envía la respuesta.
API - Azure Open AI
Este flujo de trabajo contiene dos tipos de llamadas a la API de Azure OpenAI:
- Open AI - Prompt HTTP With Tools: Envía una solicitud a Azure OpenAI con una lista de herramientas disponibles. Esta llamada se utiliza para extraer el nombre de la cuenta del mensaje del usuario y para determinar la intención de la solicitud.
- Open AI - Prompt HTTP No Tools: Envía una solicitud a Azure OpenAI sin herramientas, después de que la herramienta seleccionada ha recopilado todos los datos requeridos. Esta llamada genera la respuesta final lista para Slack utilizando un aviso específico del contexto.
Las dos llamadas utilizan historiales de conversación separados. La llamada de determinación de intención utiliza un historial específico de la cuenta, mientras que la llamada de extracción del nombre de la cuenta utiliza el historial completo de la conversación. Esta separación mantiene el contexto enviado al LLM enfocado y reduce el uso innecesario de tokens.
API - Zoom Info
Este flujo de trabajo alberga todas las operaciones de la API de ZoomInfo. Las operaciones están organizadas por tipo de dato en lugar de por herramienta, lo que las hace reutilizables en múltiples herramientas. Todas las operaciones de ZoomInfo requieren que establezcas la variable de proyecto core.zoom.resource a un valor válido. Los valores válidos a partir de marzo de 2026 son contact, authenticate, enrich_contact y scoop.
El script core. Load Zoom API Resource centraliza todas las URL base de la API y los objetos web, facilitando el cambio a un proveedor de datos de contacto diferente si es necesario. Todas las llamadas de datos de contacto comparten la actividad estándar de POST de ZoomInfo. La llamada de autenticación utiliza una actividad separada.
Memory and state
| Flujo de trabajo | Descripción |
|---|---|
| Memory - Cloud Datastore | Gestiona las operaciones de lectura y escritura de Cloud Datastore para el historial de conversación y los datos de preparación de contactos. |
| Conversation Cleanup Controller | Elimina el historial de conversación más antiguo que el umbral configurado cleanup.historytime. |
| Scheduler Task Manager | Gestiona las operaciones configuradas para ejecutarse en un horario. |
Memoria - Cloud Datastore
Este flujo de trabajo gestiona cuatro tipos de operaciones de Cloud Datastore distribuidas en tres almacenes de Cloud Datastore:
- Obtener Historial de Slack Específico de la Cuenta: Recupera el historial de conversaciones para una cuenta específica de Salesforce, proporcionando al LLM un contexto enfocado relevante para la solicitud actual.
- Obtener Historial Maestro de Slack: Recupera el historial completo de conversaciones para el usuario de Slack. El agente utiliza esto solo al llamar al LLM para extraer el nombre de la cuenta.
- Controlador de Último Mensaje en Caché: Almacena datos de contacto justo antes de que se apruebe una acción de creación o actualización. El agente clavea los datos mediante una combinación del ID de usuario de Slack y el ID de cuenta de Salesforce, asegurando que se haga referencia a la lista de contactos correcta cuando el usuario aprueba una acción. Si la clave almacenada en la caché no coincide con la cuenta que se está referenciando actualmente, el agente informa de una discrepancia y no procede.
- Almacenar Costos de Tokens en Caché: Registra el uso de tokens de cada llamada a la API de Azure OpenAI para revisión del cliente e informes de costos.
Controlador de Limpieza de Conversaciones
Este flujo de trabajo elimina el historial de conversaciones que excede el umbral de cleanup.historytime. Cuando el LLM recibe más datos de conversación de los que puede procesar de manera efectiva, puede no ser capaz de determinar la intención de la solicitud actual. En este caso, el agente reduce la ventana de historial a 10 minutos y pide al usuario que vuelva a enviar el aviso.
Administrador de Tareas del Programador
Este flujo de trabajo gestiona cualquier operación configurada para ejecutarse en programas de operación.
Dos operaciones tienen requisitos de programación específicos:
-
Controlador de Limpieza de Conversaciones: Programar para que se ejecute al menos cada 5 minutos. Esto controla cuán de cerca la retención real coincide con el umbral de
cleanup.historytime. Cuanto menos frecuentemente se ejecute, más tiempo puede permanecer el historial más allá del límite configurado. -
Notificaciones de Ejecutivos de Cuenta: Programar para que se ejecute una vez al día. La consulta predeterminada está limitada a los datos de ese día, por lo que ejecutarla más de una vez devuelve duplicados.
Para configurar un horario, abre el menú de acciones de la operación y selecciona Configuración > Horarios.
Utilidades
| Flujo de trabajo | Descripción |
|---|---|
| Herramientas Utilitarias | Contiene scripts utilitarios reutilizables para búsquedas de cuentas de Salesforce y verificaciones de comunicación por correo electrónico. |
| Supervisor de Herramientas | Dirige solicitudes al flujo de trabajo de herramienta apropiado según la intención devuelta por Azure OpenAI. |
Herramientas Utilitarias
Este flujo de trabajo contiene scripts utilitarios reutilizables que se pueden llamar en múltiples flujos de trabajo de herramientas:
Utility- Obtener ID de Cuenta de Salesforce: Busca un ID de cuenta de Salesforce por nombre de cuenta.Utility- Verificar COMs de Correo Electrónico por Nombre: Busca en Salesforce conversaciones de correo electrónico por nombre de contacto y dominio. Requiere que se establezcan un nombre de contacto y un dominio como argumentos antes de que se llame al script.Utility- Obtener Número de Contactos para Cuenta de SF: Devuelve el número de contactos asociados con una cuenta de Salesforce. Esta utilidad no está en uso actualmente.Utility- Verificar Contactos de Correo Electrónico Vacíos: Itera a través de un diccionario de contactos que no tienen dirección de correo electrónico en Salesforce y llama a la verificación de comunicaciones por correo electrónico para cada uno, buscando cualquier actividad de correo electrónico relacionada.
Supervisor de Herramientas
Este flujo de trabajo lee el valor de intención devuelto por Azure OpenAI (almacenado en la variable de proyecto openai.response.route) y utiliza una declaración de caso para dirigir la solicitud al flujo de trabajo de herramienta apropiado. Si se encuentra un nombre de cuenta pero no se puede determinar una ruta (típicamente debido a un largo historial de conversaciones), el agente limpia el historial y pide al usuario que vuelva a enviar el aviso.
Herramientas del Agente
| Flujo de trabajo | Descripción |
|---|---|
| Buscar Contacto Existente | Recupera todos los contactos para una cuenta de Salesforce especificada. |
| Buscar Nuevos Contactos | Consulta ZoomInfo para contactos que aún no están en Salesforce y cruza los resultados con registros existentes. |
| Confirmar Creación de Contacto | Presenta una lista de nuevos contactos al usuario en Slack para su aprobación antes de crear registros en Salesforce. |
| Ejecutar Creación de Contacto | Crea registros de contacto aprobados en Salesforce utilizando una operación de inserción o actualización basada en la dirección de correo electrónico. |
| Verificación de Higiene | Compara los registros de contacto de Salesforce con los datos de ZoomInfo para identificar discrepancias en los títulos e información faltante. |
| Verificación de Higiene Enriquecida | Realiza una comparación detallada de los registros de contacto de Salesforce y ZoomInfo para administradores. Este flujo de trabajo consume créditos de ZoomInfo. |
| Notificaciones de Ejecutivos de Cuenta | Envía notificaciones de Slack al canal de alertas de ventas cuando se identifica que un contacto ya no está con la empresa. |
| Confirmar Actualización de Contacto | Presenta recomendaciones de actualización de contacto al usuario en Slack para su aprobación antes de aplicar cambios en Salesforce. |
| Ejecutar Actualización de Contacto | Aplica actualizaciones de contacto aprobadas en Salesforce e informa el éxito o fracaso al usuario. |
Buscar Contacto Existente
Este flujo de trabajo recupera todos los contactos de una cuenta especificada de Salesforce. El nombre del script es search_existing_contact - controller. El flujo de trabajo almacena los datos de contacto en salesforce.response.body, los escribe en $tool.response para el procesamiento de LLM y establece la verificación de respuesta en master_prompt.
Buscar Nuevos Contactos
Este flujo de trabajo recupera datos de contacto de ZoomInfo para una cuenta especificada. El nombre del script es search_new_contact Controller. El flujo de trabajo realiza una llamada a la API de ZoomInfo por cada título de trabajo configurado en la variable de proyecto $zoom.query_jobTitle. Limita esta variable a cuatro o cinco roles para mantener tiempos de respuesta aceptables.
El flujo de trabajo primero realiza una búsqueda abierta sin filtros de rol para recuperar una lista de contactos sin restricciones, y luego realiza llamadas específicas por rol. El flujo de trabajo mapea los resultados a un esquema JSON compartido (contactdata.json) utilizado en otras herramientas. El flujo de trabajo verifica cada nuevo contacto contra Salesforce para comprobar si ya existe para la cuenta. La herramienta también verifica la actividad de correo electrónico para los contactos encontrados a través de ZoomInfo utilizando la utilidad Utility- Check Empty Email Contacts.
Confirmar Creación de Contacto
Este flujo de trabajo recupera la lista de contactos almacenada por el flujo de trabajo Buscar Nuevos Contactos del almacenamiento de claves de Cloud Datastore de Contact cache y la envía a Azure OpenAI con un aviso confirm_create_contact. El LLM infiere direcciones de correo electrónico a partir de los datos disponibles de Salesforce y presenta una lista de contactos estructurada al usuario en Slack, solicitando aprobación antes de crear registros. El flujo de trabajo almacena los datos de contacto aprobados de nuevo en el Contact cache para su uso en el flujo de trabajo Ejecutar Creación de Contacto.
Ejecutar Creación de Contacto
Este flujo de trabajo recupera la lista de contactos aprobados del almacenamiento de claves de Cloud Datastore de Contact cache y compara el ID de cuenta de Salesforce en la clave de caché con la cuenta que se está referenciando actualmente en la conversación. Si los IDs coinciden, el flujo de trabajo crea registros de contacto en Salesforce utilizando una operación de upsert basada en la dirección de correo electrónico. Si hay una discrepancia, el agente notifica al usuario y no procede con la creación.
Hygiene Check
Este flujo de trabajo recupera todos los contactos de una cuenta de Salesforce, luego consulta ZoomInfo para cada contacto para identificar discrepancias en los títulos o información faltante. El flujo de trabajo agrega contactos sin una dirección de correo electrónico en Salesforce a un diccionario y los verifica por actividad de correo electrónico utilizando la utilidad Utility- Check Empty Email Contacts. El flujo de trabajo almacena datos tanto de Salesforce como de ZoomInfo en $tool.response y establece la verificación de respuesta en hygiene_check.
Enriched Hygiene Check
Este flujo de trabajo opera de manera similar al flujo de trabajo de Hygiene Check, pero está restringido a administradores, según lo configurado en el script set.user.roles. Este flujo de trabajo consume créditos de ZoomInfo de tu asignación de cuenta. Este flujo de trabajo establece la verificación de respuesta en enriched_hygiene_check.
Account Executives Notifications
Este flujo de trabajo envía una notificación de Slack al canal configurado en salesforce.sales.alerts.channel cuando el agente identifica un contacto asociado con una cuenta de Salesforce conocida como ya no perteneciente a esa empresa.
Confirm Contact Update
Este flujo de trabajo recupera todos los contactos para la cuenta de Salesforce especificada y consulta ZoomInfo para cada contacto para verificar si el título ha cambiado. También verifica Salesforce por actividad de correo electrónico asociada con cada contacto. Basado en estas verificaciones, una transformación asigna a cada contacto una de tres acciones recomendadas: recommend_update, recommend_donotupdate o recommend_delete. El agente presenta estas recomendaciones al usuario para su aprobación antes de tomar cualquier acción. Ten en cuenta que el Agente de Contactos CRM no elimina contactos de Salesforce; la acción recommend_delete indica al usuario que un contacto puede necesitar ser eliminado.
Execute Contact Update
Este flujo de trabajo recupera datos de actualización aprobados del Contact cache almacenamiento de claves de Cloud Datastore, verifica que la cuenta referenciada coincida con el ID de cuenta almacenado en la clave de caché, y luego aplica las actualizaciones aprobadas a los registros de contacto de Salesforce. El flujo de trabajo informa el éxito o fracaso de cada actualización de vuelta al usuario en Slack.
Activar los flujos de trabajo del proyecto
El Agente de Contacto de CRM se activa mediante mensajes entrantes de la aplicación Slack conectada al flujo de trabajo Main Entry - Slack API Request Handler. No es necesario ejecutar manualmente una operación para iniciar el agente; la aplicación Slack se encarga de activar automáticamente cuando los usuarios envían mensajes.
El flujo de trabajo Scheduler Task Manager admite programaciones de operaciones para cualquier operación que elijas ejecutar de manera recurrente. Para configurar una programación, abre el menú de acciones de la operación y selecciona Configuración > Programaciones.
Solución de problemas
Si encuentras problemas, revisa los siguientes registros para obtener información detallada sobre la solución de problemas:
Para asistencia adicional, contacta a soporte de Jitterbit.