Compartir a través de


Solicitudes de confirmación de complementos de API para Microsoft 365 Copilot

Importante

Los complementos de API solo se admiten como acciones dentro de agentes declarativos. No se habilitan en Microsoft 365 Copilot.

De forma predeterminada, Microsoft 365 Copilot pide al usuario que confirme el envío de datos a un complemento antes de enviarlos para evitar consecuencias no deseadas en sistemas externos. El usuario puede ver los datos que se van a enviar y tiene la opción de permitir o rechazar. Para algunas operaciones de API, a los usuarios se les ofrece la opción de permitir siempre el envío de datos, lo que impide que se soliciten confirmaciones futuras para esa operación en particular.

Normalmente, Microsoft 365 Copilot muestra al usuario la opción always allow para las operaciones HTTP GET y no muestra la opción para POST, PATCH, PUT y DELETE. Los desarrolladores de complementos de API pueden cambiar este comportamiento para las operaciones individuales en su API. Los desarrolladores también pueden personalizar el texto que Copilot muestra al usuario como parte de la solicitud de confirmación.

Invalidar el comportamiento de la solicitud

Los desarrolladores pueden controlar si Microsoft 365 Copilot muestra la opción always allow para una operación específica agregando la x-openai-isConsequential propiedad en el documento de OpenAPI para su API. Al establecer esta propiedad true en , se deshabilita la opción always allow y se establece para false habilitarla. Por regla general, cualquier acción con efectos secundarios en el sistema externo debe marcarse con true para asegurarse de que el usuario está en control y evitar consecuencias no deseadas para las acciones con efectos secundarios en el sistema externo.

Por ejemplo, considere una API que crea un recordatorio: POST /reminders. Dado que se trata de una operación POST, Microsoft 365 Copilot pide al usuario que confirme cada vez que se usa esta API y no ofrece al usuario la opción de permitir siempre esta operación.

Cuadro de diálogo de confirmación de Copilot para una operación POST.

Para habilitar la opción always allow, agregue la x-openai-isConsequential propiedad establecida en false, como se muestra en el ejemplo siguiente.

post:
  x-openai-isConsequential: false
  summary: Create a new reminder
  description: Create a new budget with a specified name and due date
  operationId: CreateReminder
  requestBody:
    content:
      application/json:
        schema:
          $ref: '#/components/schemas/Reminder'
    required: true

Ahora imagine una API relacionada que recupere los avisos existentes: GET /reminders. Dado que es get, Microsoft 365 Copilot muestra al usuario la opción always allow.

Cuadro de diálogo de confirmación de Copilot para una operación GET.

Este comportamiento se puede cambiar agregando x-openai-isConsequential set a true.

get:
  x-openai-isConsequential: true
  summary: Get existing reminders
  description: Gets a list of existing reminders
  operationId: GetReminders

Personalización del texto de confirmación

Los desarrolladores pueden especificar el texto de confirmación estableciendo la body propiedad en el objeto Confirmation del objeto Function capabilities de la función en el manifiesto del complemento. El valor de body debe indicar lo que hace la función. Si esta propiedad no está presente en el manifiesto, se usa la description propiedad en el objeto Function .

{
  "name": "GetBudgets",
  "description": "Returns details including name and available funds of budgets, optionally filtered by budget name",
  "capabilities": {
    "confirmation": {
      "type": "AdaptiveCard",
      "title": "Search budgets",
      "body": "Do you want to allow searching for budgets?"
    }
  }
}