Salesforce
Descripción general
Conecta tus agentes de IA de ElevenLabs con Salesforce CRM para acceder a datos de clientes, gestionar clientes potenciales y crear oportunidades. Esta integración permite a tus agentes recuperar registros de clientes existentes, crear nuevos clientes potenciales y contactos, y consultar objetos de Salesforce durante las conversaciones.
Funcionalidades
Configuración
Esta integración utiliza Salesforce OAuth 2.0 Client Credentials para la autenticación. Tendrás que crear una aplicación de cliente externa en Salesforce.
Crea una aplicación de cliente externa
- Inicia sesión en tu organización de Salesforce como administrador
- Ve a Setup > External Client App Manager
- Haz clic en New External Client App
- Rellena External Client App Name (por ejemplo,
ElevenLabs Agents), API Name y Contact Email - En API (Enable OAuth Settings):
- Marca Enable OAuth y Enable Client Credentials Flow
- Callback URL:
https://api.elevenlabs.io/oauth/callback - OAuth Start URL:
https://api.elevenlabs.io/oauth/start - Selected OAuth Scopes: añade estos ámbitos:
- Full access (full)
- Perform requests on your behalf at any time (refresh_token, offline_access)
- Manage user data via api
- Haz clic en Create
- En la página de la aplicación, abre la pestaña Settings, ve a OAuth Settings y haz clic en Consumer Key and Secret
- Copia Consumer Key y Consumer Secret: los necesitarás para la autenticación
Configura el flujo de credenciales de cliente de OAuth
El flujo de credenciales de cliente se recomienda para integraciones de servidor a servidor que no requieren interacción del usuario. Asegúrate de que el administrador de Salesforce haya habilitado este flujo.
- En tu aplicación de cliente externa, haz clic en Edit
- Marca Enable Client Credentials Flow: aparecerá el campo Run As
- Configura Run As con tu usuario administrador o una cuenta de servicio específica: esto determina los permisos para todas las llamadas a la API
- Configura Permitted Users como Admin approved users are pre-authorized
- Haz clic en Save
El usuario de Run As determina los permisos para todas las llamadas a la API. Elige un usuario con un perfil de administrador del sistema o un perfil personalizado que tenga acceso a la API y permiso para los objetos que necesita tu agente (Contact, Lead, Account, etc.). El permiso API Enabled debe estar marcado en el registro del usuario.
Encuentra tu dominio de Salesforce
Necesitas tu dominio de Salesforce para realizar llamadas a la API.
Método 1: Comprueba tu URL actual
Cuando hayas iniciado sesión en Salesforce, consulta la barra de direcciones del navegador:
- Lightning Experience:
https://acme.lightning.force.com/ - My Domain:
https://acme.my.salesforce.com/
Método 2: Setup > Company Information
Ve a Setup > Company Information y busca la URL de My Domain o la información de la organización.
Método 3: Setup > Domain Management
Ve a Setup > Domain Management > My Domain. Tu dominio aparecerá en la parte superior de la página.
Formatos de dominio habituales:
https://acme.my.salesforce.com(My Domain)https://acme.lightning.force.com(Lightning)https://acme.develop.my.salesforce.com(Sandbox)
Vídeo de demostración
Esta demostración utiliza herramientas webhook heredadas. Si usas la integración nativa de Salesforce, las herramientas se configuran automáticamente: no necesitas configurar webhooks manualmente.
Cómo funciona
Resumen general
Prompt de sistema detallado
Consulta inicial del cliente
El agente recopila información del cliente y hace preguntas relevantes para identificar sus necesidades de negocio y retos actuales.
Consulta de datos del cliente
El agente comprueba si hay registros existentes mediante salesforce_search_records para encontrar contactos, cuentas o leads. Obtiene todos los detalles con salesforce_get_record y utiliza esta información para personalizar la conversación.
La autorización de herramientas se puede gestionar mediante conexiones de autenticación de Workplace, que gestionan la actualización de tokens automáticamente. Las herramientas devuelven nombres y descripciones legibles en lugar de ID técnicos para mejorar la calidad de las conversaciones.
Configuraciones de herramientas
Hay disponibles tres herramientas webhook: salesforce_search_records, salesforce_get_record y salesforce_create_record. Configura la autorización de cada una mediante una conexión de autenticación de Workplace.
Autorización: conexión OAuth2 de Workplace
Ve a Workplace Auth Connections
En tu panel de ElevenLabs, ve a Agents > Workplace Auth Connections y haz clic en Add Auth.
Configura la conexión de Salesforce
Rellena los siguientes campos para tu integración de Salesforce:
Nombre de la conexión: Salesforce CRM
Client ID
- Tu Consumer Key de la aplicación de cliente externa
- Ejemplo:
3MVG9JJlvRU3L4pRiOu8pQt5xXB4xGZGm0yW...
Client Secret
- Tu Consumer Secret de la aplicación de cliente externa
- Ejemplo:
1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF...
URL de token
- El endpoint de token OAuth de tu dominio de Salesforce
- Formato:
https://{domain}.my.salesforce.com/services/oauth2/token - Ejemplo:
https://acme.my.salesforce.com/services/oauth2/token
Ámbitos (opcional)
- Ámbitos de OAuth para acceder a la API de Salesforce
- Recomendado:
full, api, refresh_token - Déjalo en blanco para usar los ámbitos predeterminados de tu aplicación de cliente externa
Parámetros adicionales (JSON)
- Parámetros de OAuth adicionales específicos de tu configuración
- Ejemplo para el flujo de credenciales de cliente:
Las conexiones de autenticación de Workplace gestionan la actualización de tokens automáticamente, por lo que no necesitas gestionar los tokens manualmente.
Configuraciones de herramientas webhook
Añade una conexión de autenticación de Workplace (OAuth2) a cada herramienta en la sección Authentication. Usa las pestañas de abajo para revisar la configuración de cada herramienta.
salesforce_search_records
salesforce_get_record
salesforce_create_record
Nombre: salesforce_search_records
Descripción: Busca registros existentes en Salesforce mediante consultas SOQL. Siempre devuelve información legible, incluidos nombres, no solo ID.
Método: GET
URL: https://acme.my.salesforce.com/services/data/v58.0/query/?q={soql_query}
Cabeceras:
- Content-Type:
application/json
Parámetros de consulta:
- q: Cadena de consulta SOQL (por ejemplo, “SELECT Id, Name, Email FROM Contact WHERE Email = ‘example@email.com’”)
JSON de la herramienta:
Objetos comunes de Salesforce
Consultas SOQL habituales
Usa estas consultas SOQL como punto de partida para personalizar el prompt del sistema de tu agente. Todas las consultas devuelven información legible para las personas en lugar de ID técnicos:
Buscar contactos por correo electrónico
Buscar leads por correo electrónico o teléfono
Buscar cuentas por nombre
Buscar oportunidades recientes
Buscar oportunidades por cuenta
Pruebas de integración
Después de configurar tu aplicación de cliente externa y conectar la integración, pruébala antes de implementarla en producción:
- Función de búsqueda: Pide a tu agente que busque contactos existentes.
- Creación de registros: Haz que tu agente cree un nuevo lead o contacto.
- Obtención de datos: Comprueba que tu agente puede recuperar información detallada de clientes.
Activador de comentarios de casos: respuestas por correo electrónico para Email-to-Case
Si has activado el desencadenante Salesforce Case Comment (respuesta automática del agente a casos de Service Cloud), las respuestas a casos con al menos un correo electrónico entrante se envían al cliente como un correo electrónico real con hilo, no solo como un comentario interno del caso. Esto depende de si el caso tiene un correo electrónico entrante, no del valor de la lista de selección Origin del caso, por lo que seguirá funcionando correctamente si tu organización usa un valor personalizado de Origin como “Email - Returns” en lugar de “Email” literalmente. Los casos sin correo electrónico entrante seguirán publicándose como comentarios de caso públicos, sin cambios. Las direcciones en CC en el correo electrónico original del cliente también se incluirán automáticamente en CC en la respuesta, igual que haría la opción «Responder a todos» de un agente humano, salvo las direcciones de enrutamiento de Email-to-Case de tu organización, que se excluyen deliberadamente de la CC para evitar que Email-to-Case vuelva a procesar la respuesta y active de nuevo al agente con su propio mensaje.
Enviar respuestas por correo electrónico requiere una configuración adicional a la necesaria solo para los comentarios de casos:
- El perfil o conjunto de permisos del usuario Run As debe tener activado el permiso de sistema Send Email (
Setup>Users>Profiles, en System Permissions), además del permiso API Enabled que ya requiere la integración. - La configuración Email Deliverability de tu organización (
Setup>Email>Deliverability) debe permitir correo electrónico externo. Los sandboxes establecen de forma predeterminada una configuración restringida, que bloquea silenciosamente los correos salientes. - Si quieres que las respuestas se envíen desde un alias de soporte en lugar del buzón del usuario Run As, establece el campo Org-Wide Email Address Id del desencadenante con el Id de una Organization-Wide Email Address (
Setup>Organization-Wide Addresses> haz clic en la dirección > copia el Id de la URL). Déjalo en blanco para enviar desde la propia dirección del usuario Run As. - Establece el campo Email-to-Case Routing Address(es) del desencadenante con las direcciones de Email-to-Case de tu organización (separadas por comas si hay más de una,
Setup>Email-to-Case). Sin esto, la integración intenta deducir la dirección de enrutamiento a partir del correo electrónico del cliente (su direcciónTo), lo que falla cuando tu dirección de enrutamiento solo estaba en CC y no era la destinataria principal. Incluirla de nuevo en CC en una respuesta en esa situación activaría otra vez al agente con su propio mensaje.
Si la organización de un cliente no tiene esto configurado, un error al enviar el correo electrónico recurrirá a publicar un comentario de caso público, por lo que nunca se perderá una respuesta silenciosamente; sin embargo, el cliente no la recibirá por correo electrónico hasta que se configure lo anterior.
Consideraciones de seguridad
- Usa rutas HTTPS para todas las llamadas a la API.
- Asegúrate de que la seguridad adecuada a nivel de campo esté configurada en Salesforce.
- Los permisos del usuario Run As determinan a qué datos puede acceder la integración; delimítalos adecuadamente.
- Audita periódicamente el acceso y el uso de la API.