Skip to content

Contact sales

By filling out this form and clicking submit, you acknowledge our privacy policy.

Microsoft Copilot Studio: How to build a no-code AI assistant

Want to build your own custom copilot? Here's how to make a fully functional AI assistant to share with others, without writing code or being a developer.

Apr 10, 2024 • 9 Minute Read

Please set an alt value for this image...
  • AI & Machine Learning
  • Learning & Development
  • Guides

You’ve probably heard of Microsoft Copilot, the AI assistant that can help you with everything from creating PowerPoint decks to summarizing web pages.  And while that’s cool and all, chances are you might need to create your own copilot, where you can customize logic, and even point to your own custom data sources.  That’s where Microsoft Copilot Studio comes in.

In this article, we’ll take a high-level look at this offering from Microsoft, where it fits into the overall ecosystem, and how to build your first copilot.

Table of contents

How to try a free demo of Copilot Studio

Copilot Studio is a tool that’s best understood when you see it in action.  Luckily, Microsoft has made it easy to do that with a free demo.

Copilot Studio makes it easy to point your copilot to a website, and it will effectively use that site as its data source to generate conversation.

  • Enter the URL for the website you’d like to use (I’m using wikipedia.org)

  • If prompted, accept the Terms of Use

Now have a conversation!  Ask whatever question you want, and your assistant will come back with a response.

This is a simple version of a copilot, but hopefully you get the gist.  You point it to a data source (we’ll see how to use private data sources later), and it then uses that data to have a conversation.

How Copilot Studio fits into Microsoft Power Platform

Now that you have a taste for what Copilot Studio is all about, let’s talk about where it fits into the Microsoft ecosystem.

If you don’t know, Microsoft Power Platform is a suite of tools designed to help businesses automate, analyze and build applications—all without needing deep technical expertise or coding skills.

In the past, one component of the platform was Power Virtual Agents, where you could build intelligent virtual agents for customer service or similar use cases.  That functionality has now been rolled into Copilot Studio, along with a lot of new AI goodness too.

If you’ve worked with other parts of Power Platform in the past, the Copilot Studio experience will seem familiar in terms of the UI and some of its constructs.

How to build your first copilot using Copilot Studio

In the rest of this article, we’ll build a copilot that helps plan travel.  We’ll be able to ask for suggestions on things to do at our location, as well as any travel advisories or other things we need to know before we go.

Create a new copilot

  • If you don’t already have an account for Copilot Studio, you can sign up for a 30-day trial.
  • Once your account is created, navigate to https://copilotstudio.microsoft.com and sign in.
  • Click New copilot
  • Fill in details of your copilot: Name, language, and the the URL of the site you want it to use as a datasource to generate conversation.  I’m using viator.com, a site for booking tours and activities around the world.
  • Click Create

After your copilot is provisioned, you should be able to test it right away, asking questions relevant to the website URL you entered earlier.

And, like magic, your copilot is able to have a conversation about travel topics.

So we have some basic functionality.  Now let’s see how to build on it.

Adding additional data sources to your copilot

One way to easily boost the power of your copilot is to point it at additional sites and documents for data.

  • On the left-hand navigation, expand Settings and then click Generative AI

In addition to the initial site we specified when we created the copilot (viator.com in my example), you can add additional public sites or even SharePoint sites.  You can also upload documents that you want your copilot to consider when having conversations.

Exploring topics in Copilot Studio

Topics are the magic behind conversations in Copilot Studio.

Before building our own custom topics, it can be instructive to look at some of the built-in ones to understand how they work.

  • Click the refresh arrow to restart the conversation
  • Turn Tracking on so we can see what’s going on behind the scenes with topics
  • In chat, type “Hi” and then press the Enter key (or the arrow button)

This will invoke a topic that handles the conversation.  Here’s a breakdown of what’s happening.

  1. A topic called Greeting was invoked.  This is a default topic that got created when we created the copilot.
  2. Each topic has a trigger, or the thing that kicks it off.  In our cases, there are five phrases that would have triggered it, and we used “Hi” as our trigger.
  3. Next, we drop down to the message node, which is the copilot’s response to us (“Hello, how can I help you today?”)

Let’s take one more turn of the conversation to see a trigger that uses generative AI for its responses.

  1. In the chat, ask “What are current travel trends?”
  2. This will invoke a topic called Conversational boosting.  This basically means copilot doesn’t have a defined answer to this question, so it’s going to pull from its data sources and generate an answer.
  3. The trigger for this is “Unknown” (because we couldn’t possibly define all the things a user could ask in this scenario).
  4. Because copilot doesn’t have the answer, it will generate one, using the data sources we defined (viator.com in our case).
  5. At the end of the flow, we split at a conditional, checking if we have a valid (“is not Blank”) answer.  If so, display it to the user, which we do.

As you can see, we get a lot of functionality for “free” by using generative AI and the built-in topics.  And depending on your use case, this might be all you need.  But it’s also possible to edit these topics or create your own.

Creating a custom topic in Copilot Studio

Even though you get a lot of solid functionality with the out-of-the-box topics, there are times when you need to create your own.

  • On the left-hand navigation, click Topics
  • Click Create→Topic→Create from description with Copilot

By choosing this option, we only have to supply a human-friendly description of what we want the topic to do, and copilot will build it for us.  (You can also create From blank if you want to start from scratch.)

  • Give your topic a name, and then supply a description of what you want it to do.  In our case, a user should be able to enter the name of the country they’re traveling to, and get travel advisories and medical information.

Copilot will generate your topic with all major components like triggers, questions, messages and so on.  If you want to make any edits, you can get help with that on the right-hand pane.

Let’s test this out to see if it’s what we need.

  • In the chat, type “Check for travel advisories” (one of our defined trigger phrases).

That will drop us into the Question node of the topic, where we’re prompted for the name of the country we’re traveling to.  Whatever we answer here (“Namibia” in my example) will be saved as a variable called CountryName, which can be used later on in the topic if needed.

And then…wait, whaaat?

What happened here?  Where’s our generated answer for travel advisories?

Well, if you look at our topic, you’ll see it’s missing a node for a “generative answer.”  So let’s go add it.

  • Just below the Message node, click the plus sign to add a new node
  • Select Advanced→Generative answers

Now we need to tell copilot what the generated answer is about (the Input), and where to find the information (Data sources).

  • Under Input, select the arrow to the right of the box that says Enter or select a value
  • Select CountryName (this is the variable set earlier in the topic when the user enters the name of the country they’re traveling to)
  • Under Data sources, click Edit
  • In the right pane, enter the URL to the site you want to use to get travel information (I’m using travel.state.gov)
  • Click the plus sign to the right of the URL to add it
  • Close the pane by clicking the X on the top right

With these updates, your copilot should be able to give valid answers about travel advisories.  Restart the chat and give it a try.

Now we’re getting real travel advisories back!  Strong work.

We still see the placeholders for “[Insert travel advisory information here]” and “[Insert vaccination requirements here]” above the real answer.  These lines are hard-coded in the Message node of the topic; feel free to remove them

Publishing your copilot to a demo site

Okay!  You’ve got a fully-functional copilot.  Now let’s publish it so you can share it with others.

Saving and publishing your copilot

First things first.  If you haven’t noticed, you DO need to manually save changes to your copilot as you go.

  • Click Save in the top right corner
  • On the left-hand navigation, click Publish, then confirm the action
  • Click the Publish button

Once copilot has successfully published, you need to get the URL of the demo site.

  • On the left-hand navigation, click Copilots
  • Select your copilot and then on the top command bar, click Go to demo website

The demo site should launch, displaying your copilot…and an error: “Sorry, something unexpected happened. We’re looking into it. Error code: IntegratedAuthenticationNotSupportedInChannel.”

Handling authentication for your copilot

The IntegratedAuthenticationNotSupportedInChannel error means you don’t have authentication set up for your copilot.  So let’s see how to do that next.

  • In Copilot Studio, navigate into your copilot, then on the left-hand navigation, click Settings→Security

  • Click Authentication

In our case, we just need a basic copilot setup without authentication.  We’re using public data, and have no special requirements around security.  If you were using internal data or integrating with Teams, there are options to set up authentication providers.

  • Select No authentication
  • Click Save and then confirm the action

Because you’ve made changes to your copilot, you’ll need to publish it again.

  • On the left-hand navigation, click Publish

  • Click the Publish button and confirm the action

After copilot publishes this time, a handy link to the demo site is available from this same page.  Incidentally, this is a public link and can be shared with coworkers and friends, even outside of your organization.

  • Click demo website

The authentication error should be gone now, so have a conversation!  You could try something like:

  • Hi.
  • Give me ideas for activities in Namibia.
  • Are there any travel warnings?

If you want to add additional trigger phrases or anything else, just head back to your topic and make the updates on the canvas (being sure to save and publish when you’re done).

Wrapping up and further learning resources

At this point, you should have a fully-functioning copilot that you can share with the world.  Well done!  Even with just this simple example, hopefully you can appreciate the power of being able to build your own AI assistants—and all without needing to write code or be a software developer.

If you want to dig deeper on other AI offerings from Microsoft, and generative AI more broadly, then check out these additional resources:

Amber Israelsen

Amber I.

Amber has been a software developer and technical trainer since the early 2000s. In recent years, she has focused on teaching AI, machine learning, AWS and Power Apps, teaching students around the world. She also works to bridge the gap between developers, designers and businesspeople with her expertise in visual communication, user experience and business/professional skills. She holds certifications in machine learning, AWS, a variety of Microsoft technologies, and is a former Microsoft Certified Trainer.

More about this author