Integración · CRM
Conectar Salesforce a Igniten
Conecte su Salesforce para que Igniten pueda contestar sobre lo que hay en él con su estado real —cuentas, contactos, leads, oportunidades, casos, campañas, productos y precios, presupuestos, pedidos, contratos, actividades y los objetos propios de su org—, correr los reportes y las list views que ya tiene armados, y —si lo habilita— escribir en él con su confirmación: altas y ediciones sobre esos objetos, enviar un registro a aprobación o aprobarlo, publicar en el feed de un registro, y correr un flow autolanzado que ya tenga armado. Nunca borra ni fusiona nada. Igniten entra con UN usuario de integración que elige usted: ve y escribe exactamente lo que ese usuario pueda.
Qué lee Igniten, y qué no
Lee
- Cuentas, contactos, leads y oportunidades, con sus campos, su etapa y su dueño
- Casos, campañas y sus miembros
- Productos, listas de precios, presupuestos, pedidos y contratos
- Actividades —tareas y eventos—, notas y los archivos adjuntos a un registro
- Los objetos propios de su org (los que terminan en __c), con sus campos
- Los reportes y las list views que ya existen en su Salesforce, y su resultado
- Las aprobaciones pendientes y el feed de un registro
- Los flows autolanzados de su org: su nombre y las entradas que piden, para poder correr uno cuando alguien lo pide y lo confirma
- Los usuarios de la org, para poder asignarle algo a alguien
- Las etapas, los estados y el resto de las listas de opciones tal como están configuradas en su org
No lee
- Nada que el usuario de integración no pueda ver: ni un objeto, ni un campo oculto por seguridad a nivel de campo, ni un registro fuera de su alcance
- El estado de los registros no se copia ni se guarda: se lee cuando alguien pregunta. Lo único que se indexa —cifrado— es el «quién»: nombres, correos y dominios de cuentas, contactos, leads y oportunidades, para encontrarlos aunque los nombren mal
- La configuración de su org no se toca: ni reglas, ni perfiles, ni permisos, ni código. De los flows se lee sólo el nombre y sus entradas; lo que un flow hace adentro de su org no se lee ni se cambia
- Nada se borra ni se fusiona: no hay ninguna acción de borrado
Cómo se conecta
6 pasos · ≈ 21 min
-
Crear la External Client App en su Salesforce
En Setup, busque «External Client App Manager» → New External Client App. Póngale el nombre de Igniten y un correo de contacto, abra la sección API (Enable OAuth Settings), marque Enable OAuth y elija un solo scope: «Manage user data via APIs (api)».
- Distribution State: Local (la app es sólo de su org)
- Callback URL: es obligatoria aunque esta conexión no la usa; ponga la dirección con la que entra a Igniten
- OAuth Scopes: sólo «Manage user data via APIs (api)»
- Flow Enablement: marque «Enable Client Credentials Flow»
- Hace falta ser administrador de Salesforce (System Administrator).
- La app la crea usted adentro de su org: no se instala nada de Igniten, y por eso no le aplica el bloqueo de apps no instaladas que Salesforce activó en septiembre de 2025.
- No marque «Full access» ni «Perform requests at any time (refresh_token)»: no hacen falta, y este flujo no usa refresh token.
- Si su org todavía muestra «App Manager → New Connected App», es la pantalla anterior de lo mismo: los campos se llaman igual.
Salió bien si La app figura en External Client App Manager con el nombre que le puso.
-
Preparar el usuario de integración
Igniten entra a su Salesforce como UN usuario, y ve y escribe exactamente lo que ese usuario pueda: lo que no le des, Igniten no lo ve ni lo escribe. Cree un usuario dedicado (Setup → Users → New User) con lo mínimo, y dele un permission set con los objetos que quiera que Igniten use.
- User License: «Salesforce Integration» (toda org trae cinco sin cargo); Profile: «Minimum Access - API Only Integrations»
- Un permission set propio con «API Enabled» y Read sobre los objetos que Igniten tenga que ver: cuentas, contactos, leads, oportunidades, casos, campañas, productos, y sus objetos propios
- Si quiere que Igniten escriba, Create y Edit sobre esos mismos objetos. Delete no hace falta nunca: Igniten no borra
- Si quiere que consulte sus reportes, «Run Reports» y acceso a las carpetas donde están
- Revise la visibilidad de los campos (Field-Level Security): un campo oculto para este usuario no existe para Igniten
- Conviene un usuario dedicado y no el de una persona: si esa persona se va de la empresa y le desactivan el usuario, la conexión se corta.
- No use un System Administrator: Igniten vería y podría editar todo su Salesforce, y el punto de este paso es que usted decidas cuánto.
- Los registros que ese usuario ve dependen también de las reglas de compartido de su org (sharing): si sus oportunidades son privadas, dele el acceso que corresponda.
- Todo lo que Igniten cree o edite queda a nombre de este usuario en Salesforce; quién lo pidió queda anotado en el propio registro.
Salió bien si El usuario figura activo en Setup → Users con la licencia Salesforce Integration y su permission set asignado.
-
Elegir ese usuario en «Run As»
Este es el paso que más se saltea, y el síntoma engaña: la app existe, las claves están bien y Salesforce contesta «no client credentials user enabled». En External Client App Manager → su app → Policies → Edit → OAuth Flows and External Client App Enhancements: marque «Enable Client Credentials Flow» y en «Run As» elija el usuario del paso 2.
tuempresa.my.salesforce.com → External Client App Manager → Policies → Enable Client Credentials Flow- Son DOS casillas con el mismo nombre en dos solapas: la de Settings (paso 1) dice que la app PUEDE usar el flujo; la de Policies dice a nombre de QUIÉN. Hacen falta las dos.
- «Run As» pide el nombre de usuario (el que parece un correo), no el nombre de la persona.
- Salesforce avisa que cualquiera con las claves de la app actúa como ese usuario: es así, y por eso el usuario del paso 2 tiene sólo lo necesario.
Salió bien si En Policies, «Run As» muestra el usuario de integración y la casilla del flujo quedó marcada al guardar.
-
Copiar el Consumer Key y el Consumer Secret
En la misma app: Settings → OAuth Settings → «Consumer Key and Secret». Salesforce le pide verificar su identidad con un código por correo antes de mostrarlos. Copie los dos.
tuempresa.my.salesforce.com → External Client App Manager → Settings → Consumer Key and Secret- El Consumer Key es la cadena larga (no es un secreto: identifica a la app). El Consumer Secret es la corta, y ése sí se guarda cifrado.
- Se pueden volver a ver más adelante desde esta misma pantalla, con otra verificación de identidad.
- Una app recién creada puede tardar hasta diez minutos en aceptar conexiones: si la primera consulta dice «invalid_client_id», espere y vuelva a preguntar antes de tocar nada.
Salió bien si Tiene copiados los dos valores completos.
-
Cargar la dirección de su org y las claves de la app
La dirección es el My Domain de su org, sin ruta. El Consumer Key no es un secreto; el Consumer Secret se guarda cifrado y no se vuelve a mostrar.
- El My Domain termina en «.my.salesforce.com». Si es un sandbox, termina en «.sandbox.my.salesforce.com», y las claves son las de la app creada EN ese sandbox.
- Si al guardar dice que la dirección no es de Salesforce, casi siempre es la de la barra del navegador: busque la de Setup → My Domain.
- No crucen los valores: el Consumer Key es el largo.
Salió bien si Los tres campos quedaron cargados y el botón de guardar se habilitó.
-
Queda guardada y en uso
Desde que la guarda, lo que se le pregunte a su CRM sale de Salesforce. Acá no se comprueba contra Salesforce: si la dirección, las claves o el «Run As» del paso 3 están mal, se ve en la primera consulta.
- No hay botón de probar en este recorrido, y es a propósito: lo único que sabríamos contestar es si la fila quedó guardada, no si Salesforce le deja entrar.
- La primera pregunta al asistente sobre su CRM es la prueba: si algo falta, la respuesta dice qué.
- Para cambiar el Consumer Secret se carga uno nuevo: el anterior no se puede volver a ver acá.
Salió bien si Salesforce figura conectado, con los últimos cuatro caracteres del Consumer Secret.
Qué permisos pide
| Permiso | Para qué | Cuándo hace falta |
|---|---|---|
Manage user data via APIs (api) | Hablarle a la API de su org. Es el único scope que se pide | Siempre |
Enable Client Credentials Flow, con un usuario en «Run As» | Que la app pueda pedir su token sin que nadie inicie sesión, a nombre del usuario de integración | Siempre |
API Enabled | Que ese usuario pueda usar la API: sin él, todo contesta que no hay acceso | Siempre |
Read sobre los objetos que quiera que Igniten vea | Responder sobre esos objetos. Lo que no le des, Igniten no lo ve | Siempre |
Create y Edit sobre esos mismos objetos | Dar de alta y editar registros, con su confirmación | quiere que Igniten escriba en Salesforce |
Run Reports | Correr los reportes que ya tiene armados, en las carpetas que ese usuario vea | quiere que Igniten consulte sus reportes |
Los dos niveles de permiso que recomendamos, y qué habilita cada uno, están en Permisos recomendados.
Qué puede salir mal
- Nada de Salesforce responde: «invalid_grant» o «no client credentials user enabled»
-
Por qué La app tiene el flujo habilitado y no tiene usuario en «Run As», o ese usuario está inactivo.
Qué hacer En External Client App Manager → su app → Policies → OAuth Flows, marque Enable Client Credentials Flow y elija el usuario de integración en «Run As» (paso 3).
- Nada responde: «invalid_client_id» o «invalid_client»
-
Por qué El Consumer Key o el Consumer Secret están mal copiados, o son de otra app o de otra org (un sandbox tiene los suyos).
Qué hacer Cópielos de nuevo desde Settings → OAuth Settings → Consumer Key and Secret de ESA app y cárguelos acá. Una app recién creada puede tardar hasta diez minutos en estar disponible.
- Al guardar dice que la dirección no es de Salesforce
-
Por qué Se cargó la dirección de la barra del navegador (…lightning.force.com), que es la interfaz y no la API.
Qué hacer Cargue el My Domain: Setup → My Domain → «Current My Domain URL», con https:// adelante. Termina en .my.salesforce.com.
- Algún objeto o algún campo no aparece, o escribir dice «INSUFFICIENT_ACCESS»
-
Por qué El usuario de integración no tiene permiso sobre ese objeto, o el campo está oculto para él por seguridad a nivel de campo.
Qué hacer Agréguele al permission set del usuario de integración Read (y Create/Edit si va a escribir) sobre ese objeto, y visibilidad sobre ese campo.
- La respuesta dice «REQUEST_LIMIT_EXCEEDED»
-
Por qué Su org agotó su cupo diario de llamadas a la API, que comparten todas sus integraciones y no sólo Igniten.
Qué hacer Se repone solo con el correr de las horas. Setup → Company Information muestra cuánto se usó; si pasa seguido, escríbanos.
- Todo contesta «API_DISABLED_FOR_ORG»
-
Por qué Su edición de Salesforce no incluye acceso por API (Essentials, o Professional sin el complemento).
Qué hacer Pídale a Salesforce el acceso por API para su edición.
Los límites, dichos
- Una búsqueda devuelve como máximo cien registros por pregunta.
- Cada consulta gasta del cupo diario de llamadas a la API de su org.
- Todos consultan con el mismo usuario de integración: en esta versión no hay conexión por persona.
- No borra ni fusiona registros.
Preguntas frecuentes
¿Qué dirección cargo?
El My Domain de su org, sin ruta: Setup → My Domain → «Current My Domain URL» (por ejemplo https://tuempresa.my.salesforce.com). No la de la barra del navegador, que termina en lightning.force.com.
¿Tengo que instalar una app de Igniten en mi Salesforce?
No. La External Client App la crea usted en su propia org, y el Consumer Key y el Consumer Secret son suyos: puede rotarlos o borrar la app cuando quiera, y la conexión se corta en ese momento.
¿Igniten ve todo mi Salesforce?
Ve lo que vea el usuario de integración que eligió en «Run As», ni más ni menos. Por eso conviene un usuario dedicado, con un permission set propio, y no el de un administrador.
¿Cada persona ve sólo lo que ve en Salesforce?
No en esta versión: todos consultan con el usuario de integración, y quién puede consultar el CRM desde Igniten lo decide en los permisos de Igniten. Lo que ese usuario no vea no lo ve nadie.
¿Igniten puede borrar algo de mi Salesforce?
No. No hay ninguna acción de borrado ni de fusión. Lo que escribe se prepara como borrador y sale sólo cuando alguien lo confirma.
¿Sirve para un sandbox?
Sí: cargue el My Domain del sandbox (termina en .sandbox.my.salesforce.com) y el Consumer Key y Secret de la app creada EN ese sandbox.
¿Puedo conectar Salesforce si ya tengo otro CRM cargado?
Puede tener más de uno cargado, pero se consulta uno solo y la respuesta aclara cuál. Para pasar a Salesforce, quite la clave del otro CRM desde esta misma pantalla.