Compartir a través de


Funcionalidades del agente declarativo en TypeSpec para Microsoft 365 Copilot

TypeSpec para Microsoft 365 Copilot proporciona funcionalidades integradas que permiten a los agentes declarativos acceder a los servicios y recursos externos de Microsoft 365. Entre las funcionalidades disponibles se incluyen CodeInterpreter, CopilotConnectors, Dataverse, Email, GraphicArt, Meetings, OneDriveAndSharePoint, Personas, ScenarioModels, TeamsMessages y WebSearch. Cada funcionalidad se puede configurar con parámetros específicos para controlar el ámbito.

Funcionalidad Descripción
CodeInterpreter Genere y ejecute código de Python para resolver problemas matemáticos, analizar datos y crear visualizaciones.
CopilotConnectors Busque información de conexión a tierra en los conectores de Microsoft 365 Copilot seleccionados.
Dataverse Busque información en entornos y tablas de Microsoft Dataverse.
Correo electrónico Busque mensajes de correo electrónico en buzones accesibles.
GraphicArt Crear imágenes y arte basados en la entrada de texto.
Reuniones Buscar contenido de reunión.
OneDriveAndSharePoint Busque información de base en sitios de SharePoint y OneDrive.
Personas Busque información sobre las personas de la organización.
ScenarioModels Use modelos específicos de tareas para escenarios especializados.
TeamsMessages Busque en canales de Teams, reuniones y chats.
WebSearch Busque información de puesta a tierra en la web.

AgentCapabilities.CodeInterpreter

Indica que el agente declarativo puede generar y ejecutar código de Python para resolver problemas matemáticos complejos, analizar datos, generar visualizaciones y mucho más.

op codeInterpreter is AgentCapabilities.CodeInterpreter;

Ejemplo

op codeInterpreter is AgentCapabilities.CodeInterpreter;

AgentCapabilities.CopilotConnectors

Indica que el agente declarativo puede buscar información de puesta a tierra en los conectores copilot seleccionados.

op copilotConnectors is AgentCapabilities.CopilotConnectors;

Parameters

Nombre Tipo Description
Connections Matriz de conexión Opcional. Matriz de objetos que identifican los conectores de Copilot disponibles para el agente declarativo. Si se omite esta propiedad, todos los conectores de Copilot de la organización están disponibles para el agente declarativo.

Modelos

Connection

Identifica un conector copilot.

Propiedades
Nombre Tipo Descripción
connectionId string Obligatorio. Identificador único del conector de Copilot.
additionalSearchTerms string Opcional. Consulta de Lenguaje de consulta por palabra clave (KQL) para filtrar elementos en función de los campos del esquema de la conexión.
itemsByContainerName Matriz de ContainerNameItem Opcional. Filtra los elementos disponibles para el agente por nombre de contenedor (la containerName etiqueta semántica en los elementos).
itemsByContainerUrl Matriz de ContainerUrlItem Opcional. Filtra los elementos disponibles para el agente por dirección URL del contenedor (la containerUrl etiqueta semántica en los elementos).
itemsByExternalId Matriz de ExternalIdItem Opcional. Especifica elementos específicos por identificador en el conector de Copilot que están disponibles para el agente.
itemsByExternalUrl Matriz de ExternalUrlItem Opcional. Especifica los elementos por dirección URL externa en el conector de Copilot que están disponibles para el agente.
itemsByPath Matriz de PathItem Opcional. Filtra los elementos disponibles para el agente por rutas de acceso de elementos (la itemPath etiqueta semántica en los elementos).

ContainerNameItem

Identifica un contenedor por su nombre.

Propiedades
Nombre Tipo Descripción
containerName string Obligatorio. Nombre del contenedor (containerName valor de etiqueta semántica) del elemento externo.

ContainerUrlItem

Identifica un contenedor por su dirección URL.

Propiedades
Nombre Tipo Descripción
containerUrl string Obligatorio. Dirección URL del contenedor (containerUrl valor de etiqueta semántica) del elemento externo.

ExternalIdItem

Identifica un elemento externo por su identificador.

Propiedades
Nombre Tipo Descripción
externalId string Obligatorio. Identificador único del elemento externo.

ExternalUrlItem

Identifica un elemento externo por su dirección URL.

Propiedades
Nombre Tipo Descripción
url string Obligatorio. Dirección URL del elemento externo.

PathItem

Identifica un elemento externo por su ruta de acceso.

Propiedades
Nombre Tipo Descripción
path string Obligatorio. Ruta de acceso (itemPath valor de etiqueta semántica) del elemento externo.

Ejemplo

// Basic Copilot connectors with no restrictions
op copilotConnectors is AgentCapabilities.CopilotConnectors;

// Specific connectors
op copilotConnectors is AgentCapabilities.CopilotConnectors<Connections = [
  {
    connectionId: "ticketsconnector123";
  },
  {
    connectionId: "wikiconnector123";
  }
]>;

// Specific connector with KQL filtering
op copilotConnectors is AgentCapabilities.CopilotConnectors<Connections = [
  {
    connectionId: "ticketsconnector123";
    additionalSearchTerms: "CreatedDate>=2024-01-01 AND Priority:High";
  }
]>;

// Multiple connectors with different filtering approaches
op copilotConnectors is AgentCapabilities.CopilotConnectors<Connections = [
  {
    connectionId: "ticketsconnector456";
    itemsByPath: [
      { path: "/projects/customer-portal" },
      { path: "/projects/mobile-app" }
    ];
    itemsByContainerName: [
      { containerName: "Engineering Projects" },
      { containerName: "Product Backlog" }
    ];
  },
  {
    connectionId: "wikiconnector789";
    additionalSearchTerms: "space:ENGINEERING AND lastModified>now()-30d";
    itemsByContainerUrl: [
      { containerUrl: "https://wiki.contoso.com/ENGINEERING" },
      { containerUrl: "https://wiki.contoso.com/PRODUCT" }
    ];
  },
  {
    connectionId: "databaseconnector012";
    itemsByExternalId: [
      { externalId: "customer001" },
      { externalId: "customer002" },
      { externalId: "customer007" }
    ];
  }
]>;

AgentCapabilities.Dataverse

Indica que el agente declarativo puede buscar información en Microsoft Dataverse.

op dataverse is AgentCapabilities.Dataverse;

Parameters

Nombre Tipo Description
KnowledgeSources Matriz de DataverseKnowledgeSource Opcional. Matriz de objetos que identifican los orígenes de conocimiento de Dataverse disponibles para el agente declarativo. Si se omite esta propiedad, todos los entornos de Dataverse accesibles están disponibles para el agente declarativo.

Modelos

DataverseKnowledgeSource

Representa un origen de conocimiento de Dataverse.

Propiedades
Nombre Tipo Descripción
hostName string Obligatorio. Nombre de host del entorno de Dataverse.
skill string Opcional. Identificador de aptitud para el origen de conocimiento.
tables Matriz de DataverseTable Opcional. Matriz de tablas a las que puede tener acceso el agente declarativo. Si se omite esta propiedad, todas las tablas accesibles del entorno están disponibles para el agente declarativo.

DataverseTable

Representa una tabla de Dataverse.

Propiedades
Nombre Tipo Descripción
tableName string Obligatorio. Nombre lógico de la tabla.

Ejemplo

// Basic Dataverse with no restrictions
op dataverse is AgentCapabilities.Dataverse;

// Dataverse with specific environment
op dataverse is AgentCapabilities.Dataverse<KnowledgeSources = [
  {
    hostName: "contoso.crm.dynamics.com";
  }
]>;

// Dataverse with specific tables
op dataverse is AgentCapabilities.Dataverse<KnowledgeSources = [
  {
    hostName: "contoso.crm.dynamics.com";
    tables: [
      { tableName: "account" },
      { tableName: "contact" },
      { tableName: "opportunity" }
    ];
  }
]>;

// Dataverse with skill and tables
op dataverse is AgentCapabilities.Dataverse<KnowledgeSources = [
  {
    hostName: "contoso.crm.dynamics.com";
    skill: "sales-assistant";
    tables: [
      { tableName: "account" },
      { tableName: "lead" }
    ];
  }
]>;

AgentCapabilities.Email

Indica que el agente declarativo puede buscar mensajes de correo electrónico en los buzones a los que el usuario tiene acceso.

op email is AgentCapabilities.Email;

Parameters

Nombre Tipo Description
Folders Matriz de carpeta Opcional. Matriz de objetos folders.
SharedMailbox string Opcional. Dirección SMTP de un buzón compartido.

Modelos

Folder

Propiedades
Nombre Tipo Descripción
folderId string Obligatorio. Nombre de carpeta conocido o identificador de carpeta de la carpeta a la que se va a hacer referencia.

Ejemplo

// Basic email search with no restrictions
op email is AgentCapabilities.Email;

// Email search with specific well-known folders
op email is AgentCapabilities.Email<
  Folders = [
    { folderId: "Inbox" },
    { folderId: "SentItems" },
    { folderId: "Archive" }
  ]
>;

// Email search with shared mailbox access
op email is AgentCapabilities.Email<
  SharedMailbox = "support@contoso.com"
>;

// Email search with custom folders and shared mailbox
op email is AgentCapabilities.Email<
  Folders = [
    { folderId: "Inbox" }
  ],
  SharedMailbox = "legal@contoso.com"
>;

AgentCapabilities.GraphicArt

Indica que el agente declarativo puede crear imágenes y arte en función de la entrada de texto del usuario.

op graphicArt is AgentCapabilities.GraphicArt;

Ejemplo

op graphicArt is AgentCapabilities.GraphicArt;

AgentCapabilities.Meetings

Indica que el agente declarativo puede buscar contenido de reunión.

op meetings is AgentCapabilities.Meetings;

Ejemplo

op meetings is AgentCapabilities.Meetings;

AgentCapabilities.OneDriveAndSharePoint

Indica que el agente declarativo puede buscar información de base en SharePoint y OneDrive de un usuario.

op oneDriveAndSharePoint is AgentCapabilities.OneDriveAndSharePoint;

Parameters

Nombre Tipo Description
ItemsBySharePointIds Matriz de SharePointIds Opcional. Matriz de objetos que identifican orígenes de SharePoint o OneDrive mediante identificadores. ItemsBySharePointIds Si se omiten los ItemsByUrl parámetros y , todos los orígenes de OneDrive y SharePoint de la organización están disponibles para el agente declarativo.
ItemsByUrl Matriz de SharePointUrl Opcional. Matriz de objetos que identifican orígenes de SharePoint o OneDrive por dirección URL. ItemsBySharePointIds Si se omiten los ItemsByUrl parámetros y , todos los orígenes de OneDrive y SharePoint de la organización están disponibles para el agente declarativo.

Modelos

SharePointIds

Contiene uno o varios identificadores de objeto que identifican un recurso de SharePoint o OneDrive.

Propiedades
Nombre Tipo Descripción
itemId string Opcional. Identificador GUID único que se usa para establecer el ámbito de una carpeta o archivo en la biblioteca de documentos especificada por la propiedad listId.
listId string Opcional. Identificador GUID único para una biblioteca de documentos dentro de un sitio de SharePoint.
siteId string Opcional. Identificador GUID único para un sitio de SharePoint o OneDrive.
webId string Opcional. Identificador GUID único para una web específica dentro de un sitio de SharePoint o OneDrive.

SharePointUrl

Representa la dirección URL de un recurso de SharePoint o OneDrive.

Propiedades
Nombre Tipo Descripción
url string Obligatorio. Dirección URL absoluta a un recurso de SharePoint o OneDrive.

Ejemplo

// Basic OneDrive and SharePoint with no restrictions
op oneDriveAndSharePoint is AgentCapabilities.OneDriveAndSharePoint;

// URL-based filtering for specific sites
op oneDriveAndSharePoint is AgentCapabilities.OneDriveAndSharePoint<
  ItemsBySharePointIds = [],
  ItemsByUrl = [
    { url: "https://contoso.sharepoint.com/sites/Engineering" },
    { url: "https://contoso.sharepoint.com/sites/ProductManagement" },
    { url: "https://contoso-my.sharepoint.com/personal/john_contoso_com" }
  ]
>;

// ID-based filtering with comprehensive site and document library scoping
op oneDriveAndSharePoint is AgentCapabilities.OneDriveAndSharePoint<
  ItemsBySharePointIds = [
    {
      siteId: "12345678-1234-1234-1234-123456789012";
      searchAssociatedSites: true;
    },
    {
      siteId: "87654321-4321-4321-4321-210987654321";
      webId: "11111111-2222-3333-4444-555555555555";
      listId: "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee";
    },
    {
      siteId: "99999999-8888-7777-6666-555555555555";
      webId: "ffffffff-dddd-cccc-3333-cccccccccccc";
      listId: "ffffffff-eeee-dddd-cccc-bbbbbbbbbbbb";
      itemId: "12121212-3434-5656-7878-909090909090";
    }
  ],
  ItemsByUrl = [
    { url: "https://contoso.sharepoint.com/sites/Engineering" }
  ]
>;

AgentCapabilities.People

Indica que el agente declarativo puede buscar información sobre las personas de la organización.

op people is AgentCapabilities.People;

Ejemplo

op people is AgentCapabilities.People;

AgentCapabilities.ScenarioModels

Indica que el agente declarativo puede usar modelos específicos de la tarea.

op scenarioModels is AgentCapabilities.ScenarioModels<Models = [
  { id: "model-id" }
]>;

Parameters

Nombre Tipo Description
Models Matriz de ScenarioModel Obligatorio. Matriz de objetos que identifica los modelos específicos de la tarea disponibles para el agente declarativo.

Modelos

ScenarioModel

Identifica un modelo específico de la tarea.

Propiedades
Nombre Tipo Descripción
id string Obligatorio. Identificador único del modelo.

Ejemplo

// Single specialized model for analytics
op scenarioModels is AgentCapabilities.ScenarioModels<Models = [
  { id: "financial-forecasting-model-v3" }
]>;

// Multiple models for different business scenarios
op scenarioModels is AgentCapabilities.ScenarioModels<Models = [
  { id: "sentiment-analysis-model" },
  { id: "document-classification-model" },
  { id: "risk-assessment-model" }
]>;

AgentCapabilities.TeamsMessages

Indica que el agente declarativo puede buscar en canales de Teams, equipos, reuniones, chats 1:1 y chats de grupo.

op teamsMessages is AgentCapabilities.TeamsMessages;

Parameters

Nombre Tipo Description
TeamsMessagesByUrl Matriz de TeamsMessagesUrl Opcional. Matriz de objetos que identifican las direcciones URL de los canales de Teams, los chats de reuniones, los chats de grupo o los chats 1:1 disponibles para el agente declarativo. La omisión de esta propiedad permite una búsqueda sin ámbito a través de todos los canales, reuniones, chats 1:1 y chats grupales.

Modelos

TeamsMessagesUrl

Identifica un canal, un equipo o un chat de reunión de Teams.

Propiedades
Nombre Tipo Descripción
url string Obligatorio. Una dirección URL de Teams bien formatada que se vincula a un canal de Teams, un chat de reunión, un chat de grupo o un chat 1:1.

Ejemplo

// Basic Teams messages with no restrictions
op teamsMessages is AgentCapabilities.TeamsMessages;

// Teams messages limited to specific channels and chats
op teamsMessages is AgentCapabilities.TeamsMessages<TeamsMessagesByUrl = [
  { url: "https://teams.microsoft.com/l/channel/19%3a123abc...%40thread.skype/General?groupId=12345&tenantId=67890" },
  { url: "https://teams.microsoft.com/l/chat/19%3ameeting_abc123...%40thread.v2/0?context=%7b%22Tid%22%3a%22...%22%7d" },
  { url: "https://teams.microsoft.com/l/channel/19%3a456def...%40thread.tacv2/Engineering?groupId=54321&tenantId=09876" }
]>;

// Teams messages for project-specific channels
op teamsMessages is AgentCapabilities.TeamsMessages<TeamsMessagesByUrl = [
  { url: "https://teams.microsoft.com/l/channel/19%3aprojectA...%40thread.tacv2/Development?groupId=11111&tenantId=22222" },
  { url: "https://teams.microsoft.com/l/channel/19%3aprojectA...%40thread.tacv2/Testing?groupId=11111&tenantId=22222" },
  { url: "https://teams.microsoft.com/l/chat/19%3astandup_daily...%40thread.v2/0?context=%7b%22Tid%22%3a%22...%22%7d" }
]>;

AgentCapabilities.WebSearch

Indica que el agente declarativo puede buscar información de conexión a tierra en la web.

op webSearch is AgentCapabilities.WebSearch;

Parameters

Nombre Tipo Description
Sites Matriz de SiteUrl Opcional. Matriz de objetos que identifican sitios en los que el agente puede buscar. Si se omite esta propiedad, todo el agente puede buscar en todos los sitios.

Modelos

SiteUrl

Indica un sitio en el que un agente declarativo puede buscar contenido.

Propiedades
Nombre Tipo Descripción
url string Obligatorio. Dirección URL absoluta a un sitio en el que se va a buscar contenido.

Ejemplo

// Basic web search with no restrictions
op webSearch is AgentCapabilities.WebSearch;

// Web search limited to specific documentation sites
op webSearch is AgentCapabilities.WebSearch<Sites = [
  {
    url: "https://learn.microsoft.com";
  },
  {
    url: "https://docs.microsoft.com";
  },
  {
    url: "https://techcommunity.microsoft.com";
  }
]>;

// Web search for company-specific resources
op webSearch is AgentCapabilities.WebSearch<Sites = [
  {
    url: "https://company.com/knowledge-base";
  },
  {
    url: "https://support.company.com";
  }
]>;