Conexión Fuente Microsoft Dynamics 365

CRM|16 min de lectura|Actualizado: 18 sept 2026

Requisitos Previos

Antes de configurar la conexión de origen Dynamics 365 en Crestone, asegúrese de contar con lo siguiente:

Requisito Principal: Un entorno activo de Microsoft Dynamics 365 (Sales, Customer Service, Field Service o cualquier aplicación basada en modelos) con un registro de aplicación en Azure AD que cuente con acceso a la API. Crestone se conecta mediante la API web de Dynamics 365 (OData v4) utilizando el flujo OAuth 2.0 client credentials — no se requiere inicio de sesión de usuario interactivo.

Nota: Crestone utiliza la API web de Dynamics 365 sobre HTTPS. No se requiere controlador de base de datos, ODBC ni una puerta de enlace (gateway) local.


Registro de Aplicación en Azure AD

Necesita un registro de aplicación en Azure Active Directory con un secreto de cliente. Si aún no dispone de uno, siga estos pasos:

  1. Vaya a portal.azure.com → Azure Active Directory → App registrations → New registration.
  2. Asígnele un nombre (ej. Crestone Integration) y haga clic en Register.
  3. En Certificates & secrets → Client secrets, haga clic en New client secret. Copie el valor inmediatamente — no se volverá a mostrar.
  4. En API permissions, haga clic en Add a permission → Dynamics CRM → Delegated permissions → seleccione user_impersonation. Luego haga clic en Grant admin consent.
  5. Copie el Application (client) ID y el Directory (tenant) ID desde la página de Overview de la aplicación.

Información Requerida:

CampoDescripción
Organization URLURL base de su entorno Dynamics 365 (ej. https://orgXXXXXX.crm.dynamics.com)
Tenant IDID de directorio (inquilino / tenant) de Azure AD (GUID)
Client IDID de aplicación (cliente) de Azure AD (GUID)
Client SecretValor del secreto generado en el registro de la aplicación

Consejo: La Organization URL se encuentra en la aplicación Dynamics 365 en Settings → Developer Resources → Web API.


Usuario de Aplicación en Power Platform

El registro de la aplicación de Azure también debe agregarse como un Application User en el entorno de Power Platform. Sin este paso, la conexión fallará con 0x80072560 - The user is not a member of the organization.

  1. Vaya a admin.powerplatform.microsoft.com.
  2. Seleccione su entorno → Settings → Users + permissions → Application users.
  3. Haga clic en New app user → seleccione el registro de aplicación creado → asigne el rol de seguridad System Administrator (o un rol personalizado de solo lectura).
  4. Haga clic en Create.

Paso de Pre-Verificación

Antes de configurar la conexión en Crestone, recomendamos verificar el acceso directamente contra la API web de Dynamics 365. Puede utilizar Postman o curl:

1. Adquirir un token:

code
POST https://login.microsoftonline.com/{tenant_id}/oauth2/v2.0/token
Content-Type: application/x-www-form-urlencoded

grant_type=client_credentials
&client_id={client_id}
&client_secret={client_secret}
&scope=https://{org}.crm.dynamics.com/.default

2. Llamar a la API:

code
GET https://{org}.crm.dynamics.com/api/data/v9.2/accounts?$top=5
Authorization: Bearer {access_token}
OData-Version: 4.0
Accept: application/json

Una respuesta 200 OK con un arreglo value confirma que las credenciales son válidas y que el usuario de la aplicación está correctamente configurado.


Pasos de Configuración

Siga estos pasos para crear una nueva conexión de origen Dynamics 365 en Crestone:

  1. Navegue a Connections en la barra de navegación superior.
  2. Seleccione la pestaña Source.
  3. Haga clic en el botón + para crear una nueva conexión.
  4. Complete el campo Connection Name con un nombre descriptivo (ej. Dynamics 365 Sales).
  5. En el menú desplegable Source Type, seleccione Microsoft Dynamics 365.
  6. Complete el formulario de credenciales:
    • Organization URL — ej. https://orgXXXXXX.crm.dynamics.com
    • Tenant ID — GUID del directorio de Azure AD
    • Client ID — GUID de la aplicación de Azure AD
    • Client Secret — valor del secreto de la aplicación
  7. Haga clic en Test Connection para validar que Crestone pueda autenticarse y conectarse a la API de Dynamics.
  8. Una vez superada la prueba, haga clic en Create Source para guardar la conexión.

Edición de una Conexión Existente

Para actualizar las credenciales de una conexión de origen Dynamics 365 existente:

  1. Navegue a Connections y localice su origen Dynamics 365.
  2. Haga clic en Edit.
  3. Modifique los campos deseados en el formulario de credenciales.
  4. Haga clic en Test Connection para verificar las nuevas credenciales.
  5. Haga clic en Confirm para guardar los cambios.

Uso de Dynamics 365 como Fuente en un Nodo de Extracción

Una vez creada la conexión, puede utilizarla como origen de un Extraction Node. Dynamics 365 utiliza un modelo basado en entidades — no hay esquemas ni tablas. Cada entidad (ej. account, contact, opportunity) se asigna a un conjunto de registros.

  1. Abra o cree un Extraction Node y diríjase a la pestaña Source.
  2. En Select Source, elija su conexión Dynamics 365.
  3. En Select Entity, elija la entidad a extraer (ej. Account, Contact). La lista muestra todas las entidades habilitadas para Búsqueda Avanzada (Advanced Find) en su entorno.
  4. En Select Fields, seleccione las columnas específicas que desea, o déjelo vacío para extraer todos los campos seleccionables.
  5. Opcionalmente, agregue un Filtro OData para restringir los registros (ej. statecode eq 0 para obtener solo registros activos).
  6. El panel de Preview muestra una muestra de los datos que se extraerán.

Nota: Los campos de tipo Lookup, Owner, Customer, PartyList, Virtual y CalendarRules se excluyen automáticamente de la lista de campos. Estas son propiedades de navegación/complejas que no se pueden usar en consultas $select y causarían errores de API si se incluyeran. Si necesita datos de entidades relacionadas (por ejemplo, el nombre del usuario propietario), utilice una expresión $expand de OData o una extracción de entidad independiente.


Manejo de Tipos de Datos

Cuando Crestone lee datos de Dynamics 365, los tipos de atributos se devuelven como primitivas de OData. La asignación a los tipos de destino es:

Tipo de Atributo Dynamics 365Tipo OData / PythonNotas
String, MemostrCampos de texto y texto multilínea
Integer, BigIntintNúmeros enteros
Decimal, Money, DoublefloatCampos numéricos con decimales
BooleanboolCampos de dos opciones
DateTimestr (ISO 8601)Devuelto como 2026-06-13T18:54:11Z
Picklist, State, StatusintValores de conjuntos de opciones (códigos numéricos)
UniqueIdentifierstrGUIDs (ej. campos de clave primaria)
EntityNamestrNombre lógico de la entidad
Lookup (excluido)—Propiedad de navegación; no seleccionable
Owner (excluido)—Propiedad de navegación; no seleccionable
Virtual (excluido)—Calculado; no seleccionable

Nota: Los campos Picklist, State y Status devuelven el código de opción numérico, no la etiqueta de visualización. Para obtener la etiqueta, se requeriría una búsqueda independiente en los metadatos de la entidad.


Problemas Frecuentes

ProblemaCausa PosibleSolución
Authorization header missingJWT no enviado en la solicitudAsegúrese de que el encabezado Authorization: Bearer <token> se incluya en cada solicitud
0x80072560 - The user is not a member of the organizationEl registro de la aplicación no se ha agregado como Application User en Power PlatformCree el usuario de la aplicación en el Centro de Administración de Power Platform y asígnele un rol de seguridad (consulte Requisitos Previos)
0x80060888 - Query parameter not supportedParámetro de consulta OData no válidoEvite $top en endpoints de metadatos; Crestone gestiona esto automáticamente
400 Bad Request en consulta de entidadEl campo seleccionado es de tipo navegación/complejoEl campo ha sido excluido automáticamente en las versiones recientes. Limpie la selección de campos y vuelva a seleccionarlos
401 UnauthorizedToken expirado o ámbito (scope) incorrectoLos tokens expiran después de 1 hora. Crestone re-adquiere los tokens automáticamente; si realiza pruebas manuales, solicite un nuevo token con el ámbito {organization_url}/.default
403 ForbiddenEl usuario de la aplicación carece de rol de seguridadAsigne al menos el rol Basic User + acceso de lectura sobre las tablas de destino en el rol de seguridad de Power Platform
Lista de entidades vacíaEl usuario de la aplicación no tiene acceso a ninguna entidadVerifique que el rol de seguridad asignado al usuario de la aplicación otorgue acceso al menos a algunas entidades
La vista previa devuelve datos vacíosNo hay registros en la entidad o el filtro OData excluye todas las filasElimine el filtro OData o verifique que existan datos en Dynamics
ORA-00904 al cargar en OracleDiscrepancia de mayúsculas/minúsculas en los nombres de columna entre la creación e inserciónCorregido en la versión actual: los nombres de columna se normalizan a mayúsculas antes de la creación de la tabla

Permisos Requeridos en Dynamics 365

Crestone solo lee datos de Dynamics 365 (conector de origen). El usuario de la aplicación requiere:

  • Privilegio de Lectura (Read) en todas las entidades que desee extraer
  • Rol de seguridad del sistema Basic User como mínimo, más acceso de lectura sobre las tablas específicas

Para un rol de solo lectura mínimo, cree un rol de seguridad personalizado en Power Platform con el permiso de Lectura configurado a nivel de Organización en las entidades a las que accederá Crestone.

Consejo: Asignar System Administrator al usuario de la aplicación otorga acceso total y resulta conveniente para pruebas, pero para entornos de producción se recomienda un rol de seguridad personalizado con privilegios mínimos.