Skill: Create Copilot Studio Agents from Scratch
Create agents in Microsoft Copilot Studio using the web app. This skill guides you through the complete agent creation process based on Microsoft Learn documentation.
Quick Reference
Documentation: https://learn.microsoft.com/en-us/microsoft-copilot-studio/authoring-first-bot
Key Limits:
- Agent name: max 42 characters (no angle brackets
<>) - Description: max 1,024 characters
- Instructions: max 8,000 characters
- Icon: PNG format, <72KB, max 192×192 pixels
Steps to Create an Agent
1. Start at Copilot Studio
- Sign in to https://copilotstudio.microsoft.com/
- Switch to the desired environment (if needed)
- Optionally configure: primary language, solution, schema name
2. Create the Agent (3 Options)
Option A - Natural Language:
- On Home or Agents page, enter a brief description of what you want the agent to do (up to 1,024 chars)
- AI generates name, description, instructions, triggers, channels, knowledge sources, tools
Option B - Create from Scratch:
- Home page: Select Create an agent under "Start building from scratch"
- OR Agents page: Select Create blank agent
Option C - Advanced Create:
- Agents page: Select dropdown next to Create blank agent → Advanced create
- Configure primary language, solution, and schema name before creating
3. Configure Basic Features
After provisioning, configure:
| Feature | Description |
|---|---|
| Primary AI Model | Change agent model |
| Triggers | Define what activates the agent (About triggers) |
| Knowledge Sources | Add enterprise data, websites, SharePoint, Dataverse (Knowledge) |
| Tools | Add Power Automate flows, connectors (Add tools) |
| Other Agents | Add sub-agents (Add agents) |
| Topics | Define conversation flows (Create topics) |
| Starter Prompts | Add suggested prompts for users |
4. Edit Agent Basics
Rename & Edit Description:
- Go to Overview page → Details section
- Select Edit → enter name/description → Save
Edit Instructions:
- Overview page → Instructions section
- Select Edit → refine instructions → Save
Change Icon:
- Select agent icon in top bar → Change icon
- Choose PNG image → Save
Change Language/Solution:
- Select gear icon in description box
- Under Agent settings: select primary language
- Advanced settings: choose solution and schema name
- Update
⚠️ Note: Cannot change primary language after creation. Can change region or add secondary languages.
5. Test & Publish
- Test your agent
- Improve based on testing
- Publish to channels
Topic Types
| Node Type | Purpose |
|---|---|
| Message | Send a message to user |
| Question | Ask user for input |
| Adaptive Card | Interactive cards with buttons/inputs |
| Condition | Branch conversation based on logic |
| Variable | Set, parse, or clear variables |
| Topic Management | Redirect, transfer, or end conversation |
| Tool | Call Power Automate flows, connectors |
| Advanced | Generative answers, HTTP requests, events |
Topic Creation (Web App)
- Go to Topics page → close test panel
- Add a topic → From blank
- Add trigger phrases (5-10 recommended)
- Use Add icon or upload a file
- Each phrase on separate line
- Select Details → add name, display name, description
- Save
Knowledge Sources
| Source | Description |
|---|---|
| Public Website | Bing search on provided URLs (max 25 in generative mode) |
| Documents | Uploaded to Dataverse |
| SharePoint | Connect via URL |
| Dataverse | Query tables in environment |
| Enterprise Data | Microsoft Search via connectors |
Delete an Agent
Web App:
- Go to Agents page
- Select agent → … menu → Delete
- Enter agent name to confirm
Authentication
- Agents automatically use Microsoft Entra ID (Azure AD) authentication
- Can configure SSO so users don't need manual sign-in
- See: Configure SSO
Event Triggers (Advanced)
Event triggers allow agents to act autonomously in response to external events—without user input.
Requirements
- Agent must have generative orchestration enabled
- Can impact billing (see Copilot Credits billing rates)
How Event Triggers Work
- Event occurs → External system (SharePoint, Planner, etc.) triggers an event
- Trigger sends payload → JSON/message containing event info + instructions
- Agent executes → Agent reads payload and calls appropriate actions/topics
Available Event Triggers
| Trigger | Source | Example |
|---|---|---|
| When a row is added/modified/deleted | Dataverse | New record in table |
| When a file is created | OneDrive | New file uploaded |
| When an item is created | SharePoint | New list item |
| When a task is completed | Microsoft Planner | Task marked complete |
| Recurrence | Scheduled | Time-based trigger (every X minutes) |
Add an Event Trigger
- Go to Overview → Triggers section
- Select Add trigger
- Choose the desired trigger
- Authenticate (uses agent maker's credentials)
- Configure parameters and define trigger payload
- Define actions/topics for the agent to call in response
Trigger Payload
The payload is a JSON/plain text message sent to the agent containing:
- Event information (data from the source)
- Instructions on how to act
Default payload example: "Use content from Body"
Custom payload example: "Summarize the changes and send to the user"
Agent Instructions vs Payload Instructions
| Approach | Use Case |
|---|---|
| Agent Instructions | General behavior, simple agents with few triggers |
| Payload Instructions | Complex agents with multiple triggers/goals |
Test a Trigger
- Run the triggering event (e.g., create a Planner task)
- On Overview page, select Test trigger icon beside the trigger
- Choose the instance → Start testing
- Use Activity Map to see agent's reaction
⚠️ Before publishing: Agent won't react automatically until published.
Modify a Trigger
- Overview → locate trigger → … → Edit in Power Automate
- Modify parameters, payload content, variables
- Save changes in Power Automate
Data Protection & Security
- Event triggers use agent maker's credentials only
- Users may access data using author's authorization
- Review data protection best practices before publishing
Billing Note
Each trigger activation counts as a message toward Copilot Credits. A recurrence trigger running every 10 minutes = ~4,320 messages/month.
Power Automate Integration (Tools)
Agents can call Power Automate cloud flows as tools to perform actions and get data.
Requirements for Agent Flows
| Requirement | Details |
|---|---|
| Trigger | Must use When an agent calls the flow |
| Response | Must include Respond to the agent action |
| Mode | Real-time (Async toggle = Off) |
| Timeout | Must respond within 100 seconds |
| Flow Run Limit | Up to 30 days (after response) |
Create an Agent Flow
Option 1: From Topic
- Go to Topics → open your topic
- Select Add node → Add a tool
- Basic tools tab → New Agent flow
- Template opens with required trigger + response action
- Publish → Go back to agent
- Action node added to topic → Save
Option 2: From Overview
- Overview → Tools section → Add tool
- Select Agent flow → create new or select existing
Configure Flow Inputs
In the When an agent calls the flow trigger, add input parameters:
| Parameter | Type | Example |
|---|---|---|
| City | Text | "Seattle" |
| ZIP code | Number | 98101 |
| Date | DateTime | "2024-01-15" |
Configure Flow Outputs
In Respond to the agent action, define output parameters:
| Output Parameter | Type | Variable Name |
|---|---|---|
| day_summary | Text | Day Summary |
| location | Text | Location |
| chance_of_rain | Number | Day Rain Chance |
Use Flow in Topic
- In topic authoring canvas, add Tool node
- Select the flow
- Map inputs (from user questions or variables)
- Use outputs in subsequent nodes
Modify Existing Flow for Agent Use
- Open flow in Power Automate
- Replace trigger with
When an agent calls the flow - Add
Respond to the agentaction - Configure inputs/outputs as needed
- Save and test
Speed Up Flow Execution
- Use Express Mode for faster agent flow execution
- Optimize queries and logic
- Keep typical runs under 100 seconds
- Move long-running actions after
Respond to Copilotaction
Connection Management
| Auth Type | Description |
|---|---|
| Maker credentials | Default - uses author's account |
| User credentials | Users run with their own permissions (generative orchestration) |
For user credentials: Configure flow's "Run-only permissions" to Provided by run-only user.
⚠️ CMK Environments: Cloud flows can't run with customer credentials. Use specific connections instead.
Publishing with Triggers
Pre-Publish Warning
When publishing an agent with event triggers, you'll see a warning about author credentials. Users may access data using the agent maker's authorization.
After Publishing
- Agent reacts automatically when triggers activate
- Monitor via Activity page
- Each trigger event creates a log entry
Test Mode vs Published
| Mode | Trigger Behavior |
|---|---|
| Test | Manual activation required |
| Published | Automatic activation on events |
Related Docs
- Quickstart: Create and deploy an agent
- Build initial agent training
- FAQ - Agent creation
- Event triggers overview
- Agent flow express mode