Welcome
In the next hour you'll learn what agents are, how to build a simple declarative agent inside Microsoft 365 Copilot Agent Builder, and how to graduate to Copilot Studio for richer capabilities. You'll leave with two working demo agents.
Agenda
Modules
Intro to Agents
What makes something an "agent," and how the M365 stack maps to it.
2Agent Builder
The fastest path to a declarative agent — Demo: Icebreaker Architect.
3Copilot Studio
Pro-grade authoring with topics, knowledge, and actions — Demo: Office Plant Whisperer.
4Tweaking & Testing
Refining instructions, custom icons, and the test pane workflow.
What you need before we start
- A Microsoft 365 account with Copilot Chat access (for Agent Builder).
- A Copilot Studio trial or licensed environment.
- A modern browser (Edge or Chrome).
1. Intro to Agents
What an agent really is — and what makes it different from a chatbot
What is an agent?
An agent is a purpose-built AI assistant that combines four things:
- Instructions — the persona, scope, tone, and rules it follows.
- Knowledge — the documents, sites, or data sources it can ground answers in.
- Actions — the things it can do (call APIs, kick off a Power Automate flow, post a message).
- Triggers / surface — where the user meets it: Microsoft 365 Copilot Chat, Teams, a website, etc.
Two flavors of "agent" in the Microsoft stack
| Declarative agent | Custom / Pro agent |
|---|---|
| Built on top of Microsoft 365 Copilot's reasoning. Configured with instructions + knowledge + (optionally) actions. | Built in Copilot Studio. Can use custom topics, generative orchestration, your own AI models, multi-channel publishing. |
| Authored in Agent Builder (inside Copilot Chat) or Copilot Studio "agent builder" experience. | Authored in Copilot Studio. |
| Lives inside Microsoft 365 Copilot Chat. | Can live in Teams, a website, Slack, custom apps, the Copilot Chat surface, and more. |
When to use which
- Start here Agent Builder when the agent just needs Copilot's chat surface, a persona, and maybe some grounding files or web sources.
- Pro Copilot Studio when you need structured topics, branching dialog, connectors to line-of-business systems, analytics, multi-channel publishing, or custom AI orchestration.
The "Describe" superpower
Both tools include a Describe experience where you type a plain-English description of what you want, and Copilot configures the agent for you — name, icon, instructions, starter prompts, and (in Studio) suggested topics. We'll use it in both demos today rather than configuring fields manually.
2. Agent Builder
Demo: Build the "Icebreaker Architect" agent
What is Agent Builder?
Agent Builder is the lightweight authoring experience inside Microsoft 365 Copilot Chat. You launch it directly from the Copilot Chat sidebar, describe what you want, and the agent shows up alongside your other Copilot agents — no separate portal, no admin center detour.
- No premium license required when you stick to instructions + uploaded files + web/SharePoint sources.
- Lives in Copilot Chat. Shareable to your tenant with a link.
- Best for: personas, role-based assistants, knowledge-grounded helpers.
Demo: "Icebreaker Architect"
Our agent helps anyone running a meeting, workshop, all-hands, or team offsite generate creative, low-cringe icebreakers tuned to the size of the group, time available, and vibe of the meeting.
Step 1 — Open Agent Builder
- Open Microsoft 365 Copilot Chat.
- In the left rail, click Agents → + Create agent (or "Build an agent"). This opens the Agent Builder pane.
- You'll land on the Describe tab — that's where the magic starts.
Step 2 — Use Describe to bootstrap the agent
Paste this into the Describe box and let Copilot generate the name, icon, instructions, and starter prompts.
Create an agent called "Icebreaker Architect" that helps anyone running a meeting, workshop, all-hands, or offsite invent creative, low-cringe icebreaker activities. When a user starts a conversation, ask three quick questions in a single message: 1. Group size (small under 8, medium 8-25, large 25+) 2. Time available for the icebreaker (under 5 minutes, 5-15 minutes, 15+ minutes) 3. The vibe they want (energetic, reflective, getting-to-know-you, team-bonding, or creative-thinking) Then propose three different icebreaker options at that exact size/time/vibe. For each one, give: - A catchy name - One-sentence "why this works" - Step-by-step instructions the facilitator can read aloud - An optional twist to make it harder or funnier - An accessibility-friendly variation for remote or hybrid attendees Tone: warm, witty, never cheesy. Avoid trust falls, anything involving touching, anything that singles out introverts, and anything that requires personal disclosure people might regret on Monday. If the user pushes back on an idea, generate fresh alternatives — never repeat one you've already suggested in this conversation. End each response with: "Want me to remix one of these, or generate three more?"
- Click Create (or "Generate"). Agent Builder fills in the Name, Description, Instructions, and Starter prompts automatically.
- Review the generated fields. The instructor will point out which fields came from which part of the Describe prompt.
Step 3 — Refine the instructions (optional polish)
The Describe output is usually 90% there. Drop this refinement into the Instructions field (or have students replace what was generated) so everyone is on the same page for the live test:
You are the Icebreaker Architect. Your job is to design memorable, inclusive icebreaker activities for meetings, workshops, all-hands, and offsites. OPENING TURN On the very first message, ask all three of these in one short message: - Group size? (S: under 8, M: 8-25, L: 25+) - Time available? (under 5, 5-15, 15+ minutes) - Vibe? (energetic / reflective / getting-to-know-you / team-bonding / creative-thinking) EVERY RECOMMENDATION Always return THREE distinct options. Each option must include: - Name (catchy, 2-5 words) - Why it works (1 sentence) - Step-by-step facilitator script - Optional twist - Hybrid/remote variation RULES - Never repeat an icebreaker you've already proposed in this conversation. - Never suggest trust falls, anything physical-contact-based, anything that singles out introverts, or anything requiring disclosures people might regret. - Keep tone warm and witty. Do not use the words "synergy," "circle up," or "let's unpack." - If the user pushes back, generate new options. CLOSING LINE End every response with: "Want me to remix one of these, or generate three more?"
Step 4 — Starter prompts
Starter prompts are the buttons users see the first time they open the agent. Use these in the Starter prompts section (replace whatever Describe generated):
I have a 30-person all-hands tomorrow. Need a 5-minute energetic icebreaker.
Give me a getting-to-know-you activity for a new team of six, 15 minutes.
Design a creative-thinking warmup for a hybrid design workshop.
I hate every icebreaker I've ever done. Convince me with three weird ones.
Step 5 — Set the icon
- Click the agent's icon in the top-left of the builder.
- Choose Generate icon and paste this prompt:
A friendly minimalist illustration of a melting ice cube being broken open with a tiny architect's blueprint scroll spilling out, soft pastel palette, flat vector style, white background.
Or upload a PNG/SVG if you have a brand asset.
Step 6 — Save and test
- Click Create (top right). The agent is saved to your personal agents.
- The test pane opens on the right. Click a starter prompt — verify the agent asks the size/time/vibe question first.
- Try the test prompts below:
Medium group, 10 minutes, team-bonding vibe. We're a remote engineering team.
Give me a trust fall variation.
I don't love any of those. Give me three more.
Step 7 — Share
Click Share in the top right → copy the link. Anyone in your tenant with Copilot Chat can open it instantly. No deployment, no admin approvals, no Teams app package.
3. Copilot Studio
Capabilities tour + Demo: the "Office Plant Whisperer"
What is Copilot Studio?
Copilot Studio is the pro-grade, low-code authoring environment for agents. Same "Describe to start" experience as Agent Builder, but you get the full toolbox: topics, actions, knowledge, generative orchestration, channels, and analytics.
- Premium Standalone license, capacity-based (message packs) or per-user.
- Hosts agents that can publish to Teams, web, Slack, mobile apps, the Copilot Chat surface, and more.
- Sits inside the Power Platform — natively connects to Dataverse, Power Automate, and 1500+ connectors.
Capabilities at a glance
| Capability | What it does |
|---|---|
| Topics | Structured conversation flows triggered by phrases. Can branch, ask questions, call actions, return generative answers. |
| Generative answers | Lets the agent answer freely from your knowledge sources (web pages, SharePoint, files, Dataverse, custom data) without you scripting every path. |
| Generative orchestration | Agent decides at runtime which topic, action, or knowledge source best fits the user's intent — no rigid trigger phrases needed. |
| Actions | Call Power Automate flows, Power Apps connectors, REST APIs, prompts, AI Builder models, or other agents. |
| Knowledge | Public web search, specific URLs, SharePoint, OneDrive, uploaded files, Dataverse, enterprise data via Graph connectors. |
| Entities & variables | Capture user input (locations, dates, custom lists) and pass through the conversation. |
| Channels | Publish to Teams, custom websites, Microsoft 365 Copilot, Facebook, Slack, custom apps via Direct Line. |
| Analytics | Sessions, resolution rate, top topics, abandoned conversations, customer satisfaction. |
| Authentication | Entra ID, OAuth providers, no-auth, end-user auth for connector calls. |
Demo: "Office Plant Whisperer"
A friendly agent for office workers who don't know what their desk plant wants. It greets the user, helps diagnose a sick plant via a guided topic, and falls back to generative answers grounded on a public houseplant care website for everything else.
Step 1 — Create the agent in Copilot Studio
- Go to copilotstudio.microsoft.com.
- Click Create → New agent.
- You'll land on a chat with Copilot. This is the Describe experience — same idea as Agent Builder, expanded.
Step 2 — Describe the agent to Copilot
Paste this and let Copilot ask any follow-ups. Accept its suggestions; you can refine later.
Build an agent called "Office Plant Whisperer." It helps office workers care for the houseplants on their desks and in shared spaces. The agent should: - Greet users warmly and ask if they want general care help or to diagnose a struggling plant. - Answer questions about watering schedules, light needs, common pests, repotting, and propagation for popular office plants like pothos, snake plants, ZZ plants, monsteras, succulents, and peace lilies. - Ground its answers on a reputable public houseplant care website. - Include a guided "diagnose my plant" topic that asks the user a few quick questions (what plant, what's wrong: yellow leaves / brown tips / drooping / pests / something else, and how often they water) and then suggests the most likely cause and three things to try. Personality: kind, encouraging, a little whimsical. Talks to plants like they're tiny green coworkers. Never shames the user for killing a plant. End general answers with a one-line "Plant tip of the day" — a fun, surprising fact about the plant being discussed.
- When Copilot asks follow-ups (tone, scope, languages), accept defaults or paraphrase what's in the prompt.
- Click Create. The agent opens to the Overview page with generated name, description, instructions, and starter topics.
Step 3 — Refine the instructions
Go to Overview → Instructions (or Settings → Generative AI → instructions, depending on UI version). Replace with:
You are the Office Plant Whisperer — a warm, slightly whimsical houseplant care assistant for office workers. CORE BEHAVIOR - Greet new users and ask if they want general care help or to diagnose a struggling plant. - If they want diagnosis, hand off to the "Diagnose my plant" topic. - For general questions, answer from your grounded knowledge sources. If the source doesn't cover it, say so honestly and suggest where to look. STYLE - Kind, encouraging, slightly whimsical. Refer to plants as "tiny green coworkers" or by name. - Never shame the user for over- or under-watering. Killing a plant is part of becoming a plant person. - Keep responses scannable: short paragraphs, bullets when listing care steps. TIP OF THE DAY - End every general answer with: "🌱 Plant tip of the day:" followed by one surprising, true fact about the plant being discussed (origin, biology, history, etc.). OUT OF SCOPE - Outdoor landscaping, vegetable gardening, hydroponic farming — politely redirect. - Plant identification from photos — explain you can't see images and ask for a description instead.
Step 4 — Add a knowledge source
- Go to the Knowledge tab.
- Click + Add knowledge → Public websites.
- Add this URL as the grounding source (a well-known public houseplant care site):
https://www.thesill.com/blogs/plant-care
Name the source The Sill — Plant Care Blog and give it this description so the orchestrator knows
when to use it:
Authoritative guide to indoor houseplant care, watering, light, common problems, pests, and repotting for popular species like pothos, snake plants, ZZ plants, monsteras, peace lilies, fiddle-leaf figs, and succulents.
Step 5 — Add the "Diagnose my plant" topic
- Go to the Topics tab → + Add a topic → Create with Copilot.
- This is the in-Studio "Describe" experience for topics. Paste:
Topic name: Diagnose my plant.
Trigger phrases: my plant is dying, my plant looks sad, help my plant, something is wrong with my plant, plant emergency, diagnose my plant.
Conversation flow:
1. Acknowledge the user warmly ("Okay, let's check on your tiny green coworker.").
2. Ask: "What kind of plant is it?" — store the answer in a variable called PlantType.
3. Ask: "What's it doing?" with these multiple-choice options: Yellow leaves, Brown crispy tips, Drooping, Pests / bugs, Something else. Store in Symptom.
4. Ask: "How often do you water it?" with options: Every few days, Once a week, Every couple of weeks, Honestly I forget. Store in WateringHabit.
5. Generate a diagnosis: use generative answers grounded on the agent's knowledge sources, passing PlantType, Symptom, and WateringHabit. Return the most likely cause and three concrete things to try, in a kind tone.
6. Ask: "Want me to set a reminder routine for this plant?" — if yes, give a simple text-based care schedule (don't actually create a calendar event).
7. End with the Plant tip of the day for the user's plant type.
- Click Create. Studio generates the full topic with question nodes, variables, and a generative-answer node.
- Open the generated topic, click through each node, and tell the class what Copilot built. Show the variables on the right pane.
- Save the topic.
Step 6 — Set conversation starters
On the Overview tab, replace the auto-generated starters with these:
How often should I water my pothos?
My snake plant is dying — help.
What's a low-light plant that won't die on my desk?
Diagnose my plant.
Step 7 — Set the icon
Top of the Overview page → click the agent icon → Generate, and use:
A cute minimalist illustration of a smiling monstera leaf wearing tiny round glasses, soft green and cream palette, flat vector style, white background.
Step 8 — Test in the side pane
Use the Test your agent panel on the right. Click refresh after saving topic/knowledge changes.
How much light does a ZZ plant need, and how do I know if it's getting too much?
My pothos has yellow leaves and I water it every couple of weeks.
Can you identify my plant if I send a photo?
I killed another plant. I'm a monster.
Step 9 — Publish (optional, if time allows)
- Publish button (top right) → confirm.
- Go to Channels → enable Microsoft 365 Copilot or Teams.
- For Teams: click Availability options → Show to people in my organization (requires admin approval depending on tenant settings).
4. Tweaking, Icons & Testing
How to refine an agent after the first version exists
The "first draft" rule
Describe gets you to a working agent fast. It is never the final version. Expect to iterate on instructions 3–5 times before sharing.
Tweaking instructions
Good instructions follow a predictable shape:
- Identity — one sentence: who the agent is and what it does.
- Core behavior — what to do on the first turn, on follow-ups, on completion.
- Style — tone, voice, words to use or avoid.
- Rules / guardrails — things to never do, things to always do.
- Out-of-scope — what to politely refuse or redirect.
Drop this template into either tool to start from a clean structure:
You are [AGENT NAME] — [one-sentence identity]. CORE BEHAVIOR - On the first message: [what to ask or say]. - On follow-ups: [pattern to follow]. - On completion: [what to summarize or hand off]. STYLE - Tone: [adjectives]. - Always: [phrases, formats, structures you want]. - Never: [words, idioms, patterns you want to avoid]. RULES - [Hard rule 1] - [Hard rule 2] OUT OF SCOPE - [Topic 1] — [how to redirect] - [Topic 2] — [how to redirect]
Common tweaks after first test
- Agent is too generic. Add 1–2 concrete examples of an ideal response inside the instructions.
- Agent ignores a rule. Move the rule higher in the instructions and rewrite as a positive statement ("Always do X") rather than a negative ("Don't do Y").
- Agent rambles. Add an explicit length or format constraint: "Respond in under 120 words" or "Use bullet points with a maximum of five items."
- Agent guesses when it shouldn't. Add: "If you are not certain, ask a clarifying question instead of guessing."
- Wrong knowledge source got used (Studio). Tighten the description of each knowledge source so the orchestrator picks the right one.
Setting the icon
Generate from a prompt
Both Agent Builder and Copilot Studio let you generate an icon with Copilot. Tips:
- Be visual and specific: "a smiling cactus wearing sunglasses" beats "a plant icon."
- Specify style: flat vector, minimalist, line art, 3D claymation.
- Specify color palette: soft pastel, navy and gold, monochrome blue.
- End with white background so the icon composites cleanly on any surface.
A [adjective] [subject] [optional action or accessory], [color palette], [style: flat vector / minimalist / line art / 3D], white background.
Upload your own
For internal corporate use, prefer a PNG sized 512×512 or an SVG. Keep it readable at 32×32 — that's how small it shows in the Copilot Chat sidebar.
Testing — the right loop
Use the Test pane in both tools. Every change to instructions, knowledge, or topics should be tested with at least these four prompt types:
| Prompt type | Why | Example |
|---|---|---|
| Happy path | The core thing the agent exists to do. | "Plan a 5-minute icebreaker for 10 people." |
| Edge case | Same task, unusual input. | "Plan an icebreaker for 200 people in 90 seconds." |
| Guardrail | Something the agent should refuse or redirect. | "Suggest a trust fall." / "Identify my plant from a photo." |
| Memory / persona | Make sure the agent stays in character across turns. | "Now do it in pirate voice." (Should keep its actual persona.) |
1. [Happy path] — Ask the agent to do exactly what it was built for. 2. [Edge case] — Same task with an unusual constraint (huge group, tiny time, weird tone). 3. [Guardrail] — Ask for something explicitly forbidden in instructions. 4. [Out of scope] — Ask about a topic outside the agent's purpose. 5. [Persona drift] — Ask the agent to pretend to be something else. 6. [Knowledge grounding] — Ask a question only your knowledge source can answer. 7. [Citation check] (Studio only) — Look for source citations on grounded answers.
Studio-specific testing tips
- Click Show topic map in the test pane to see which topic fired.
- If a topic isn't triggering, add or rephrase trigger phrases. The orchestrator uses them as semantic hints, not exact matches.
- Refresh the test pane (↻) after every save, especially after knowledge changes — caches can lag.
- Use Activity map after publishing to see real usage patterns.
Wrap-up checklist
- ✅ Name is clear and on-brand
- ✅ Icon is readable at 32×32
- ✅ Description tells a stranger what the agent does in one sentence
- ✅ Instructions follow the 5-section shape
- ✅ At least 3 starter prompts cover the main use cases
- ✅ All 4 prompt types from the smoke test were tried
- ✅ (Studio) Knowledge sources have descriptions so the orchestrator picks correctly
- ✅ (Studio) At least one structured topic for the most important flow
Questions to leave the class with
- What's a workflow on your team where someone is the bottleneck answering the same questions?
- What information would the agent need to ground on?
- Could it start as an Agent Builder agent, or does it need Copilot Studio from day one?