Microsoft Copilot Studio: How to create your own agent

With our guide for Microsoft Copilot Studio, you will learn step-by-step how to make the most of the tool and what to consider when setting up your intelligent bot, your AI agent. Let's get started!

What is Microsoft Copilot Studio?

Microsoft Copilot Studio is part of the Microsoft Power Platform and enables the creation and deployment of AI-powered agents. It is based on no-code/low-code technology, making it useful for users with little or no programming knowledge.

Microsoft’s Copilot Studio has evolved from Power Virtual Agents, a tool for creating classic chatbots. It combines the best of both worlds by integrating numerous AI functions. It offers the full flexibility of an AI agent that understands and adapts to complex tasks while allowing precise, transparent orchestration for specific topics, providing a powerful platform for developing dynamic, intelligent bots that can be used in various ways.

What is an AI agent, and how does it differ from a chatbot?

Classic Chatbot
A classic chatbot operates with fixed rules and scripts. It uses decision trees or pattern recognition to respond to inputs. Such bots are limited to specific tasks, have limited contextual understanding, and often fail with unexpected queries. They are suitable for simple tasks such as FAQs but frequently appear inflexible to users.

AI-Agent
A modern AI agent is based on large language models (LLMs) and enables intelligent, dynamic interactions. It understands context, learns from conversations, and reacts flexibly to new scenarios. Such agents conduct complex dialogs, integrate external systems, and provide versatile solutions.

Terminology

For clarity, in this article, we refer to the Copilot you created in Copilot Studio as an “agent.” “Copilot” refers to the AI within Copilot Studio that assists you in creating your agent. “Copilot Studio” refers to Microsoft’s solution for creating agents.

Starting Microsoft Copilot Studio and creating an agent

First, open your browser and go to https://copilotstudio.microsoft.com/  . You can set up a free trial version if your company has not already licensed you.

You now have three options for creating an agent:

  • Copiloten from Copilot Studio: The AI will ask you questions and create the agent based on your answers.
  • Microsoft-provided templates: If a template covers your use case, it can serve as a base for customization.
  • Manual creation: Use the menu item “⊕ Create” option to start configuring your agent directly.

For first-time users, we recommend using the Copilot from Copilot Studio, which guides you through the setup with easy-to-understand questions. You can find it directly at the top of the homepage (“Describe your agent to create it”). The Copilot will query the following parameters:

  • The purpose and target audience: Who will use the agent, and which topics or processes it should cover.
  • Tone of the agent: Define response styles, such as summarizing in bullet points or even speaking like a pirate.
  • Knowledge source: Only public websites and SharePoint documents can be used in this phase. You can skip this question if you prefer to use other data sources.
  • Prohibited topics: Specify topics and information the agent should not address.

If you prefer manual creation, the same parameters are requested in a form. Please describe the tone and taboos in the instructions field. Also, remember to give your agent an appealing name and a symbol or avatar. You should use an image in PNG format for this purpose.

Once you have answered the Copilot’s questions – or manually filled in the form fields – click “Create” in the top right-hand corner.

Would you like to learn more about Power Apps within the Power Platform and explore how to use them for your company?

In our Envisioning Workshop, your team will learn hands-on how to digitize processes with the Power Platform using an example from your company – with a practical focus on knowledge sharing. The best part: Microsoft generally covers the workshop costs.

Adding a knowledge source

Once your agent has been created, you will be taken to an overview page summarizing its parameters. These can be edited at this stage if desired by clicking the pencil icon on the right.

In the “Knowledge” section, you can now add additional information sources. You can add more knowledge sources, such as:

  • Public websites
  • SharePoint
  • Dataverse
  • File uploads (PDF, Word, Excel, PowerPoint, epub…)
  • Azure AI search
  • Azure SQL
  • Salesforce
  • ServiceNow Catalog
  • ServiceNow Knowledge
  • ServiceNow Tickets

When adding a knowledge source, you should always enter a meaningful name and detailed content description, helping the AI to categorize and use the knowledge source correctly – especially when multiple sources are provided.

When entering knowledge sources, ensure that the knowledge is available in natural language and not primarily in image, table, code, or other graphical formats. The AI in Copilot Studio currently processes natural language best.

If you activate the “Allow the AI to use its own general knowledge” button on the overview page, the agent will access knowledge accumulated during the AI’s training. Your agent will use this knowledge in its responses if this setting is enabled. If your agent should rely only on a clearly defined knowledge pool or internal knowledge, you should disable this setting.

Defining topics and orchestrating dialogs

Topics serve to control the agent’s knowledge output – as the AI should not always simply moderate the knowledge from its sources and rephrase it in its own words. For some questions, the agent should always respond with a predefined text block or trigger follow-up actions, such as creating a ticket in Microsoft Dynamics 365 Customer Service or routing the conversation to specific employees or departments.

There are two areas within topics:

  • Custom topics: Here, you can specify topics to which the agent should always respond in a specific way. For example, the agent could always refer booking inquiries to a specific department instead of processing ideas from its knowledge base.
  • System topics: Here, system-relevant parameters for the agent can be set, such as how the agent should start a conversation, handle escalations or errors, what fallback method to use when unsure, how it should deal with finding contradictory answers in its knowledge base, and how and when to ask users for feedback. Here, fixed text modules can be entered, which the agent uses in the appropriate situation.

To create a custom topic, click on “Add topic.” Here, you can choose to work manually “From blank” or use “Create from description with Copilot” and use the Copilot for assistance. Topics can also contain branching logic – for example, referring travel inquiries for train journeys to one person and hotel bookings to another.

First, trigger expressions should be created or reviewed and refined if the Copilot provided assistance. These are text blocks or topic descriptions to which the agent should respond with the predefined answer created in the next step rather than searching the knowledge base. In the tree structure, you can define how the agent should respond to the trigger. The options include:

  • The agent responds with a reply that can include not only text but also images, videos, or so-called “cards” (see further).
  • The agent responds with a follow-up question.
  • The agent responds with multiple-choice options to narrow down response options.
  • The agent reacts with a base card, a compilation of a title, subtitle, and image from a URL, text, and, optionally, a button.
  • The agent responds with an adaptive card, a platform-independent card created as JSON or with a dedicated designer. More complex information, such as opening hours, can be stored here.
  • The agent responds with a quick reply. These typically include buttons that offer the person asking additional options for actions.
  • The agent generates an answer from a specific subset of its knowledge base. This “Create generative response” option can be found under “Advanced.”

For externally provided agents, particular attention should be given to defining topics and storing all possible scenarios related to your brand, legal matters, or security-critical aspects.

In the settings, you can further refine your agent’s parameters. Here, you can configure how the agent should respond to requests. Currently, only the “classic” variant is available for German agents, meaning that the agent reacts to defined trigger words in the topics. The “generative” version, which is currently only available in English, will soon be available. If selected, the AI will interpret trigger phrases based on described situations rather than specific words. In the option block below this, you can set the response accuracy – whether the agent should adhere closely to the source wording or paraphrase more freely.

If the agent does not respond adequately to topics after switching to “Generative,” you should review and adjust the trigger description.

Storing entities and variables

You will also find the “Entities” section in the settings. A series of standard information entities are predefined here, which the AI can filter from available information. Here, you can also create additional entities that your agent should look for in the text to help structure knowledge.

Entities can be used in the “Topics” area to refine predefined responses. For example, if an entity “means of transport” is set up with a corresponding trigger, the agent can first respond with a multiple-choice option listing available transport modes or ask a follow-up question about the preferred transport mode and adapt the subsequent course of the conversation. Entities can be created as variables in the Topics area. These variables can be applied globally across the entire agent or only to a specific topic.

The variable “means of transport” is suitable as a global variable for an agent focused on travel management and could also be processed by the system in subsequent steps, for example, when creating a ticket in a customer service system. The best part: the AI can extract entities from text. If the answer is “I’d prefer to take the train this time,” the AI will identify the correct entity in the response.

Suppose the follow-up question regarding the entity is unnecessary within a specific topic because this information was already mentioned during the conversation. In that case, the settings for the follow-up question in the “Topics” section can specify that the follow-up question does not need to be asked if the information is already available. Alternatively, the agent can be required to always ask a follow-up question about a specific topic, regardless of the previous course of the conversation.

Setting up follow-up actions

In the “Actions” area, you can configure the Copilot’s follow-up actions. Actions can be used, for example, to retrieve up-to-date information, such as the weather forecast for the destination – as this knowledge cannot be processed as pre-existing text knowledge when the agent is created. Other actions could include the automatic sending of an appointment invitation, the creation of a ticket in the ticket system, or the updating of master data.

You can access Power Automate Flows, standard connectors, and custom connectors. The Power Automate Flow’s starting point is an agent input. The AI can extract the information required for execution from the dialog, or it can be specified in the “Input” area. For example, when asking about the weather forecast, the location should be extracted from the chat history, while the temperature unit could be predefined if the agent were only available in Germany. In the “Output” section, you can also determine whether the agent should create its own response from the retrieved information or whether you prefer a predefined formulation with variables from the flow.

If you connect external systems such as Excel Online, Outlook, or Jira to your Copilot, they will appear with their connection status on your agent’s overview page.

Publishing the agent

Before publishing your agent, you should configure authentication in the “Settings” section under “Security.” By default, it is set so that users must authenticate themselves via a Microsoft account to use your agent. If you want to change this, select the “No authentication” option.

You can embed your agent in the following environments, which you can access via the “Channels” tab:

  • Microsoft Teams
  • Demo website
  • Custom website
  • Mobile app
  • Facebook
  • Add the bot to Azure Bot Service channels, including:
    • Skype
    • Cortana
    • Slack
    • Telegram
    • Twilio
    • Line
    • Kik
    • GroupMe
    • Direct Line Speech
    • Email

You can also integrate your agent into customer service systems such as Dynamics 365 Customer Service, Genesys, LivePerson, Salesforce, ServiceNow, ZenDesk, or Customer engagement hub.

We wish you every success in creating your agent in Microsoft Copilot Studio and will be happy to assist you with any questions you may have!

22. January 2025
Update: 4. February 2025

Stephan Guthahn

Share this article

Questions on the topic

Do you have any questions about the article or do you find the topic interesting? Please feel free to send us a message.