Ground answers in external knowledge
Use Microsoft 365 Copilot connectors to ingest searchable external items and permissions. This is for discovery and grounding, not transactional writes.
Compare APIs for Microsoft Copilot across enterprise data, connectors, and permissions, with access and failure checks.
Published: March 14, 2026 · By the QVeris Team

Use Microsoft Graph first for tenant-native work data. Use Copilot connectors to index external knowledge. Use a prebuilt or custom Copilot Studio connector when the agent must perform an action. Add domain APIs—CRM, tickets, search, databases, messaging—only for a defined workflow and permission boundary.
Microsoft Copilot is a family of experiences, not one universal API client. Choose the lane that matches the outcome before comparing providers.
Use Microsoft 365 Copilot connectors to ingest searchable external items and permissions. This is for discovery and grounding, not transactional writes.
Expose a focused action through a prebuilt connector, custom connector, agent flow, REST API tool, or MCP server supported by Copilot Studio.
Use Microsoft Graph for files, mail, calendars, users, Teams, and other resources, subject to delegated or application permissions and tenant policy.
These are ranked by architectural fit, not by a universal score. Confirm licensing, regional availability, limits, and connector support in the official documentation for your tenant.
Best first API when the workflow lives inside Microsoft 365. Graph provides a consistent resource model for users, groups, mail, calendars, files, sites, Teams, and more. It preserves Microsoft identity and permission semantics, but broad scopes can create unnecessary exposure. Start with one resource, one operation, and the least privilege listed in the official Graph overview.
Best for bringing external, unstructured enterprise content into Microsoft 365 search and Copilot experiences. The API creates external connections, schemas, items, and external groups. Treat schema and ACL design as product work: weak identifiers, stale sync, or incorrect permissions produce weak grounding. Review the Copilot connectors API overview.
Best for agent actions. Prefer a prebuilt connector when its operations and authentication fit. Otherwise define a narrow custom connector from OpenAPI, add a REST API tool, or connect a supported MCP server. Keep reads separate from writes and require confirmation for consequential operations. Microsoft documents the available patterns in Add tools to custom agents.
Best when a seller or service agent needs current accounts, contacts, opportunities, cases, or approved record updates. Choose the system of record your team actually governs; do not mirror the whole CRM into prompts. Retrieve only fields needed for the decision and make updates idempotent. In Copilot Studio, first check the official connector reference.
Best for triage, status synthesis, assignment, and governed ticket changes. Normalize status, priority, owner, timestamps, and canonical URLs before sending data to the model. Draft-first writes are safer than direct transitions; use provider request IDs to reconcile timeouts.
Best when users need fresh public-web evidence or a private retrieval index outside Microsoft 365. Return source URLs, titles, dates, and bounded snippets; domain-filter high-stakes queries. For rapidly changing provider coverage, use QVeris Tools discovery to inspect a capability and its schema before committing to a provider.
Best for governed answers from operational metrics, warehouses, or business intelligence. Put semantic definitions, row-level security, query limits, and aggregation rules outside the model. Prefer approved views or parameterized functions to open-ended SQL, and return the query or metric definition with the answer.
Best as the final delivery or approval step—not the source of truth. Draft a Teams, Outlook, or Slack payload with recipient, channel, evidence links, and action summary; let a policy or reviewer authorize sending. Separate “prepare message” from “send message” so a retry cannot silently duplicate communication.
| Outcome | Best starting surface | Typical API | Primary control |
|---|---|---|---|
| Answer from Microsoft 365 | Microsoft Graph | Mail, Files, Calendar, Teams | Least-privilege scopes |
| Find external enterprise knowledge | Copilot connectors | External connections and items | ACL and sync freshness |
| Change a business record | Copilot Studio tool | CRM or ticket connector | Preview, approval, idempotency |
| Research current public facts | Search tool | Web search or retrieval API | Source allowlist and citations |
| Answer with company metrics | Governed data tool | BI, warehouse, or metric API | Semantic layer and row security |
A production integration is easier to reason about when it is separated into four contracts: the Copilot experience that receives the request, the orchestration layer that selects knowledge or tools, an API boundary that enforces identity and policy, and the systems that own records. The model can propose a tool call, but it should not own authorization, retries, or the final truth about whether a write succeeded.
| Layer | Responsibility | Good contract | Failure to prevent |
|---|---|---|---|
| Copilot experience | Capture intent and show evidence, previews, and approvals | One bounded user outcome | A chat response mistaken for completed work |
| Orchestration | Choose knowledge, actions, and order of execution | Specific tool names and typed inputs | Wrong tool or unsafe action chaining |
| Policy gateway | Authenticate, authorize, validate, budget, and log | Deterministic checks outside the model | Prompt text expanding permissions |
| System of record | Return current state and commit approved writes | Canonical IDs and idempotency keys | Duplicate or unverifiable writes |
Microsoft now documents two Copilot connector models. Synced connectors ingest external content into Microsoft Graph so it can be indexed and permission-trimmed. Federated connectors retrieve content in real time through MCP without first copying it into the Graph index. Choose synced retrieval for discoverability across a large, relatively stable corpus; choose federated retrieval when freshness, source-local policy, or avoiding duplication is more important. Neither model automatically replaces an action API that updates a CRM, ticket, or database. The Microsoft 365 Copilot extensibility overview is the authoritative starting point.
Microsoft 365 Copilot APIs add AI-powered capabilities above ordinary Graph CRUD. The Retrieval API grounds your own application or custom engine agent in Microsoft 365 content; the Search API and Chat API are documented as preview capabilities and should be evaluated against current tenant availability and terms. Use ordinary Graph endpoints when you need explicit resource reads or writes. Use a Copilot API when the required capability is reasoning or retrieval over Microsoft 365 knowledge rather than raw resource manipulation. Review the official Copilot APIs overview before making production assumptions.
API quality does not compensate for the wrong identity model. Decide whether each call represents the signed-in user, an application, or a resource-specific installation before choosing scopes. Microsoft Graph distinguishes delegated access from application access; resource-specific consent can narrow access to the resource where an app is installed. Microsoft recommends requesting the fewest permissions required because broad scopes increase both security exposure and the chance that a tenant administrator rejects the integration.
Use when a user is present and the action must respect that user’s rights. The effective access is constrained by both granted scopes and the user’s permissions.
Use for approved background processing without a signed-in user. Treat it as a separate service identity with narrower endpoints, monitoring, and stronger administrative review.
Use when a connector or middle tier needs to call a downstream API on behalf of the current user. Validate audience and scopes at every hop; do not relay a token to an unrelated service.
Keep secrets and certificates in approved configuration or a secret store. Never place access tokens, API keys, or connection strings in prompts, agent instructions, or indexed knowledge.
For implementation details, use Microsoft’s Graph permission best practices and, for custom connectors, the Copilot Studio on-behalf-of authentication guide.
This example is hypothetical. It shows why one large “CRM assistant” operation is weaker than a chain of inspectable contracts.
Map the signed-in user and account request without exposing unrelated records.
Read approved CRM fields, recent Graph meetings, and indexed contract knowledge.
Separate sourced facts from inferred risks and attach canonical record links.
Preview the Teams message; a human approves the recipient and final send.
Treat content returned by mail, tickets, pages, and files as untrusted evidence. It cannot redefine tools, permissions, or policy.
“Get case status” and “close case” need separate names, schemas, scopes, audit events, and approval rules.
Cap calls, pages, rows, response size, and execution time. Cache stable discovery while rechecking volatile business state.
Use idempotency keys or provider request IDs. After a timeout, query remote state before retrying; never ask the model to infer success.
A connector that succeeds once in a maker session is not production-ready. Build a fixed evaluation set around one representative workflow, record expected sources and allowed actions, and run it after every schema, instruction, connector, permission, or model change.
Capture systems, fields, evidence, approvals, elapsed time, and the decision a person makes at the end.
Test missing, stale, permission-trimmed, duplicated, and conflicting content. Verify every conclusion points to the right source.
Submit malformed IDs, forbidden records, injected instructions, expired tokens, throttling, and timeouts after submission.
Ship only documented tools, scopes, budgets, owners, audit fields, rollback paths, and review dates.
Track tool-selection accuracy, evidence completeness, authorization failures, unsupported claims, calls per completed task, throttling and timeout rate, duplicate-write prevention, reviewer corrections, latency, and provider cost. Do not invent a universal pass score. Set thresholds from the risk of the workflow: a read-only knowledge assistant and an agent that changes customer records should not share the same release gate.
Replace broad names such as “manage customer” with intent-specific operations such as “get renewal evidence” and “draft renewal note.” Remove unused inputs, document negative scope, and test pairs of similar requests. With MCP, the server name and description also influence discovery; Microsoft’s MCP onboarding guide explicitly calls for a clear description.
Compare connector authentication, token audience, consent, environment policy, data-loss-prevention rules, network reachability, and the operation schema. A successful call with a personal token does not prove that the agent’s connection reference or end-user identity has access.
For synced connectors, inspect the connection, schema, item IDs, ACLs, crawl or push schedule, and failed ingestion records. For federated retrieval, inspect source availability, MCP authentication, query translation, response limits, and latency. Do not hide freshness uncertainty; surface the source timestamp in the answer.
Treat the result as unknown, not failed. Query the system of record with the idempotency key or request ID, reconcile state, and retry only when the original operation is proven absent or repeatable. If the provider cannot support reconciliation, route the case to a human.
Resource APIs for Microsoft cloud data and operations. Use for explicit reads and writes.
AI-powered Microsoft 365 capabilities such as retrieval; not a synonym for every Graph endpoint or connector.
A synced or federated route for making external knowledge available to Microsoft 365 Copilot experiences.
A Power Platform connection that exposes service operations to agents and flows.
A model-facing tool and resource server. Copilot support, transport, authentication, and administration still determine actual availability.
The authoritative system that owns the current business state; Copilot output is not a replacement for it.
If the capability may be served by multiple providers, inspect the available schema in the Build a persistent research report with non-sensitive test data. For a reusable tool surface, read the QVeris MCP server guide.Build a persistent research report
Copilot Studio agents can use prebuilt connectors, custom connectors, flows, REST API tools, and supported MCP connections. Exact options depend on the Copilot product, environment, tenant policy, licensing, and availability.
No. Microsoft Graph exposes Microsoft cloud resources and APIs. Microsoft 365 Copilot connectors use Graph endpoints to ingest external content into an index for search and Copilot grounding. Copilot Studio connectors expose operations that an agent or flow can call.
Use a custom connector when Power Platform lifecycle, authentication, policies, and OpenAPI-defined actions fit the workflow. Use MCP when you already have a reusable MCP tool surface and the target Copilot environment supports the required connection. In either case, authorization must remain outside model judgment.
For Microsoft 365 work data, start with Microsoft Graph. For external enterprise knowledge, start with a Copilot connector. For a business action, first check whether Copilot Studio has a prebuilt connector; build a narrow custom operation only when needed.
Describe the job, inspect a matching tool schema, and validate with non-sensitive data before connecting a production Microsoft Copilot workflow.
Microsoft 365 data and permission-aware workflows.
