Low Code, Big Results. A copy-paste handout for building three Copilot Studio
agents: a declarative employee concierge, a customer-support agent that files real tickets,
and an autonomous deal desk triggered by email. Every blue-accented block below is a prompt
or instruction used in class — top to bottom, exactly as sequenced.
📝 About This Guide
Level: 200-Level — Low-Code Makers & Power Users Audience: Low-code makers, power users, and curious IT pros who want to build
Copilot Studio agents without writing code. License key:Copilot
Studio = requires Copilot Studio capacity •
M365
Copilot Premium = required for Agent Builder •
Power
Automate Premium = required for Demo 2 action Tip: Click the Copy button on any prompt block to paste it
straight into Copilot Studio, Power Automate, Outlook, or Teams.
👤
Overview
Using This Handout
The Three DemosWhat You’ll Build▼
Demo 1 — Contoso Concierge: A declarative agent, grounded on
an HR handbook PDF plus a SharePoint site. Built in under 5 minutes.
Demo 2 — Contoso Service Hero: A support agent with a custom
topic and a Power Automate action that files a real ticket and returns a ticket number.
Demo 3 — Contoso Deal Desk: An autonomous agent triggered by a
new email. Uses generative orchestration to pick its own tools, posts to Teams, and
flags deals for approval.
The blocks are sequenced in the exact order they’re used in class — follow
top-to-bottom for a clean run.
✅
Setup
Pre-Class Prerequisites
Accounts & LicensesWhat You Need▼
A Microsoft 365 tenant with a Copilot Studio license.
An M365 Copilot license (optional — only for the Agent Builder
segment).
A Power Automate premium license for Demo 2’s action.
Permission to publish agents to Teams in your tenant.
Content to StageFiles & Tenant Setup▼
A sample Employee Handbook PDF on a SharePoint site.
A sample Product FAQ document for Demo 2 (e.g., “Contoso
Orbit”).
A shared mailbox and a Teams channel for Demo 3 (e.g., deals@contoso.com
and “Contoso – Deal Desk”).
A Power Automate flow named “Create Contoso Ticket” with inputs:
customerName, productName, severity, description. Returns a ticket number.
A SharePoint list named “Contoso Tickets” for Demo 2.
A “Contoso Rate Card” Excel file on SharePoint with columns
Product, List Price, Floor Price for Demo 3.
Full topic designer with triggers, variables, conditions
Actions / tools
A small, curated set
1,400+ connectors, custom connectors, Power Automate flows, MCP tools
Publish surfaces
Inside M365 Copilot
Teams, web, custom apps, M365 Copilot, embedded
Generative orchestration
—
Yes — agent reasons over tools on the fly
Autonomous triggers
—
Yes — email arrival, record changes, schedule
🎯 One-Line Takeaway
Agent Builder = fastest path to a grounded assistant inside Copilot. Copilot Studio = everything Agent Builder does, plus the muscle to
automate real business processes.
🌟
Section 2 · Demo 1
Contoso Concierge — Declarative Agent
ScenarioThe Story▼
Goal: Build a grounded internal employee assistant in under five minutes
that answers HR and policy questions with citations.
You’ll need: Contoso Employee Handbook PDF + the Contoso HQ
SharePoint site URL.
Switch to the Describe tab and paste the Agent Description
prompt below. Let Copilot Studio generate the name, description, and instructions.
Go to Knowledge → Files → upload the
Employee Handbook PDF.
Add knowledge again → SharePoint → paste your Contoso HQ
site URL.
Go to Starter prompts and replace the defaults with the four starter
prompts below.
Click Test and run the live test sequence. Notice the citations.
Publish → Channels → Microsoft
Teams.
PromptAgent Description▼
Paste into the Describe tab
Build an internal employee assistant for Contoso called
“Contoso Concierge”. Its personality is warm, concise, and never corporate.
It helps Contoso employees with HR policies, benefits, time off, IT basics, and finding
the right person to talk to. It always cites the policy page it’s quoting from.
If it doesn’t know the answer, it offers to open a ticket with HR and never guesses.
PromptStarter Prompts (replace defaults)▼
Four starter prompts
How much PTO do I get as a new Contoso employee?
What's Contoso's policy on remote work?
Who do I contact about parental leave?
Summarize the Contoso code of conduct in 5 bullets.
PromptLive Test — Run In Order▼
Test sequence
How much PTO do I get as a new Contoso employee?
What about after 5 years?
Who do I contact about parental leave?
What if I still need help?
💡 Tip
If the first answer is off, ask “Find me the exact policy number and page.”
Models recover well on the second turn.
🔧
Section 3 · Demo 2
Contoso Service Hero — Topics + Action
ScenarioThe Story▼
Goal: Build a customer-support agent that troubleshoots the Contoso Orbit
product in chat and, when it can’t solve the issue, files a real support ticket
via Power Automate and returns a ticket number.
You’ll need:
A Power Automate flow “Create Contoso Ticket” with
inputs: customerName, productName, severity, description. Returns a ticket number.
A SharePoint list “Contoso Tickets” with columns Title,
Customer, Product, Severity, Description, Status.
Contoso Orbit Product FAQ (DOCX or PDF).
StepsBuild It▼
Create a new agent in Copilot Studio and paste the Agent Description
prompt.
Add three knowledge sources: Contoso Orbit FAQ (file), Contoso support site (URL),
Contoso HQ SharePoint site.
Go to Topics → + Add a topic →
Create from description with Copilot. Paste the Topic
Generation prompt below.
On the generated topic canvas, open the action placeholder → Add an
action → Choose an existing Power Automate flow
→ select “Create Contoso Ticket”. Map the variables.
Update the agent’s Instructions with the Agent
Instructions text below.
In the Test pane, run the three-turn test below. The last turn triggers the topic
and files a ticket.
Open the SharePoint list in a new tab to confirm the new row.
Publish to Microsoft Teams and the Demo website.
PromptAgent Description▼
Paste into the Describe tab
Build me a customer support agent for Contoso called
“Contoso Service Hero”. It helps customers troubleshoot the Contoso
Orbit product line and, when it can’t solve the issue in chat, creates a
support ticket on their behalf. It is patient, asks one question at a time, always
confirms before filing anything, and always returns a ticket number the customer
can reference.
PromptTopic Generation — “File a Support Ticket”▼
Paste into Create from description with Copilot
Create a topic called “File a Support Ticket” that
triggers when a customer says they want to open a ticket, log an issue, report a
problem, escalate, or talk to a human. The topic should collect the customer’s
name, the product name (default to Contoso Orbit), the severity (Low, Medium, High,
Critical), and a description of the issue. Confirm the details back to the customer,
then call the action “Create Contoso Ticket” to file it. Return the
ticket number in the confirmation message and offer to email the customer a copy.
PromptAgent Instructions▼
Paste into Instructions
You are Contoso Service Hero, a friendly product support
specialist. Always try to solve the issue in chat first using your knowledge sources.
If the customer explicitly asks to open a ticket, or you’ve tried two approaches
and haven’t resolved it, use the File a Support Ticket topic. Never make up a
ticket number — always use the one returned by the action. When you file a
ticket, restate the ticket number clearly and give the customer a realistic expectation
of response time based on severity (Critical: 1 hour, High: 4 hours, Medium: next
business day, Low: 3 business days).
PromptTest Sequence — Three Turns▼
Run in the Test pane, one turn at a time
My Contoso Orbit won't connect to Wi-Fi after the latest firmware
update.
I tried that. It still won't connect. I need someone to help me.
Yes, please open a ticket. My name is Priya Desai, the severity is High, and the issue is:
Orbit unit #A47 will not associate with the corporate SSID after firmware 4.2.
💡 Tip
After the ticket is confirmed, open the Contoso Tickets SharePoint
list in a second tab to see the new row.
🤖
Section 4 · Demo 3
Contoso Deal Desk — Autonomous Agent
ScenarioThe Story▼
Goal: Build an autonomous agent that wakes up when a deal-request email
arrives, reads it, looks up pricing on a rate card, and posts a summary with an
Approve/Reject action to a Teams channel — without any human in the loop
until approval is needed.
You’ll need:
A shared mailbox or test mailbox (e.g., deals@contoso.com).
A Contoso Rate Card Excel file on SharePoint with columns
Product, List Price, Floor Price.
A Teams channel “Contoso – Deal Desk”.
A second mailbox to send the trigger email from.
StepsBuild It▼
In Copilot Studio, create a new agent. Switch orchestration to Generative.
Paste the Agent Description prompt below.
Add the Tools listed below (Outlook, Excel, Teams, Approvals).
Set the trigger: when a new email arrives in deals@contoso.com.
Paste the Agent Instructions below.
From a second mailbox, send the Live trigger email to deals@contoso.com.
Switch to Teams and wait for the Adaptive Card to appear.
PromptAgent Description▼
Paste into the Describe tab
Build an autonomous agent for Contoso called “Contoso Deal
Desk”. Its job is to process incoming sales deal requests end-to-end without
a human in the loop, until approval is required. When a new deal-request email
arrives at deals@contoso.com, it reads the email, extracts the customer name, the
requested products, quantities, and any discount asks. It looks up list and floor
pricing from the Contoso Rate Card. It drafts a deal summary. It posts an Adaptive
Card to the “Contoso – Deal Desk” Teams channel with the summary
and an Approve/Reject button. If the deal value is over $50,000 or the discount is
deeper than the floor, it flags the card as Requires Approval. It never quotes below
floor. It is precise, neutral, and short — sales leaders don’t want fluff.
ReferenceTools to Add▼
Add these tools to the agent
- Get a new email from the deals@contoso.com mailbox (Outlook connector)
- Read an Excel file on SharePoint — Contoso Rate Card (Excel connector)
- Post an Adaptive Card to a Teams channel (Teams connector)
- Create an approval (Approvals connector, optional)
PromptAgent Instructions▼
Paste into Instructions
When a new email arrives at deals@contoso.com:
1. Read the email body and extract: customer name, requested products (as a list),
quantities, and any discount asks.
2. For each requested product, look up List Price and Floor Price from the Contoso Rate
Card.
3. Compute: subtotal at list, subtotal at requested price, and total discount %.
4. Draft a 4-line deal summary: customer, products, total value, discount %.
5. Post an Adaptive Card to the "Contoso – Deal Desk" Teams channel with the summary, a
Details expander containing the line items, and an Approve/Reject action.
6. If total value > $50,000 OR any line is below Floor Price, tag the card "Requires
Approval" and @mention the Deal Desk Lead.
7. Never quote below Floor Price. If asked to, post the card with "Blocked — below floor"
and stop.
8. Reply to the original email with "Your request is with our deal desk, reference:
<Teams post link>".
Trigger EmailSend from a Second Mailbox▼
Send to deals@contoso.com
To: deals@contoso.com
Subject: Deal request — Northwind Traders
Hi Contoso team,
Northwind Traders would like to purchase the following:
- 250 × Contoso Orbit Pro units
- 250 × Contoso Orbit Care — 3-year support
They're asking for a 22% discount off list across the bundle. Need to close by end of
quarter.
Thanks,
Alex
💡 Tip
Autonomous triggers can take 30–90 seconds to fire. If nothing happens in Teams
within 2 minutes, check the agent’s run history for errors.
🎯
Section 5
Closing & the Ask
ActionYour Monday-Morning Agent▼
Your assignment
Write down the name of ONE workflow where people spend 15 minutes
on something that should take 15 seconds. That’s your first agent.
Pick a workflow that’s:
Repeatable — happens more than once a week.
Rule-based — someone could write down the steps.
Bounded — clear inputs and a clear outcome.
Start with a declarative agent (Demo 1). Add a topic + action
when it needs to do something (Demo 2). Go autonomous once you trust it
(Demo 3).