Share via


Review the implementation checklist

Implementing your Copilot Studio agents requires careful attention to integrations, channels, tools, topic design, and slot‑filling behavior to ensure agents perform reliably at scale. This section provides practical questions and best practice guidance to help you validate your implementation choices.

Validate your implementation readiness

Use the following checklist to confirm your agent is technically sound, performant, and production‑ready.

AI capabilities and feature planning

Done? Task
Did you identify which AI capabilities (generative orchestration, generative answers, generative builder, AI prompts, computer use, approvals) your scenario requires?
Did you define the purpose, scope, and constraints for each selected capability?
Did you assess risks or governance requirements for high‑privilege capabilities (for example, actions, connected agents, computer use)?
Did you validate that knowledge sources are accurate, well‑structured, and ready for grounding?
Did you confirm how AI‑generated content will be reviewed, validated, or overridden when necessary?

Generative orchestration design

Done? Task
Did you clearly define the agent's tools, topics, actions, and child or connected agents with meaningful names and descriptions?
Did you specify decision boundaries for what the AI can act on autonomously versus when confirmation or human approval is required?
Did you design topic and action inputs and outputs so the orchestrator can auto-prompt and chain steps naturally?
Did you ensure tools behave deterministically and include validation for critical parameters?
Did you define guidance for the orchestrator on when to use knowledge, when to use tools, and when to perform multistep planning?

Integrations

Done? Task
Did you identify which systems your agent must integrate with and choose the appropriate integration pattern (connector, HTTP, workflow, API, Model Context Protocol)?
Did you confirm authentication requirements and decide between user credentials and maker credentials for each integration?
Did you evaluate API limits, performance constraints, and expected volume for all services your agent calls?
Did you design appropriate error-handling behavior for each integration path?

Agent tools

Done? Task
Did you evaluate whether a capability should be implemented by using a tool, a workflow, an MCP server, or a prompt?
Did you ensure each tool has a clear name, description, inputs, and outputs so the orchestrator can select it reliably?
Did you confirm whether advanced models or configuration require using an AI prompt instead of the orchestrator?
Did you test tools independently to validate payloads, schema, error-handling, and performance characteristics?
Did you assess whether a scenario calls for a child agent or connected agent rather than a tool?

Channels, clients, and hand‑off

Done? Task
Did you choose the correct channels for your audience and verify the messaging formats each channel supports, such as Markdown, Adaptive Cards, and images?
Did you validate client behavior and ensure users have a consistent experience across Teams, Web Chat, mobile, or custom apps?
Did you determine whether your implementation requires live agent hand‑off and select the appropriate pattern, either Bot‑as‑an‑Agent or Bot‑in‑the‑Loop?
Did you confirm that credits, latency, and agent takeover behavior are acceptable for your chosen hand‑off model?

Topics, trigger phrases, and slot filling

Done? Task
Did you structure your topics so each serves a clear purpose and avoids overlapping responsibilities?
Did you design effective trigger phrases that support synonyms, variations, and domain vocabulary?
Did you define entities and slot-filling rules to ensure the agent collects required information efficiently?
Did you evaluate whether custom entities, such as closed list or RegEx, are required to avoid NLU confusion?
Did you validate fallback behavior and ensure the agent gracefully resolves missing or unclear information?

Best practice callouts

  • Name components clearly and intentionally: Use action‑oriented, human‑readable names for tools, topics, and connected agents to help the orchestrator consistently choose the right component.
  • Design inputs and outputs with purpose: Use concise, human‑friendly input names and structured outputs so the orchestrator can auto‑prompt naturally and chain steps reliably.
  • Keep capabilities modular and reusable: Treat topics, tools, and connected agents as building blocks. Avoid duplicating logic across flows or components.
  • Prioritize safety boundaries early: Define which actions the AI can perform autonomously, which actions require confirmation, and which actions demand human approval to prevent unintended behavior.
  • Curate high‑quality knowledge sources: Keep knowledge bases small but accurate. Remove outdated or noisy content to improve grounding quality and reduce incorrect information.
  • Choose the simplest integration pattern first: Prefer built-in connectors or workflows unless your scenario explicitly requires custom APIs or MCP servers. Simpler paths are easier to maintain and debug.
  • Define tool behavior clearly and consistently: Give every tool a meaningful name, description, input set, and expected output so the orchestrator can select it correctly and generate stable plans.
  • Validate authentication early: Avoid surprises by confirming whether the scenario requires user authentication, maker credentials, or secure access through managed identities.
  • Design for latency and performance: Keep API queries efficient, reduce payload sizes, and avoid chaining slow integrations to maintain a responsive conversational experience.
  • Test tools, workflows, and prompts in isolation: Validate inputs, outputs, and error states individually before wiring them into topics or the orchestrator.
  • Plan channel behavior deliberately: Understand which channels support Markdown, Adaptive Cards, photos, or custom layouts, and design your messages accordingly.
  • Structure topics for clarity and maintainability: Keep topics focused, avoid overlap, and ensure each topic solves a single well-defined task.
  • Craft trigger phrases that match real user language: Include variations, synonyms, and common phrasing patterns to improve intent recognition and reduce fallback frequency.
  • Use entities to reduce unnecessary questions: Employ built-in and custom entities to extract information from the user's initial message, reducing friction and speeding up flows.
  • Test slot-filling edge cases thoroughly: Validate how the agent behaves when the user provides multiple values, incomplete information, or ambiguous input, and refine entities to reduce confusion.