Low Code, Big Results

Build Copilot Studio Agents in Minutes — Demo Prompts & Instructions

Duration: 60 minutes Demo org: Contoso Instructor: John Rea

Using this handout

Every blue-accented block below is a copy-paste prompt or instruction used during the class. Click Copy on any block to drop it into Copilot Studio, Power Automate, Outlook, or Teams. The blocks are sequenced in the exact order they're used in class — follow top-to-bottom for a clean run.

The three demos:

Pre-class prereqs (stage the day before)

Accounts & licenses

Content to stage in the tenant

Tip: Record a 90-second screen capture of each demo the night before. If the tenant hiccups, you narrate over the clip and keep the energy up.

Demo 1 · Contoso Concierge Declarative agent

Type: Declarative agent · Build time: 8 minutes · Publish surface: Microsoft Teams

"Contoso just rolled out a new employee handbook, and HR is drowning in 'where do I find the PTO policy' emails. Let's build them a concierge."

You'll need: Contoso Employee Handbook PDF + the Contoso HQ SharePoint site URL.

Step-by-step

  1. Go to https://copilotstudio.microsoft.com → Create → New agent.
  2. Switch to the Describe tab and paste the agent description below.
  3. Let Copilot Studio auto-generate name, description, and instructions.
  4. Go to Knowledge → Add knowledge → Files. Upload the Employee Handbook PDF.
  5. Add knowledge again → SharePoint → paste the Contoso HQ site URL.
  6. Go to Starter prompts and replace defaults with the four below.
  7. Click Test in the right pane. Run the live test prompts in order. Point out the citations.
  8. Publish → Channels → Microsoft Teams. Install and open live.

Copy-paste prompts

Agent description prompt
Build me 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.
Starter prompts (one per line)
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.
Live test prompts (run in this order)
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?
Wow moment

"Notice what just happened: no training data, no prompt engineering degree, no code. I described what I wanted in plain English, dropped in a PDF, and 90 seconds later Contoso has a concierge that cites its own handbook. This is what Microsoft means by low-code AI."

If something goes sideways: If indexing is slow, flip to your pre-built backup agent. If an answer is off, ask "Find me the exact policy number and page" — models recover well on the second turn. If Teams publish prompts for admin consent, stay in the web test pane; the demo still lands.

Demo 2 · Contoso Service Hero Topics + Action

Type: Full Copilot Studio agent · Build time: 13 minutes · Publish surface: Teams + Web

"Concierge is great for 'what's the policy' questions, but the real business magic is when the agent does something. Contoso's support team gets 400 tickets a week — let's teach Service Hero to take the ticket itself."

You'll need:
  • A Power Automate flow Create Contoso Ticket with inputs customerName, productName, severity, description → creates a row in a SharePoint list or Dataverse table and returns a ticket number.
  • A SharePoint list Contoso Tickets (Title, Customer, Product, Severity, Description, Status).
  • The Contoso Orbit Product FAQ file ready to upload.

Step-by-step

  1. From Copilot Studio home → Create → New agent. Paste the agent description.
  2. Add three knowledge sources: Contoso Orbit Product FAQ (file), Contoso support website (URL), Contoso HQ SharePoint site.
  3. Go to Topics → + Add a topic → Create from description with Copilot. Paste the topic generation prompt.
  4. Review the auto-generated topic canvas. Point out trigger phrases, Question nodes, and the action placeholder.
  5. Click the action placeholder → Add an action → Choose an existing Power Automate flow → pick Create Contoso Ticket. Map topic variables to flow inputs.
  6. Back in Overview → update the agent Instructions with the text below.
  7. Open the Test pane. Run the three live test prompts in order. The third triggers the topic and files a live ticket.
  8. Open the SharePoint list live to show the row the agent just created.
  9. Publish → Channels → enable Microsoft Teams and Demo website. Drop the web chat URL in the class chat.

Copy-paste prompts

Agent description prompt
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.
Topic generation prompt ("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.
Agent 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).
Live test prompts (run in this order)
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.
Wow moment (say this after the ticket appears)

"Pause on this for a second. A business user just built, in twelve minutes, an agent that understands a product catalog, troubleshoots in natural language, collects structured data, calls a business system, and returns a real ticket number. No C# developer was harmed in the making of this demo. This is what Copilot Studio unlocks that Agent Builder can't."

If something goes sideways: If the Power Automate action errors, switch to a mocked action that returns a hard-coded ticket number. If slot-filling trips, finish the slots manually in the test pane. Keep a screenshot of a successful SharePoint row on your desktop — ultimate fallback.

Demo 3 · Contoso Deal Desk Autonomous

Type: Autonomous agent · generative orchestration · email trigger · Build time: 10 minutes (mostly show, some build) · Publish surface: Teams channel

"Contoso reps get deal requests emailed to deals@contoso.com. Today, a human spends 15 minutes on each — summarizing, pricing, posting to Teams, flagging for approval. Watch what happens when we hand that off."

You'll need:
  • A mailbox deals@contoso.com (or any test mailbox you own) as the trigger.
  • A Contoso Rate Card Excel file on SharePoint (Product, List Price, Floor Price).
  • A Teams channel Contoso – Deal Desk.
  • A second mailbox (Gmail or a separate tenant user) to send the live trigger email.
  • Pre-build the skeleton — only finish the last few steps live. This is a showcase demo, not a from-scratch build.

Step-by-step

  1. In Copilot Studio, Create a new agent. Switch orchestration to Generative (use generative AI to orchestrate).
  2. Paste the agent description below.
  3. Add the tools listed below — show the class these are tools, not topics. The agent will pick which to call.
  4. Set the trigger: When a new email arrives in deals@contoso.com.
  5. Paste the agent instructions into the Instructions field.
  6. From a second mailbox, send the trigger email below.
  7. Switch to Teams and wait for the Adaptive Card to post in the Deal Desk channel.

Copy-paste prompts

Agent description prompt
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.
Tools to add
- 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)
Agent 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: ".
Live trigger email (send from a second mailbox 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
Wow moment (narrate while Teams is loading)

"I never told it to read an email first, then look up the rate card, then post to Teams. I gave it a goal and a toolbox. The agent decided the sequence. That is generative orchestration — and that is something you cannot do in Agent Builder."

If something goes sideways: Autonomous triggers can take 30–90 seconds. Use the wait as narration time. If the trigger hasn't fired in 2 minutes, switch to the pre-recorded screen capture. If the Adaptive Card is plain, show the run history — point to each tool invocation and say "the agent chose to do this."

Closing & the ask

Close the class with this
Before you leave this session, write down the name of ONE workflow at Contoso where people spend 15 minutes on something that should take 15 seconds. That's your first agent. Ping me on Teams this week and I'll help you scope it.

Resources to drop in the class chat

Copied to clipboard