Integración · CRM
Conectar Microsoft · Dynamics 365 CRM a Igniten
Conecte su Dynamics 365 (Sales, sobre Dataverse) para que Igniten pueda contestar sobre cuentas, contactos y oportunidades con su estado real, y —si lo habilita— escribir en él con su confirmación: dejar una nota, crear una tarea, dar de alta un contacto o mover una oportunidad de etapa. Nada del CRM se copia a un índice aparte: cada pregunta se responde leyendo su entorno en el momento.
Qué lee Igniten, y qué no
Lee
- Cuentas, contactos y oportunidades, con sus campos y su etapa
- Notas y tareas asociadas a esos registros
- Los usuarios del entorno, para poder asignar una tarea a alguien
- Las etapas de venta tal como están configuradas en su entorno
No lee
- Las tablas personalizadas que haya creado en su entorno
- Nada que el rol de seguridad del usuario de aplicación (o de cada persona, en el modo persona) no permita ver
- Los registros no se copian ni se guardan: se leen cuando alguien pregunta
- Nada se borra: no hay ninguna acción de borrado
Cómo se conecta
6 pasos · ≈ 20 min
-
Registrar la aplicación en Microsoft Entra ID
Si ya conectó Business Central, es la MISMA app registration: no hace falta otra. Si no, en portal.azure.com: Microsoft Entra ID → App registrations → New registration, con el nombre de Igniten y «Accounts in this organizational directory only». De la pantalla Overview anote el Directory (tenant) ID y el Application (client) ID.
portal.azure.com → Microsoft Entra ID → App registrations → New registration- Hace falta alguien con permiso para registrar aplicaciones en su directorio (Application Administrator, o un administrador global).
- En «Supported account types» elija la primera opción, «Accounts in this organizational directory only»: la app es sólo de su empresa.
- La Redirect URI déjela vacía por ahora: sólo hace falta si va a usar el modo persona, y se carga en un paso de más adelante.
- Los dos identificadores están arriba de todo en Overview, cada uno con un botón de copiar al lado.
Salió bien si La app aparece en App registrations → All applications con el nombre que le puso, y tiene anotados los dos identificadores.
-
Crear el client secret
En la misma app registration: Certificates & secrets → Client secrets → New client secret. Copie el Value en ese momento: Azure no lo vuelve a mostrar. Anote cuándo vence: ese día la conexión deja de responder, y hay que cargar uno nuevo acá.
portal.azure.com → App registrations → Certificates & secrets → New client secret- Copie la columna «Value», no «Secret ID»: el Secret ID no sirve para conectarse, y es el error más común de este paso.
- El vencimiento lo elige usted (hasta 24 meses). Anótelo: ese día las consultas empiezan a fallar y hay que crear otro y cargarlo acá.
- Si cerró la pantalla sin copiarlo, no se recupera: cree uno nuevo y borre el que quedó sin usar.
Salió bien si El secret figura en la lista con su fecha de vencimiento y tiene copiado su Value completo.
-
Crear el usuario de aplicación en su entorno
Este es el paso que casi todos se saltean, y el síntoma engaña: el token sale bien y las consultas contestan 401. La app registration existe en su directorio y todavía no existe adentro de Dataverse. En admin.powerplatform.microsoft.com: Environments → su entorno → Settings → Users + permissions → Application users → New app user.
- La app registration del paso 1: búsquela por el Application (client) ID
- Una unidad de negocio: si tiene una sola, es la raíz
- Un rol de seguridad con lectura de cuentas, contactos, oportunidades, notas y tareas
- Si quiere que Igniten escriba, ese rol necesita además Create y Write sobre esas mismas tablas
- Lo que no le des a este usuario, Igniten no lo ve
- Hace falta ser administrador del entorno en Power Platform (System Administrator), no alcanza con serlo en Azure.
- En «Add an app» busque por el Application (client) ID: el nombre a veces tarda unos minutos en aparecer.
- Para una prueba sirve el rol «Salesperson», que lee y escribe cuentas, contactos y oportunidades. Para producción conviene un rol propio con sólo lo que Igniten necesita.
- Sin rol de seguridad el usuario existe pero no ve nada: el síntoma es el mismo 401.
Salió bien si La app figura en Application users con estado Active y con al menos un rol de seguridad asignado.
-
Si elige el modo persona: el permiso delegado y la vuelta
Sólo si en «Cómo se conecta cada persona» va a poner «persona». En la app registration: API permissions → Add a permission → Microsoft APIs → Dynamics CRM (en algunos directorios figura como Dataverse) → user_impersonation (Delegated permissions), y después Grant admin consent (sin eso cada persona tendría que consentir sola, y la mayoría no llega). Y en Authentication → Add a platform → Web, agregue como Redirect URI la dirección con la que entra a Igniten seguida de /auth/dynamics/callback (por ejemplo https://tuempresa.igniten.io/auth/dynamics/callback). Cada persona conecta su cuenta una vez desde el enlace que le da el asistente la primera vez que pregunta por su CRM.
portal.azure.com → App registrations → API permissions → Grant admin consent- Si todos van a consultar con la aplicación (el modo por omisión), saltee este paso entero.
- La Redirect URI tiene que ser EXACTAMENTE la de su Igniten, con https y sin barra al final: si difiere en una letra, Microsoft rechaza el login con el error AADSTS50011.
- En este modo cada persona ve lo que ve en Dynamics con su propio usuario; quien no conectó su cuenta recibe el enlace y no consulta hasta hacerlo.
Salió bien si En API permissions el permiso delegado figura con el tilde verde de «Granted», y en Authentication está la Redirect URI con su dirección.
-
Cargar la dirección de su entorno y la app registration
La dirección es la Environment URL de su entorno, sin ruta. El tenant id y el client id no son secretos; el client secret se guarda cifrado y no se vuelve a mostrar.
- La dirección es la que ve en el navegador cuando abre su Dynamics, cortada después de «.dynamics.com».
- El client secret es el Value del paso 2, no el Secret ID.
- «Cómo se conecta cada persona» vacío es lo habitual: todos consultan con la aplicación. Ponga «persona» sólo si hizo el paso 4.
Salió bien si Los campos obligatorios 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 Dynamics. Acá no se comprueba contra Microsoft: si la dirección, el client secret o el usuario de aplicación 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 Microsoft le deja entrar.
- La primera pregunta al asistente sobre su CRM es la prueba: si algo falta, la respuesta dice qué.
- Para cambiar el client secret se carga uno nuevo: el anterior no se puede volver a ver.
Salió bien si Dynamics 365 CRM figura conectado, con los últimos cuatro caracteres del client secret.
Qué permisos pide
| Permiso | Para qué | Cuándo hace falta |
|---|---|---|
Application user ligado a la app registration | Que la app exista adentro de Dataverse: sin él, todo contesta 401 | Siempre |
Rol de seguridad con Read sobre Account, Contact, Opportunity, Note y Task | Responder sobre cuentas, contactos, oportunidades, notas y tareas | Siempre |
Create y Write sobre esas mismas tablas | Crear notas, tareas, contactos, cuentas y oportunidades, y editarlos | quiere que Igniten escriba en el CRM |
Dynamics CRM → user_impersonation (Delegated) | Que cada persona consulte con su propia cuenta y sus propios permisos | elige que cada persona conecte su cuenta |
Los dos niveles de permiso que recomendamos, y qué habilita cada uno, están en Permisos recomendados.
Qué puede salir mal
- Nada del CRM responde, aunque la credencial está bien cargada
-
Por qué Falta el usuario de aplicación en el entorno, o no tiene rol de seguridad. Microsoft entrega el token igual y después contesta 401.
Qué hacer Cree el Application user en Power Platform admin center con la app del paso 1 y asígnele un rol (paso 3).
- Leer anda, pero crear una nota o una tarea dice que no hay permiso
-
Por qué El rol del usuario de aplicación tiene Read y no Create/Write sobre esa tabla.
Qué hacer Agréguele Create y Write sobre esa tabla al rol de seguridad.
- La respuesta dice que Dynamics limitó los pedidos y hay que esperar
-
Por qué Microsoft limita los pedidos por usuario en ventanas de cinco minutos; con la aplicación, todo su equipo comparte ese límite.
Qué hacer Espere los segundos que indica la respuesta. Si pasa seguido, escríbanos.
- Nada responde y la nota habla de la credencial de Microsoft
-
Por qué El client secret está mal copiado (se pegó el Secret ID en vez del Value), venció, o el tenant id / client id no son los de la app.
Qué hacer Cree un client secret nuevo, copie su Value y cárguelo de nuevo acá junto con los dos identificadores de la pantalla Overview.
- Le pide que conecte su cuenta de Microsoft y el enlace da un error AADSTS50011
-
Por qué El modo es «persona» y la Redirect URI registrada no coincide con la de su Igniten.
Qué hacer En la app registration → Authentication, cargue exactamente https://<su empresa>.igniten.io/auth/dynamics/callback, sin barra al final.
Los límites, dichos
- Una búsqueda devuelve como máximo cien registros por pregunta.
- Dataverse limita los pedidos por usuario en ventanas de cinco minutos.
- Las notas y las tareas se crean colgando de un solo registro cada una.
Preguntas frecuentes
¿Qué dirección cargo?
La Environment URL de su entorno, sin ruta: la que ve en el navegador al abrir Dynamics, cortada después de «.dynamics.com» (por ejemplo https://tuempresa.crm.dynamics.com; según la región puede ser crm2, crm4…).
¿Igniten puede borrar algo de mi CRM?
No. No hay ninguna acción de borrado. Lo que escribe se prepara como borrador y sale sólo cuando alguien lo confirma.
¿Puedo conectar Dynamics si ya tengo Twenty o HubSpot?
Puede tener más de uno cargado, pero se consulta uno solo —Twenty, después HubSpot, después Dynamics— y la respuesta aclara cuál. Para pasar a Dynamics, quite la clave del otro CRM desde esta misma pantalla.
¿Conviene que se conecte la aplicación o cada persona?
Con la aplicación es lo más simple: una sola configuración y todos consultan con los permisos que le dio. Por persona, cada uno ve exactamente lo que ve en Dynamics y lo que escribe queda a su nombre, pero cada uno tiene que conectar su cuenta una vez. Se elige en el campo «Cómo se conecta cada persona» y se puede cambiar cuando quiera.
¿Qué pasa cuando vence el client secret?
Las consultas empiezan a fallar ese día. Cree uno nuevo en la app registration, cárguelo acá, y borre el vencido en Azure.