Ansluta agenter till Microsoft 365 med Work IQ (förhandsversion)

Important

Objekt markerade (förhandsversion) i den här artikeln är för närvarande i offentlig förhandsversion. Den här förhandsversionen tillhandahålls utan ett serviceavtal och vi rekommenderar det inte för produktionsarbetsbelastningar. Vissa funktioner kanske inte stöds eller kan vara begränsade. Mer information finns i Kompletterande villkor för användning av Microsoft Azure-förhandsversioner.

Work IQ är det intelligenslager som förankrar Microsoft 365 Copilot och dina agenter i en delad kontext i realtid i hela organisationen. Den samlar in signaler från e-postmeddelanden, möten, filer, chattar och affärssystem och tillämpar semantisk förståelse så att agenter kan resonera över arbetsdata och vidta åtgärder. Alla begäranden körs i kontexten för den inloggade användaren och respekterar Microsoft 365 behörigheter.

Du ansluter Foundry-agenten till Work IQ via A2A-protokollet (Agent-to-Agent). Din agent delegerar uppgifter på naturligt språk till Arbets-IQ som peer-agent – till exempel "Sammanfatta mina senaste e-postmeddelanden om Project Contoso" – och Work IQ hanterar hämtning, resonemang och svarssyntes mot användarens Microsoft 365 data.

Information om hur du optimerar verktygsanvändningen finns i metodtips.

Varning

När du ansluter till Work IQ kan det medföra kostnader och data kan skickas utanför Azure efterlevnadsgräns och bearbetas enligt tillämpliga tjänstvillkor och principer för datahantering. Det är ditt ansvar att hantera om dina data kommer att flöda utanför organisationens efterlevnad och geografiska gränser och eventuella relaterade konsekvenser, och att lämpliga behörigheter, gränser och godkännanden etableras.

Du ansvarar för att noggrant granska och testa program som du skapar i samband med dina specifika användningsfall och fatta alla lämpliga beslut och anpassningar. Detta omfattar implementering av dina egna ansvarsfulla AI-åtgärder, till exempel metaprompter, innehållsfilter eller andra säkerhetssystem, och att se till att dina program uppfyller lämpliga kvalitets-, tillförlitlighets-, säkerhets- och tillförlitlighetsstandarder. Se transparensmeddelandet för Foundry Agent Service.

Förutsättningar

Innan du kan börja bör du kontrollera att du har:

  • Det kommersiella kravet för den anslutning som du använder:

    Anslutningssökväg Typ av krav Krav
    Arbeta med IQ API via A2A, REST eller MCP Användningsbaserad fakturering Aktivera fakturering med Copilot krediter. Den här sökvägen använder inte anslutningslicensiering.
    Anslutningsbaserade Microsoft 365-verktyg Licensiering av anslutningsappar Bekräfta förutsättningarna för den valda anslutningsappen. En anslutningsapp kan kräva en Microsoft 365 Copilot licens för varje anropande användare.
  • Ett aktivt Microsoft Foundry-projekt med en distribuerad modell.

  • Azure RBAC-roller:

    • Foundry-användarroll i Foundry-projektet för utvecklaridentiteten, agentens körningsidentitet och alla användaridentiteter som ingår i OAuth-flöden.
    • Foundry Project Manager-rollen i Foundry-projektet för att skapa en Foundry-anslutning till Work IQ-slutpunkten.
  • En Microsoft Entra global administratör som kan slutföra enstaka klientkonfiguration genom att etablera tjänstens huvudnamn för Work IQ och bevilja administratörsmedgivande för WorkIQAgent.Ask. Aktivera den här rollen precis i tid via Microsoft Entra Privileged Identity Management (PIM) och inaktivera den efter installationen. Dagliga IQ-användare för arbete behöver inte den här rollen.

  • Foundry Toolkit: Installera Visual Studio Code och Foundry Toolkit för Visual Studio Code.

  • JavaScript-utveckling: Använd Node.js 22 eller senare och installera @azure/ai-projects 2.4.0 eller senare med @azure/identity.

För direkta A2A-anrop stöder Work IQ protokollversionerna 1.0 och 0.3. Skicka A2A-Version: 1.0 för att använda v1-metodnamn. Om du utelämnar rubriken är standardvärdet v0.3. Inkludera platsmetadata för tidskänsliga begäranden och använd delegerad användarautentisering.

Följ konfigurationsberoendekartan

Använd den här kartan för att skilja agentanvändningsflödet från beroenden som en administratör har slutfört en gång för organisationen.

Mål Beror på Fortsätt på
Lägga till Arbets-IQ i en agent och skicka en fråga En befintlig Work IQ-anslutning, den inloggade användarens Microsoft 365 behörigheter och fakturerings- eller anslutningslicensiering som anges i förhandskraven. Lägg till arbets-IQ-verktyget i din agent
Skapa den första Work IQ-anslutningen för organisationen Tjänstens huvudnamn för Work IQ, en Entra-app med en enda klientorganisation, delegerad WorkIQAgent.Ask behörighet och administratörsmedgivande för hela klientorganisationen. Konfigurera Entra-appen
Använda ett anslutningsbaserat Microsoft 365-verktyg En anslutning för anslutningsappen och alla anslutningsspecifika licenser som krävs för den inloggade användaren. Lägg till arbets-IQ-verktyget i din agent

Slutför agentanvändningsflödet först när din organisation redan har en anslutning. Använd endast engångskonfigurationen för klientorganisationen när en administratör behöver skapa den första anslutningen.

Tip

Överväg att lägga till det här verktyget med hjälp av en verktygslåda. Med hjälp av en verktygslåda kan du återanvända verktyget mellan agenter och körningar, samt centralisera hantering, versionshantering och principtillämpning via en hanterad MCP-slutpunkt. Se snabbstarten för verktygslådan.

Användningsstöd

Microsoft Foundry-stöd Python SDK C#-SDK SDK för JavaScript Java SDK REST API Grundläggande agentkonfiguration Standardagentkonfiguration
Arbets-IQ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️

Så här fungerar det

  1. Din agent skickar ett verktygsanrop – När agentmodellen identifierar en uppgift som kräver Microsoft 365 data sänder den ett verktygsanrop till verktyget work_iq_preview.
  2. Foundry dirigerar begäran till Work IQ via A2A – Foundry använder protokollet Agent-till-agent (A2A) för att vidarebefordra frågan på naturligt språk till Arbets-IQ som peer-agent. Autentiseringen använder OBO (On-Behalf-Of) så att begäran körs i kontexten för den inloggade användaren.
  3. Work IQ hämtar och resonerar kring M365-data — Work IQ genomsöker användarens e-post, möten, filer, chattar och andra Microsoft 365-signaler. Den tillämpar semantisk förståelse för att syntetisera ett svar som baseras på användarens faktiska arbetskontext och som respekterar Microsoft 365 behörigheter och känslighetsetiketter i hela.
  4. Resultatet returneras till din agent – Work IQ returnerar det syntetiserade svaret till Foundry via A2A. Agenten införlivar den i sitt svar till användaren.

Ansluta till arbets-IQ

Lägg till arbets-IQ-verktyget i din agent

Använd Foundry Toolkit för Visual Studio Code för att lägga till Work IQ som ett inbyggt verktyg när du skapar en verktygslåda och anslut sedan agenten till den publicerade verktygslådans slutpunkt. Verktyget gör de valda Work IQ-alternativen tillgängliga via MCP-slutpunkten.

  1. Välj Foundry Toolkit i aktivitetsfältet.
  2. Under Mina resurser expanderar du Ditt projektnamn>Verktyg.
  3. Välj ikonen + Lägg till verktygslåda .
  4. På fliken Skapa ett anpassat verktyg anger du verktygslådans namn och beskrivning.
  5. Välj Lägg till verktyg och välj sedan Arbets-IQ.
  6. I Lägg till arbets-IQ-verktyget väljer du de Microsoft 365 Copilot data som du vill använda. Work IQ Chat ansluter via en A2A-slutpunkt. Andra alternativ ansluter via MCP-slutpunkter, inklusive Copilot Chat, Teams, Word, Outlook Calendar, Outlook Mail, Microsoft 365 användarprofil, SharePoint och OneDrive.
  7. För varje valt alternativ väljer du en befintlig anslutning eller väljer Skapa ny anslutning.
  8. Välj Lägg till.
  9. Välj Publicera.

Det fullständiga arbetsflödet för att skapa verktygslådan finns i Kuratera avsiktsbaserad verktygslåda i Foundry.

Om du vill lägga till arbets-IQ-verktyget via en verktygslåda med hjälp av kod eller REST-API:et väljer du fliken Python, .NET, JavaScript eller REST API i det här avsnittet.

Installera paketet:

pip install "azure-ai-projects>=2.3.0"

Ange följande miljövariabler:

  • FOUNDRY_PROJECT_ENDPOINT – projektslutpunkten, som finns på sidan Översikt i ditt Foundry-projekt.
  • WORK_IQ_PROJECT_CONNECTION_ID — det fullständigt kvalificerade resurs-ID:t för Work IQ-projektanslutningen.

Välj Fråga agenter om du vill använda Azure AI Projects SDK för att skapa en agent på serversidan eller värdbaserade agenter för att använda Microsoft Agent Framework för att skapa en tillfällig, processbaserad agent som ansluter till verktyget via en verktygslåda.

Aktivera agenter

import os
from azure.identity import DefaultAzureCredential
from azure.ai.projects import AIProjectClient
from azure.ai.projects.models import PromptAgentDefinition, WorkIQPreviewTool

endpoint = os.environ["FOUNDRY_PROJECT_ENDPOINT"]

with (
    DefaultAzureCredential() as credential,
    AIProjectClient(endpoint=endpoint, credential=credential) as project_client,
    project_client.get_openai_client() as openai_client,
):
    tool_payload = WorkIQPreviewTool(
        project_connection_id=os.environ["WORK_IQ_PROJECT_CONNECTION_ID"],
    )

    agent = project_client.agents.create_version(
        agent_name="MyAgent",
        definition=PromptAgentDefinition(
        model="gpt-5-mini",
            instructions="Use the available WorkIQ tools to answer questions and perform tasks.",
            tools=[tool_payload],
        ),
    )
    print(f"Agent created (id: {agent.id}, name: {agent.name}, version: {agent.version})")

    user_input = "Summarize my recent emails about Project Contoso."
    response = openai_client.responses.create(
        input=user_input,
        extra_body={"agent_reference": {"name": agent.name, "type": "agent_reference"}},
    )

    print(f"Agent response: {response.output_text}")

    # Clean up the agent version so unused versions don't accumulate in the project.
    project_client.agents.delete_version(agent_name=agent.name, agent_version=agent.version)
    print("Agent deleted")

Förväntade utdata: Agenten anropar Arbets-IQ med användarens fråga. Arbets-IQ hämtar och syntetiserar användarens relevanta Microsoft 365 innehåll, grundat i deras behörigheter och returnerar svaret.

Hostade agenter

Skapa en verktygslåda med WorkIQPreviewToolboxTool. Den verktygslådespecifika typen skiljer sig från WorkIQPreviewTool, vilket lägger till Arbets-IQ direkt till en promptagent.

import os

from azure.ai.projects import AIProjectClient
from azure.ai.projects.models import WorkIQPreviewToolboxTool
from azure.identity import DefaultAzureCredential

project_endpoint = os.environ["FOUNDRY_PROJECT_ENDPOINT"]
work_iq_connection_id = os.environ["WORK_IQ_PROJECT_CONNECTION_ID"]

with (
    DefaultAzureCredential() as credential,
    AIProjectClient(
        endpoint=project_endpoint,
        credential=credential,
    ) as project,
):
    toolbox = project.toolboxes.create_version(
        name="work-iq-toolbox",
        description="Toolbox with the Work IQ tool",
        tools=[
            WorkIQPreviewToolboxTool(
                project_connection_id=work_iq_connection_id,
            )
        ],
    )
    print(f"Created toolbox: {toolbox.name}, version: {toolbox.version}")

Exemplet returnerar den nya verktygslådans version:

Created toolbox: work-iq-toolbox, version: <version>

Anslut sedan verktygslådan till en värdbaserad agent. Det arbetsflödet använder den värdbaserade körningsintegrering för att bevara den begärandekontext som krävs för användardelegering av arbets-IQ-anrop. En fullständig Python implementering finns i aktivitetsexemplet för Agent Framework Teams.


Det rekommenderade sättet att lägga till Arbets-IQ är genom en verktygslåda och bifoga sedan verktygslådan till din agent som ett MCP-verktyg. Se Vad är en verktygslåda?

Steg 1: Skapa en verktygslåda som innehåller verktyget Work IQ:

curl --request POST \
  --url "{project_endpoint}/toolboxes/work-iq-toolbox/versions?api-version=v1" \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  --data '{
    "description": "Toolbox with the Work IQ tool",
    "tools": [
      {
        "type": "work_iq_preview",
        "project_connection_id": "/subscriptions/{sub}/resourceGroups/{rg}/providers/Microsoft.CognitiveServices/accounts/{account}/projects/{project}/connections/{connection-name}"
      }
    ]
  }'

Verktygslådan exponerar en MCP-kompatibel slutpunkt på {project_endpoint}/toolboxes/work-iq-toolbox/versions/<version>/mcp?api-version=v1, där <version> returneras den version som returnerades av föregående anrop.

Steg 2: Skapa en fjärrverktygsprojektanslutning som pekar på verktygslådans slutpunkt med hjälp av en entra-token för användare så att anroparens identitet skickas igenom (målgrupp https://ai.azure.com):

azd ai connection create work-iq-toolbox-conn \
  --kind remote-tool \
  --target "{project_endpoint}/toolboxes/work-iq-toolbox/versions/<version>/mcp?api-version=v1" \
  --auth-type user-entra-token \
  --audience https://ai.azure.com

Steg 3: Skapa agenten med verktygslådan ansluten som ett MCP-verktyg:

POST {project_endpoint}/agents/{agent_name}/versions?api-version=v1
Authorization: Bearer {token}
Content-Type: application/json

{
  "model": "gpt-4o-mini",
  "instructions": "You are a helpful assistant with access to the user's Microsoft 365 work context through Work IQ.",
  "tools": [
    {
      "type": "mcp",
      "server_label": "toolbox",
      "server_url": "{project_endpoint}/toolboxes/work-iq-toolbox/versions/<version>/mcp?api-version=v1",
      "require_approval": "never",
      "project_connection_id": "work-iq-toolbox-conn"
    }
  ]
}

Steg 4: Skapa en konversationssession:

POST {project_endpoint}/openai/v1/conversations
Authorization: Bearer {token}
Content-Type: application/json

{}

Svaret innehåller ett id fält. Använd den i nästa steg.

Steg 5: Skicka en begäran till agenten:

POST {project_endpoint}/openai/v1/responses
Authorization: Bearer {token}
Content-Type: application/json

{
  "conversation": "{conversation_id}",
  "input": "Summarize my recent emails about Project Contoso.",
  "agent_reference": {
    "type": "agent_reference",
    "name": "{agent_name}"
  }
}

Svaret innehåller metadata om agentkörningen och ett text fält i content med det syntetiserade svaret.

Note

Använd tokenräckvidd https://ai.azure.com/.default när du hämtar bearer-token.

Välj Fråga agenter om du vill använda Azure AI Projects SDK för att skapa en agent på serversidan eller värdbaserade agenter för att använda Microsoft Agent Framework för att skapa en tillfällig, processbaserad agent som ansluter till verktyget via en verktygslåda.

Aktivera agenter

using Azure.AI.Projects;
using Azure.Identity;

var projectEndpoint = Environment.GetEnvironmentVariable("FOUNDRY_PROJECT_ENDPOINT");
var workIQConnectionName = Environment.GetEnvironmentVariable("WORKIQ_CONNECTION_NAME");

AIProjectClient projectClient = new(endpoint: new Uri(projectEndpoint), tokenProvider: new DefaultAzureCredential());

AIProjectConnection workIQConnection = projectClient.Connections.GetConnection(workIQConnectionName);
DeclarativeAgentDefinition agentDefinition = new(model: "gpt-5-mini")
{
    Instructions = "You are a helpful assistant that can access Microsoft 365 data through Work IQ. "
                 + "Use the Work IQ tool to search and retrieve information from emails, calendar events, "
                 + "Teams messages, and other Microsoft 365 content.",
    Tools = { new WorkIQPreviewTool(workIQConnection.Id) }
};

ProjectsAgentVersion agentVersion = projectClient.AgentAdministrationClient.CreateAgentVersion(
    agentName: "myWorkIQAgent",
    options: new(agentDefinition));
Console.WriteLine($"Agent created (name: {agentVersion.Name}, version: {agentVersion.Version})");

ProjectResponsesClient responseClient =
    projectClient.ProjectOpenAIClient.GetProjectResponsesClientForAgent(agentVersion.Name);
CreateResponseOptions responseOptions = new()
{
    ToolChoice = ResponseToolChoice.CreateRequiredChoice(),
    InputItems = { ResponseItem.CreateUserMessageItem("What meetings do I have scheduled today?") },
};
ResponseResult response = responseClient.CreateResponse(responseOptions);
Console.WriteLine(response.GetOutputText());

// Clean up
projectClient.AgentAdministrationClient.DeleteAgentVersion(
    agentName: agentVersion.Name, agentVersion: agentVersion.Version);

Hostade agenter

Skapa en verktygslåda med WorkIQPreviewToolboxTool. Den verktygslådespecifika typen skiljer sig från WorkIQPreviewTool, vilket lägger till Arbets-IQ direkt till en promptagent.

using Azure.AI.Projects;
using Azure.AI.Projects.Agents;
using Azure.Identity;

string projectEndpoint = Environment.GetEnvironmentVariable("FOUNDRY_PROJECT_ENDPOINT")
    ?? throw new InvalidOperationException("FOUNDRY_PROJECT_ENDPOINT is not set.");
string workIQConnectionName = Environment.GetEnvironmentVariable("WORKIQ_CONNECTION_NAME")
    ?? throw new InvalidOperationException("WORKIQ_CONNECTION_NAME is not set.");

DefaultAzureCredential credential = new();
AIProjectClient projectClient = new(endpoint: new Uri(projectEndpoint), tokenProvider: credential);
AIProjectConnection workIQConnection = projectClient.Connections.GetConnection(workIQConnectionName);
ToolboxVersion toolboxVersion = projectClient.AgentAdministrationClient
    .GetAgentToolboxes().CreateVersion(
        name: "work-iq-toolbox",
        tools: [new WorkIQPreviewToolboxTool(workIQConnection.Id)],
        description: "Toolbox with the Work IQ tool");

Console.WriteLine(
    $"Created toolbox: {toolboxVersion.Name}, version: {toolboxVersion.Version}");

Exemplet returnerar den nya verktygslådans version:

Created toolbox: work-iq-toolbox, version: <version>

Anslut sedan verktygslådan till en värdbaserad agent. En fullständig C#-implementering som registrerar verktyg för Arbets-IQ-verktyg med Agent Framework finns i teams-aktivitetsexemplet.


const { DefaultAzureCredential } = require("@azure/identity");
const { AIProjectClient } = require("@azure/ai-projects");

const projectEndpoint = process.env["FOUNDRY_PROJECT_ENDPOINT"];
const workIqProjectConnectionId = process.env["WORKIQ_CONNECTION_ID"];

async function main() {
  const project = new AIProjectClient(projectEndpoint, new DefaultAzureCredential());
  const openai = project.getOpenAIClient();

  console.log("Creating a toolbox with the Work IQ tool...");

  // 1. Add the Work IQ tool to a toolbox. Using a toolbox is the recommended
  //    way to give agents tools. See /azure/foundry/agents/concepts/toolbox-overview
  const toolbox = await project.toolboxes.createVersion(
    "work-iq-toolbox",
    [
      {
        type: "work_iq_preview",
        project_connection_id: workIqProjectConnectionId,
      },
    ],
    { description: "Toolbox with the Work IQ tool" },
  );

  // 2. The toolbox exposes an MCP-compatible endpoint.
  const toolboxMcpUrl =
    `${projectEndpoint}/toolboxes/${toolbox.name}` +
    `/versions/${toolbox.version}/mcp?api-version=v1`;

  // 3. Create a remote-tool project connection that points at the toolbox endpoint.
  //    Use a user Entra token so the caller's identity is passed through
  //    (audience https://ai.azure.com). Create the connection once, for example
  //    with the Azure Developer CLI:
  //
  //    azd ai connection create work-iq-toolbox-conn \
  //      --kind remote-tool \
  //      --target "<toolboxMcpUrl>" \
  //      --auth-type user-entra-token \
  //      --audience https://ai.azure.com
  const toolboxConnectionName = "work-iq-toolbox-conn";

  // 4. Attach the toolbox to a prompt agent as an MCP tool.
  const agent = await project.agents.createVersion("MyWorkIQAgent", {
    kind: "prompt",
    model: "gpt-5-mini",
    instructions: "Use the available Work IQ tools to answer questions and perform tasks.",
    tools: [
      {
        type: "mcp",
        server_label: "toolbox",
        server_url: toolboxMcpUrl,
        require_approval: "never",
        project_connection_id: toolboxConnectionName,
      },
    ],
  });
  console.log(`Agent created (id: ${agent.id}, name: ${agent.name}, version: ${agent.version})`);

  const userInput = "What meetings do I have scheduled today?";
  const response = await openai.responses.create(
    { input: userInput },
    { body: { agent_reference: { name: agent.name, version: agent.version, type: "agent_reference" } } },
  );
  console.log(`Agent response: ${response.output_text}`);

  // Clean up the agent version so unused versions don't accumulate in the project.
  await project.agents.deleteVersion(agent.name, agent.version);
}

main().catch((err) => {
  console.error("The sample encountered an error:", err);
});

Lägg till Arbets-IQ i en verktygslåda med cli:et Azure Developer

Använd Azure Developer CLI för att skapa projektanslutningen Work IQ A2A och referera sedan till den från en minimal yaml-verktygslåda.

# Step 1. Create the Work IQ connection
azd ai connection create my-workiq-conn \
  --kind remote-a2a \
  --target https://workiq.svc.cloud.microsoft/a2a/ \
  --auth-type oauth2 \
  --authorization-url https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/authorize \
  --token-url https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/token \
  --client-id <oauth-client-id> \
  --client-secret <oauth-client-secret> \
  --scopes "api://workiq.svc.cloud.microsoft/WorkIQAgent.Ask offline_access"

Note

Den här artikeln använder Work IQ A2A-slutpunkten https://workiq.svc.cloud.microsoft/a2a/. Den tidigare verktygslådekatalogen som användes https://agent365.svc.cloud.microsoft/agents/agents/workiq för dess azd-arbetsflöde. Kontrollera slutpunkten om din Work IQ-anslutning använder ett annat A2A- eller MCP-mål.

# Step 2. Define the toolbox (my-toolbox.yaml)
description: Work IQ toolbox
tools:
  - type: work_iq_preview
    project_connection_id: my-workiq-conn
# Step 3. Create the toolbox
azd ai toolbox create my-toolbox --from-file my-toolbox.yaml

Använda Arbets-IQ med en värdbaserad agent

När du har skapat work-iq-toolboxföljer du Använd en verktygslåda med en värdbaserad agent för att ansluta den till Agent Framework, köra den lokalt och distribuera den till Foundry Agent Service. Den värdbaserade integreringen bevarar den kontext per begäran som Work IQ behöver för varje inloggad användares räkning.

För implementeringar från slutpunkt till slutpunkt använder du det underhållna Python Teams-aktivitetsexemplet eller .NET Teams-aktivitetsexempel.

Autentisering och säkerhet

Work IQ använder delegerad autentisering med Microsoft Entra ID. Alla begäranden körs i kontexten för den inloggade användaren. Endast programautentisering (endast app) stöds inte. Microsoft 365 behörigheter tillämpas automatiskt – Arbets-IQ-agenter kan aldrig komma åt data som den inloggade användaren inte redan har behörighet att se.

Endast Bring Your Own Entra-appen (on-Behalf-Of-autentisering) stöds för Work IQ-anslutningar. Detta ger din Entra-administratör explicit kontroll över vilka program som kan hämta Microsoft 365 data via Work IQ: administratören granskar och ger WorkIQAgent.Ask behörighet specifikt för din registrerade app.

Konfigurera din Entra-app (en gång, per organisation)

En Entra-administratör måste slutföra följande engångsåtgärd för klientorganisation innan du kan skapa en Work IQ-anslutning i Foundry. För steg som kräver rollen Global administratör använder du Microsoft Entra PIM för att aktivera rollen precis i tid och inaktiverar den när installationen är klar. Dagliga IQ-användare för arbete behöver inte den här rollen.

Konfigurera Work IQ-tjänstens huvudkonto (en gång)

Innan du skapar appregistreringen måste en global administratör etablera tjänstens huvudnamn för Work IQ som en del av den här engångsklientåtgärden. Om du hoppar över det här steget visas inte alternativet Arbets-IQ när du söker i API-behörigheter.

Följ steg 1: Skapa tjänstens huvudnamn för Work IQ i snabbstarten för Work IQ API. Ett 201-svar av typen Created från Graph Explorer bekräftar att åtgärden lyckades. Ett konfliktfel innebär att huvudkontot redan finns – fortsätt till nästa steg.

Skapa en programregistrering

  1. Gå till administrationscentret för Microsoft Entra. I det vänstra navigeringsfältet väljer du Entra ID>App registrations.

  2. Välj Ny registrering. Ge appen ett beskrivande namn och ange Kontotyper som stöds till Endast konton i den här organisationskatalogen. Välj Registrera.

  3. Kopiera App-ID (klient) . Du behöver det här värdet när du skapar Foundry-anslutningen.

  4. Välj API-behörigheter>Lägg till en behörighet>API:er som min organisation använder. Sök efter Arbets-IQ (program-ID fdcc1f02-fc51-4226-8753-f668596af7f7), välj Delegerade behörigheter, välj WorkIQAgent.Ask och välj sedan Lägg till behörigheter.

  5. Välj Bevilja administratörsmedgivande för [din klient]. Granska bekräftelsedialogrutan och välj Ja.

    Important

Att bevilja administratörsmedgivande för hela klientorganisationen är en engångsåtgärd som kräver rollen Global administratör i Microsoft Entra ID. Aktivera rollen precis i tid via Microsoft Entra PIM och inaktivera den när du har beviljat medgivande. Dagliga IQ-användare för arbete behöver inte den här rollen. Om du inte har den här rollen ber du organisationens globala administratör att slutföra det här steget.

  1. Välj Certifikat och hemligheter>Ny klienthemlighet. Lägg till en beskrivning och förfallodatum. Välj Lägg till och kopiera sedan omedelbart det hemliga värdet – det visas bara en gång. Lagra hemligheten i Azure Key Vault eller i ett annat godkänt hemligt arkiv. Checka aldrig in hemligheten till källkontrollen eller skriv ut eller logga den. Rotera hemligheten innan den upphör att gälla.
  2. Kopiera ditt Directory-ID från översiktssidan Microsoft Entra ID.

Fyll i värdena för Foundry-anslutningen

Öppna projektet i Microsoft Foundry och gå till Settings>Connections>Ny anslutning>Work IQ. Fyll i följande fält:

Fält Value
Kund-ID Program-ID (klient) från steg 3
Klienthemlighet Klienthemlighetsvärde från steg 6
Auktoriserings-URL https://login.microsoftonline.com/{tenant-id}/oauth2/v2.0/authorize
Token-URL https://login.microsoftonline.com/{tenant-id}/oauth2/v2.0/token
Uppdatera URL https://login.microsoftonline.com/{tenant-id}/oauth2/v2.0/token
Scoper api://workiq.svc.cloud.microsoft/WorkIQAgent.Ask,offline_access

Ersätt {tenant-id} med ditt katalog-ID (tenant) från steg 7. Välj Spara för att skapa anslutningen.

Skärmbild av Foundry-portalen som visar autentiseringsinställningar för en Work IQ-anslutning.

Important

Anslutningsfält kan inte redigeras när de har skapats. Om du anger felaktiga värden tar du bort anslutningen och skapar en ny.

Lägg till omdirigerings-URI:n i din appregistrering

När Foundry har skapat anslutningen visas en omdirigerings-URL för OAuth. Lägg till den här URL:en i appregistreringen:

  1. I Microsoft Entra administrationscenter går du till Entra ID>App registrations och väljer din app.
  2. Välj Autentisering>Lägg till en plattform>Webb.
  3. Under Omdirigerings-URI:er klistrar du in omdirigerings-URL:en för OAuth från Foundry.
  4. Välj Konfigurera.

Skapa anslutningen med REST-API:et

Som ett alternativ till Foundry-portalen använder du Azure Resource Manager-API:et för att skapa Work IQ-anslutningen programmatiskt.

Steg 1: Hämta en token

ARM_TOKEN=$(az account get-access-token \
  --resource https://management.azure.com \
  --query accessToken -o tsv)

Steg 2: Skapa anslutningen

SUBSCRIPTION_ID=<your-subscription-id>
RESOURCE_GROUP=<your-resource-group>
ACCOUNT_NAME=<your-foundry-account-name>
PROJECT_NAME=<your-project-name>
CONNECTION_NAME=<name-for-this-connection>
TENANT_ID=<your-tenant-id>
CLIENT_ID=<your-client-id>
CLIENT_SECRET=<your-client-secret>

curl --request PUT \
  --url "https://management.azure.com/subscriptions/$SUBSCRIPTION_ID/resourceGroups/$RESOURCE_GROUP/providers/Microsoft.CognitiveServices/accounts/$ACCOUNT_NAME/projects/$PROJECT_NAME/connections/$CONNECTION_NAME?api-version=2025-04-01-preview" \
  --header "Authorization: Bearer $ARM_TOKEN" \
  --header "Content-Type: application/json" \
  --data '{
    "tags": null,
    "location": null,
    "name": "'"$CONNECTION_NAME"'",
    "type": "Microsoft.MachineLearningServices/workspaces/connections",
    "properties": {
      "authType": "OAuth2",
      "group": "ServicesAndApps",
      "category": "RemoteA2A",
      "expiryTime": null,
      "target": "https://workiq.svc.cloud.microsoft/a2a/",
      "isSharedToAll": true,
      "sharedUserList": [],
      "TokenUrl": "https://login.microsoftonline.com/'"$TENANT_ID"'/oauth2/v2.0/token",
      "AuthorizationUrl": "https://login.microsoftonline.com/'"$TENANT_ID"'/oauth2/v2.0/authorize",
      "RefreshUrl": "https://login.microsoftonline.com/'"$TENANT_ID"'/oauth2/v2.0/token",
      "Scopes": [
        "api://workiq.svc.cloud.microsoft/WorkIQAgent.Ask",
        "offline_access"
      ],
      "Credentials": {
        "ClientId": "'"$CLIENT_ID"'",
        "ClientSecret": "'"$CLIENT_SECRET"'"
      },
      "metadata": {
        "ApiType": "Azure"
      }
    }
  }'

Ett lyckat svar returnerar HTTP 200 eller 201. Svarstexten innehåller ett properties.oauthRedirectUrl fält – använd det värdet som omdirigerings-URI i din Entra-appregistrering (se Lägg till omdirigerings-URI:n i din appregistrering).

Datastyrning och efterlevnad

Hämtning av arbetsbehörigheter för IQ mot Microsoft 365. Ett Foundry-arbetsflöde kan också skicka frågor och hämtade resultat till nedströms Copilot och Foundry-bearbetning, så granska gränserna och den regionala konfigurationen för varje tjänst i begärandesökvägen.

Plats för datalagring

Microsoft 365 hämtning följer klientorganisationens behörigheter och konfiguration av uppehållstillstånd. Bearbetning från slutpunkt till slutpunkt beror också på din Copilot faktureringskonfiguration och Foundry-projektregion. Mer information finns i Microsoft 365 Copilot sekretess- och datahanteringsprinciper.

Sekretess och datahantering

Granska Microsoft 365 Copilot sekretess- och datahanteringsprinciper och de krav för foundry-datahantering som gäller för distributionen. Bekräfta den fullständiga sökvägen för begäran med dina sekretess- och efterlevnadsteam.

Åtkomstkontroll och behörigheter

Utforma anslutningen så att hämtningen använder den inloggade användarens Microsoft 365 behörigheter. Testa behörighetstrimning med representativa användare och begränsat innehåll före distribution:

  • Rollbaserad åtkomstkontroll, känslighetsetiketter och informationsbarriärer som definieras i Microsoft 365 respekteras.

Efterlevnadsgranskning

Använd organisationens Microsoft efterlevnadsresurser för att bekräfta vilka certifieringar och kontroller som gäller för den fullständiga arbets-IQ- och Foundry-distributionen.

Administratörshantering

Som Entra-administratör styr du vilka program i din klientorganisation som kan komma åt Arbets-IQ-data för användarnas räkning. I följande avsnitt beskrivs de nyckelkontroller som är tillgängliga för dig.

Administratörsmedgivande krävs WorkIQAgent.Ask innan någon användare i din organisation kan autentisera via appen. Du kan när som helst hantera medgivande:

  • Bevilja medgivande: I administrationscentret för Microsoft Entra går du till Entra ID>App registrations>, väljer appen >API-behörigheter. Välj Bevilja administratörsmedgivande för [din klient].
  • Återkalla medgivande: På samma API-behörighetssida väljer du behörigheten WorkIQAgent.Ask och väljer Återkalla administratörsmedgivande. Befintliga token är giltiga tills de upphör att gälla. inga nya token kan utfärdas efter återkallelsen.

Troubleshooting

Symptom Sannolik orsak Lösning
403 Forbidden Fakturering är inte aktiverat för Work IQ-API:et, eller så saknas en anslutningsspecifik licens. Aktivera fakturering av Copilot-krediter för Api-anrop för Arbete i IQ. För anslutningsverktyg bekräftar du att den anropande användaren uppfyller licenskraven för anslutningsappen.
401 Unauthorized Målgruppsfel för token Kontrollera att token har utfärdats för api://workiq.svc.cloud.microsoft, inte för en annan resurs.
403 Forbidden med Required scopes = [...] Administratörsmedgivande för WorkIQAgent.Ask ej beviljat En administratör måste bevilja medgivande för appregistreringen.
Agenten får inget svar eller tomt resultat Microsoft 365 innehåll är inte tillgängligt för den inloggade användaren eller har inte indexerats. Bekräfta användarens källbehörigheter och försök sedan igen när indexeringen har slutförts.
Principal does not have access to API/Operation Agentidentiteten saknar rollen Foundry-användare i projektomfånget Tilldela Foundry User på både kontonivå och projektnivå.