4.1 Create an Agent Flow
Key Takeaways
- Agent flows are deterministic automations in Copilot Studio: a trigger plus one or more actions that always follow a rule-based path for the same inputs.
- You can author agent flows with natural language (multi-turn Copilot chat) or the visual designer; after you open a flow in the designer, further NL edits stop and you continue on the canvas.
- Use agent flows for multi-step, consistent work; use topics for conversational structure and branching; use tools (including published flows) when the agent orchestrator or a topic must invoke work at runtime.
- To add a flow as an agent tool it needs the When an agent calls the flow trigger, a Respond to the agent action with Asynchronous response Off, publication, and a typical run under the 100-second action limit.
- Every action executed in a production agent flow consumes Copilot Studio capacity; designer and agent test-chat runs do not consume agent flow capacity.
Why agent flows matter on AB-620
Create an agent flow sits under the Domain 1 skill cluster Create and monitor agent flows in Copilot Studio. On the exam you are expected to know not only the click path, but why a flow is the right building block versus a topic node, a connector tool, or pure generative orchestration. Agent flows are the deterministic automation surface in Copilot Studio: given the same inputs and the same path through conditions, they execute the same sequence of actions. That reliability is what makes them the right home for multi-step system updates, structured approvals, and any work that must not “improvise” mid-run.
Microsoft positions agent flows as part of the standard harness experience. You create and manage them as classic agents from the Workflows / Flows area, design them in a visual canvas familiar from Power Automate, and can run them standalone or attach them to an agent as a tool. Every action an agent flow executes consumes Copilot Studio capacity (agent flow actions), so design choices have both functional and licensing consequences.
What an agent flow is (and is not)
An agent flow consists of:
| Piece | Role |
|---|---|
| Trigger | Event that starts the run (instant/manual, schedule, connector event, or When an agent calls the flow) |
| Actions | Tasks the flow performs after the trigger |
| Control | Branching, loops, data operations, child flows (built-in tools) |
| AI capabilities | LLM-backed steps such as run a prompt, process documents, call an agent, generate a reply to a calling agent |
| Human in the loop | Approvals and request-for-information style pauses |
| Connectors | Microsoft 365, third-party, and custom connectors for data and side effects |
Deterministic execution is the defining benefit: rule-based paths produce consistent outcomes. That is different from generative topic answers, which can vary phrasing and path selection. Use generative conversation for language understanding and soft routing; use agent flows when the business process must be repeatable, auditable, and complete.
Agent flows also deliver:
- Simple creation with AI-assisted suggestions for triggers and actions
- End-to-end visibility for design, monitoring, and improvement inside Copilot Studio
- Solution membership for drafts/versioning, export/import, and ALM via the Power Platform admin center and solution tooling
Two ways to create an agent flow
Microsoft documents two authoring paths. Both land you in a published, testable flow; they differ in how you get the first draft.
1) Natural language authoring
From Flows on the Workflows page, use the Copilot chat panel and describe the automation in everyday language. A strong prompt includes:
- Trigger — what starts the flow (email arrives, form submitted, schedule, agent call)
- Connectors — Outlook, Teams, SharePoint, Forms, Dataverse, and so on
- Actions — send message, create item, start approval, write row
- Conditions — only if sender is manager; only if amount is over a threshold
- Specific parameters — list name, channel, email addresses
Prompt pattern that works well: “When X happens, do Y.” Example: When an email from my manager arrives, post the email subject to the Announcements channel in the Contoso Teams workspace. Vague prompts (process my email) force more multi-turn clarification and risk the wrong connector.
Copilot engages in a multi-turn conversation, presents a plan, lets you refine it in chat, then builds the end-to-end flow including connections and parameters. When you Save, the flow opens in the designer. Critical product rule: once the flow is open in the designer, the natural-language chat panel can no longer change that flow—further edits happen on the canvas. Natural language authoring relies on external models (Microsoft documents Anthropic models and admin control via Power Platform external-model settings); treat org AI policy as part of solution design, not an afterthought.
Note: natural language authoring applies to agent flows. If you are building the newer workflow format, Microsoft currently points makers to the designer rather than NL for that path.
2) Visual designer
From Flows, open a flow and use the Designer tab (or start New agent flow and build on the canvas). You insert actions under cards, configure Parameters, use Flow checker for errors, review Version history (saved versions in Dataverse), Publish, then Test (manual or automatic). View toolbar controls—expand/collapse, zoom, fit view, minimap, search—matter on exam scenarios that describe large multi-branch flows.
Hard rule: you cannot publish a flow that still has errors. Fix every Flow checker issue first, then publish, then test. A green publish does not guarantee correct business logic—always validate outputs of each action on a test run.
Capacity and testing (exam-relevant)
| Scenario | Capacity impact |
|---|---|
| Production run of an agent flow | Each executed action consumes agent flow capacity |
| Test run in the flow designer | Does not consume Copilot Studio capacity |
| Run from agent embedded test chat | Does not consume agent flow capacity |
| Flow called from a topic (classic) | One Classic answer plus the agent flow actions |
| Flow called under generative orchestration | One Autonomous action plus the agent flow actions |
If prepaid capacity is exhausted, new agent flow runs can be blocked until capacity returns; in-flight runs finish. Microsoft 365 Copilot licensed users and test runs are documented as not affected the same way—monitor Agent flow actions under Power Platform admin center → Licensing → Copilot Studio, and plan pay-as-you-go when needed.
When to use a flow vs a topic vs a tool
AB-620 scenario stems often mix three surfaces. Use this decision table:
| Need | Prefer | Why |
|---|---|---|
| Conversational turn-taking, variable collection, message cards, generative answers | Topic | Dialogue and presentation live on the topic canvas |
| Multi-step, side-effecting process with fixed order (create record, notify, update status) | Agent flow | Deterministic path, connectors, human-in-the-loop, capacity-metered actions |
| Agent orchestrator (or a topic) invokes work by description at runtime | Tool (may be a published agent flow, connector action, REST API, MCP, computer use) | Orchestration chooses when to call; flow still owns the steps |
| Soft Q&A over documents with citations | Knowledge | Retrieval, not transactional automation |
Agent-level tool vs topic-level tool: When you add a qualifying flow under the agent’s Tools page, generative orchestration can call it directly. When you add the same flow as an Action node inside a topic, availability is scoped to that topic’s path—better when the process must only run after specific dialogue steps.
Requirements to add a flow as an agent tool
Microsoft’s criteria are checklist material:
- Trigger: When an agent calls the flow
- Terminal action: Respond to the agent
- Asynchronous response set to Off (Networking settings on the respond action)—the agent expects a real-time response
- Flow is published
- Typical completion under the 100-second action limit—optimize queries and payload size
If a flow is missing from the Add tool list, re-check trigger, respond action, and publish state before assuming a permissions problem.
Convert a Power Automate cloud flow
Existing cloud flows can become agent flows so you manage them in Copilot Studio and bill against Copilot Studio capacity instead of Power Automate plan billing:
- Flow must already be in a solution
- Flow must live in the environment that has Copilot Studio capacity
- Edit the flow → change plan to Copilot Studio → Save and confirm
Conversion is one-way because billing changes. You can still open the flow from Power Automate, but you cannot reverse the plan change through a simple undo.
Scenario: Contoso invoice intake
Contoso wants employees to email invoices to a mailbox, have the system extract key fields, create a Dataverse row, and post a Teams summary. Design choice:
- Do not put extraction + Dataverse + Teams as three disconnected topic HTTP nodes without orchestration—hard to maintain and easy to leave half-done on errors.
- Do create an agent flow triggered by email (or by agent call after the user uploads a file in chat). Use AI document actions for extraction, Dataverse connector to create the row, Teams connector to notify Finance.
- Expose the same flow as a tool only if the conversational agent must start the process from chat with user-supplied metadata; use the mailbox trigger for unattended intake.
Authoring checklist for the exam
- Choose NL for a fast first draft when the process is clear; switch to designer for conditions, error handling, and parameter mapping.
- Name the flow and actions so agent descriptions can select the right tool.
- Save drafts often to build version history before first publish.
- Run Flow checker, publish, then Test with representative data.
- If attaching to an agent, verify agent-call trigger, real-time respond, and sub-100-second runs.
- Confirm solution membership if ALM or conversion is in scope.
- Estimate action count × expected volume against environment capacity.
Master creation first: later sections add human-in-the-loop stages and connector configuration on top of this foundation.
A maker describes an automation in Copilot Studio chat, confirms the plan, saves, and opens the flow in the designer. How should they apply a new condition that was not in the original plan?
Which set of requirements must an agent flow meet before it can be added as a tool that the agent orchestrator calls at runtime?
Contoso needs a fixed four-step process: validate a form payload, write a Dataverse row, notify a Teams channel, then return a ticket ID. Users will sometimes start it from chat. What is the best primary design?