Our Thoughts

Microsoft Copilot Studio Tutorial

Written by Eileen Moudou | Jul 11, 2025 8:20:44 PM

In this tutorial, you will get the opportunity to understand how agentic AI can be constructed in a low-code environment, by following the guidelines to build an agent that parses resumes into a readable and easily digestible format.

 

Why is this useful?

LLMs are well-equipped to handle complicated natural language tasks, but even at the user interface, this can still involve a lot of mundane tasks like file uploading, copy-pasting, and refreshing data. By taking advantage of Copilot Studio and its capabilities, much of the process can be automated so that you can spend your time more thoughtfully.

First, let’s clarify: what is an “agent” in Copilot Studio?

Copilot Studio has an “Agents” tab that lets you build these task rabbits. However, in one Agent, there are several Topics. These individual Topics are the truly single-component “agents:” they handle one task at a time and give you one output at a time. Together, they create an overarching “Agent” that can handle a certain subset of tasks for you. In the “Multi-Agent Orchestration” option on the Overview page of one Agent, toggling this option allows Copilot to use generative AI and natural language processing to orchestrate the use of any of the Topics when a user interacts with the whole Agent.

How is an “agent” different from a “flow” in Copilot Studio?

This question holds more nuance. The “Agents” tab in Copilot Studio holds the published and unpublished agents you have created, and these are chatbots in the traditional sense. When you publish an agent, you can publish it to a specific environment (like Word, SharePoint, etc.) to ask that agent inquiries regarding the content of the environment. This is particularly beneficial for RAG LLM tasks, which allow the agent to use the environment (documents, etc.) as its “knowledge base” to answer questions and take actions intelligently.

The “Flows” tab in Copilot Studio is an option that allows users to create automated workflows with little to no code. Whereas an Agent is interactive, typically the advantage of a Flow is the “Automatic Trigger” option, which will start an automated task (or set of tasks) on its own. These triggers can correspond to a variety of events like: any time a file is added to a folder, or a document is edited.

Don’t forget...

You can get step-by-step instructions to troubleshoot any nitty gritty questions with any LLM, like OpenAI’s ChatGPT, Microsoft’s own Copilot, or similar infrastructure. Although this tutorial is meant to be concise, asking an LLM to guide you through which tabs to click on and which actions to take is a great way to get a better feel for how the language model in Copilot Studio will interpret input as well, and lets you learn the best practices for interacting with a chatbot and with agentic AI. This will also give you a good understanding for how other people will be interacting with your agent too!

When using the support of public models, take care to validate information by asking the GPT for references and ensuring that the references are recent and not outdated. This post is accurate as of July 2025.

Step by Step...

Here are the steps we can take to finally build our own agent in Copilot Studio:

Step 1: Create Your Copilot

  1. Go to Copilot Studio (copilotstudio.microsoft.com)
  2. Sign in using your Microsoft (school or work) account
  3. Click the "Create" or “Agent” tabs, and then the “New Agent” button
  4. If you have a text description of the task your agent should do, you can type in the message box, otherwise you can click “Skip to configure” to or “Create” to go to the configuration overview page immediately.
  5. Click Create

This creates a basic chatbot ready for customization.

Step 2: Add a Topic for Resume Summarizing

Topics are individual conversations your bot can handle. When the user says a trigger phrase, the bot starts the topic.

  1. In the top menu bar, click Topics (should be between Agents and Activity)
  2. Select “+ Add a topic”, either from blank or from a description
  3. You will be taken to the flow designer canvas (authoring canvas) for that topic, with an initial trigger action.
    • If orchestration is turned on, this trigger will automatically be “The agent chooses.” This uses natural language parsing to identify when the user is trying to trigger the topic. You can change this trigger by going to the Overview of the agent and toggling orchestration off.
  4. For manual triggers, you can add trigger phrases like:
    1. "Summarize this resume"
    2. "Can you help with a resume?"
    3. "What's this resume about?"
Now you're in a visual editor where you build the conversation flow.

 

Step 3: Ask the User for Resume Text

Let’s start the conversation by prompting the user to paste the resume.

  1. In the authoring canvas, click the + icon below your trigger action
  2. Choose “Ask a question”
  3. Enter: “Please paste the resume text here:”
  4. Set response type to “User’s entire response” in the Identify box
  5. Store the response in a variable, e.g., var1 or userResume

This input will later be sent to an external summarizer.

Step 4: Connect to a Resume Summarizing API

Now you'll connect the chatbot to an external summarizer. This can be done using Power Automate, a no-code tool for integrating with APIs.

Option A: Use Your Own API

If you have access to a resume summarization API (e.g. OpenAI, Azure OpenAI, or a custom webhook):

  1. Open Power Automate
  2. Create a new Instant cloud flow → name it SummarizeResumeFlow
  3. Add trigger: When an HTTP request is received
  4. Add action: HTTP → call the resume summarizer API
  5. Return a simple text summary in the response

Option B: Use a Mock/Placeholder Flow

If you’re just testing, the API can return a static message like “This resume is for a marketing specialist with 5 years of experience.”

Once the flow is ready:

  1. Go back to Copilot Studio
  2. In the authoring canvas, click + → choose Call an action
  3. Select your Power Automate flow (SummarizeResumeFlow)
  4. Map the input userResume to the flow
  5. Store the result in a variable, e.g., summaryText

Step 5: Display the Summary to the User

Now that you have the summary, show it to the user.

  1. Click the + icon below the flow call
  2. Choose Send a message
  3. Enter:
    1. Here's a summary of the resume: {summaryText}
Optionally, you can add follow-up questions like: Would you like to summarize another resume? Would you like to save this summary?
  1. Click the + icon below the flow call
  2. Choose Send a message
  3. Enter: Here's a summary of the resume: {summaryText}

Optionally, you can add follow-up questions like:

  • Would you like to summarize another resume?
  • Would you like to save this summary?

Step 6: Test and Publish Your Copilot

  1. Click Test your bot (in the top right corner)
  2. Type something like “Can you summarize this resume?”
  3. Paste a resume in the chat box
  4. Verify that it returns a summary

When you’re ready, you can click Publish in the top menu, and then go to Channels to share your bot via Microsoft Teams, or a public or internal website! Congrats on publishing your first agent!