Dynamics 365 CRM (Dataverse)
Cómo se conecta el servidor MCP de Plur-e para Dynamics 365 CRM a Dataverse, sus herramientas genéricas, las campañas de Customer Insights - Journeys, ámbitos, aprobaciones y límites.
Respuesta rápida
El servidor /crm se conecta a cualquier entorno de Dataverse — Sales, Customer Service
o las tablas propias de un tenant — mediante el consentimiento único de un administrador, y
expone herramientas genéricas (listar, describir, consultar, crear, actualizar…) guiadas por
una skill por tabla. Donde Customer Insights - Journeys está instalado, un puñado de
herramientas de alto nivel y una skill pensada para negocio dejan que Claude redacte segmentos
y journeys, y los publique tras confirmación. Todo queda con ámbito por rol, auditado y puede
requerir aprobación.
Conectar un entorno
Connect with Microsoft (recomendado): en el Admin Center, AI & MCP → Dynamics 365 CRM → Connect with Microsoft, un administrador del tenant inicia sesión una vez con su cuenta de administrador de Dynamics 365 y consiente; el callback lista los entornos del tenant de Microsoft Entra ID y el administrador elige cuál (o cuáles) conectar. Plur-e pide entonces, en segundo plano, un token para el entorno elegido con el inicio de sesión en caché y crea un usuario de aplicación en él — la identidad que usa el servidor a partir de ahí, independiente de la cuenta propia del administrador.
El alta manual sigue funcionando para administradores que la prefieran o cuya política de tenant bloquee la pantalla de consentimiento: se introduce la URL del entorno directamente en la misma página, luego se crea el usuario de aplicación en el Power Platform admin center con el application id que muestra el Admin Center, y se pulsa Verify connection.
Dos modos de identidad, por conexión:
- AppOnly (por defecto) — cada llamada se ejecuta como el usuario de aplicación; se aplican los roles de seguridad de Dataverse que el administrador asignó a ese usuario.
- AppOnlyImpersonate — el servidor añade el
oidde Dataverse del usuario que llama como caller, de modo que se aplican sus propios roles de seguridad (propiedad del registro, seguridad a nivel de campo). Requiere que el usuario de aplicación tenga el privilegio Act on Behalf of Another User.
Si la petición silenciosa del token falla (el inicio de sesión en caché caducó, o la cuenta del administrador perdió acceso al entorno), el Admin Center muestra Grant access para esa conexión en concreto, para repetir el consentimiento sin rehacer el descubrimiento de las demás.
Herramientas genéricas
Cada tabla del entorno conectado — estándar o personalizada — se alcanza con el mismo conjunto
pequeño de herramientas; una skill (se lee con crm_get_skill) documenta los campos, las
relaciones y las particularidades de cada tabla.
| Herramienta | Ámbito | Qué hace |
|---|---|---|
crm_list_entities | lectura | Tablas del entorno conectado |
crm_describe_entity | lectura | Metadatos en vivo de una tabla, con su skill como guía |
crm_query | lectura | Consulta OData — filtro, expand, orden, paginación |
crm_fetchxml | lectura | Consulta FetchXML para agregados o joins que OData no puede expresar |
crm_get_record | lectura | Un registro por id |
crm_search | lectura | Búsqueda de Dataverse entre tablas, con alternativa OData |
crm_create_record | escritura | Crea un registro |
crm_update_record | escritura | Actualiza campos de un registro |
crm_delete_record | escritura | Elimina un registro |
crm_set_state | escritura | Cambia el estado y el motivo de estado |
crm_assign | escritura | Reasigna un registro a un usuario o equipo |
crm_associate | escritura | Enlaza dos registros mediante una relación |
crm_execute_action | escritura | Ejecuta una acción o función de Dataverse de una lista blanca explícita |
crm_whoami | lectura | El usuario de aplicación y los roles de seguridad en uso |
crm_list_connections / crm_select_connection | lectura | Los entornos conectados del tenant, y cuál usar a continuación |
Ver Flujos móviles de Business Central para el mismo patrón
en el servidor /bc: skills como contexto autoritativo, llamadas con el estilo
{ method, parameters } y avisos de contabilización/publicación conservados tal cual.
Customer Insights - Journeys
Donde un entorno conectado tiene Customer Insights - Journeys instalado, el servidor añade
guías bajo journeys/ (overview, segments, content-and-emails, triggers-and-events,
forms-and-consent, analytics) y fichas de sus tablas (entities/msdynmkt_*: journeys,
plantillas, segmentos, correos, formularios, disparadores, consentimiento…), sobre las
herramientas genéricas de arriba. Un puñado de herramientas de alto nivel cubre las acciones del
día a día sin escribir OData a mano:
| Herramienta | Ámbito | Qué hace |
|---|---|---|
crm_marketing_overview | lectura | Si Customer Insights - Journeys está instalado (journeysInstalled), si los eventos personalizados lo están (eventsInstalled) y si hay campañas clásicas disponibles (classicCampaignsAvailable), además de las listas journeys, segments, emails, forms, triggers y classicCampaigns, y un array warnings[] |
crm_segment_members | lectura | Miembros de un segmento y por qué califica cada uno |
crm_journey_create_from_template | escritura | Redacta un journey en tiempo real a partir de una plantilla — segmento, contenido, disparador — sin publicarlo |
crm_journey_publish | escritura | Publica un journey; puede requerir aprobación según la política de escritura del tenant |
crm_segment_publish | escritura | Publica un segmento para que Customer Insights - Journeys empiece a evaluar miembros; puede requerir aprobación según la política de escritura del tenant |
Claude llama siempre primero a crm_marketing_overview para comprobar si el entorno tiene
Customer Insights - Journeys antes de ofrecer acciones específicas de journeys o segmentos; en
entornos sin él, solo aplica el camino de campañas clásicas de abajo.
Campañas
La skill flows/campaign-management está escrita para un usuario de negocio, no para un
desarrollador: guía a Claude para convertir un brief en lenguaje natural ("envía un correo a
nuestras cuentas de Texas sobre la nueva lista de precios") en una audiencia, un mensaje y, en
entornos con Customer Insights - Journeys, un journey — o, en tenants sin él, una campaña
clásica (tablas campaign, list, campaignactivity, campaignresponse de Dynamics 365
Sales).
Qué decirle a Claude: para quién es la campaña (con tus propias palabras — una lista de cuentas,
la definición de un segmento, una lista de criterios), qué enviar y por qué canal, y cuándo. La
skill sigue un orden fijo para que nada salga sin que lo hayas visto: Claude previsualiza la
audiencia con crm_query sobre tus criterios y te muestra a quién incluye; cuando confirmas,
llama a crm_segment_publish; después llama a crm_segment_members para verificar el tamaño
real del segmento ya publicado antes de seguir; cuando vuelves a confirmar, redacta el journey
con crm_journey_create_from_template y solo llama a crm_journey_publish tras una confirmación
final. crm_segment_publish y crm_journey_publish son herramientas de escritura que la
política de aprobación de un tenant puede seguir bloqueando aunque confirmes en la conversación.
El Plur-e Plugin incluye un comando dedicado /plure-campaign <brief>
que sigue esta skill de principio a fin.
Ámbitos y aprobaciones
Los ámbitos de las herramientas siguen el mismo modelo que /bc: cada herramienta es de
lectura o escritura; la lectura está habilitada por defecto para todos los roles, la
escritura queda en None hasta que un administrador del tenant la concede por rol (AI & MCP →
Scopes). Las herramientas de escritura genéricas (crm_create_record, crm_update_record, …) y
las de publicación de Customer Insights - Journeys pueden además requerir aprobación del
administrador o una confirmación en el cliente, según la política de escritura del tenant —
ver Modelo de seguridad de MCP.
Límites y qué no cubre
- Las analíticas no se exponen como filas. Customer Insights - Journeys guarda las métricas
de interacción (aperturas, clics, conversiones) en un almacén de analítica fuera de la Web API
estándar de Dataverse;
crm_marketing_overviewy la guíajourneys/analyticsresumen lo que es alcanzable, pero no hay un equivalente acrm_querypara analítica a nivel de evento. - Outbound marketing (la app clásica) está retirada por Microsoft; las skills y herramientas apuntan solo a Customer Insights - Journeys (journeys en tiempo real) y a las campañas clásicas de Sales.
crm_execute_actionsolo ejecuta acciones y funciones de una lista blanca explícita; una acción de un plugin personalizado que no esté en ella no es alcanzable hasta que Plur-e la añada.- El acceso Delegated (por conexión, en nombre del usuario) está en el roadmap; hoy toda llamada es AppOnly o AppOnlyImpersonate.
Flujos móviles de Business Central
El mismo patrón de herramientas y skills para Business Central.
Memoria del tenant
Cómo el servidor recuerda términos y preferencias por tenant, también para CRM y campañas.
Relacionado: Conectar Claude · Memoria del tenant · Modelo de seguridad · Página de producto
Herramientas de Dynamics 365 CRM
Catálogo de herramientas del servidor MCP de Plur-e para Dynamics 365 Sales y Customer Service — leads, oportunidades, cotizaciones con precios de Business Central, casos y actividades.
Memoria del tenant
Una memoria pequeña, explícita y auditable por tenant que usan los dos servidores MCP de Plur-e para recordar correcciones, términos y preferencias — qué guarda, cómo revisarla y sus límites.