AI & automation

Build Your First Copilot Studio Agent: Topics, Knowledge, Publishing

Create a Microsoft Copilot Studio agent for internal questions: add knowledge, write a topic, test it, publish it and share it in Teams, with the limits and errors to expect.

By EpiFive Editorial TeamReviewed/updated 11 min readHow we check articles
On this page

To build a first Copilot Studio agent for internal questions, describe what it should do on the Home page, add your documentation as a knowledge source, test it in the chat panel, select Publish, and then connect the Teams and Microsoft Copilot channel. Topics are optional: a knowledge source alone lets the agent answer from your content, and topics add fixed conversation paths where you want control.

Who this is for and what you will have at the end

This guide is for IT staff, operations teams and makers who want a simple internal question-and-answer agent, such as an IT help or HR policy assistant, without writing code. It follows the standard Copilot Studio web app experience.

At the end you will have:

  • An agent created from a short description, with instructions you control.
  • At least one knowledge source attached.
  • A custom topic with trigger phrases and a message.
  • A tested, published agent installed in Teams and shared with colleagues.
  • A short troubleshooting list for the errors people hit first.

Prerequisites

  • A Copilot Studio account at copilotstudio.microsoft.com. A trial license lets you create and test agents, but you can't publish with it.
  • Permission to create and access a Copilot Studio environment.
  • For Teams: your organization must allow Power Platform apps to be added to Teams, and agent users need access to Microsoft Copilot. If Power Platform apps are disabled, ask a Teams admin to change that in the Teams admin center.
  • Content to ground the agent: a public website URL, documents, or a SharePoint location that your users can open. See /blog/copilot-studio-sharepoint-knowledge-source for the SharePoint case.

Settings in Copilot Studio change often, so labels below follow the Microsoft Learn pages listed in the references at the time of writing.

Step 1: Create the agent

  1. Sign in to Copilot Studio. You land on the Home page.
  2. If a New experience toggle is shown, turn it off to get the Home page for standard-harness agents, which is the experience this guide describes.
  3. In the box that asks what your agent should do, describe it in your own words, up to 1,024 characters. For example: "Answer employee questions about our IT help desk process and device policy."
  4. Optionally, change the primary language, solution and schema name before you create the agent.

If you don't see the description box, your environment doesn't support creating agents with natural language, and you need to use the other creation options in the documentation.

When you start from a description, the AI generates the agent's name, description and instructions, and suggests triggers, channels, knowledge sources and tools. You can accept or dismiss each suggestion, and the suggestions don't persist beyond the current session. After provisioning completes, the Overview page lets you edit the name, description and instructions.

Write useful instructions

Instructions steer every answer. Keep them short and specific, for example which topics are in scope, the tone to use, and what to do when the answer isn't in the knowledge sources. If you want answers to carry source citations, say so in the instructions. Microsoft's guidance is that instructions which tell the model to omit sources, or that force a rigid output format such as only JSON, can suppress the citation markers the agent needs.

Step 2: Add knowledge

Knowledge sources ground the agent in your content. Add them on the agent's Knowledge page or from the Knowledge section of Overview.

SourceWhat it searchesAuthentication
Public websiteBing results restricted to the sites you provideNone
DocumentsFiles uploaded to DataverseNone
SharePointA SharePoint URL, using Microsoft Graph searchThe agent user's Entra ID sign-in
DataverseA configured Dataverse environmentThe agent user's Entra ID sign-in
Enterprise data using connectorsConnectors whose data Microsoft Search indexesThe agent user's Entra ID sign-in

With generative orchestration, the documented limits are 25 websites and 25 SharePoint URLs. Classic orchestration allows four public URLs and four SharePoint URLs per generative answers topic node. Uploaded files are not part of the 25-source limit.

Sources that use the agent user's authentication return only content that the specific person asking can open. That is helpful for permissions, but it also means a colleague without access to a SharePoint site gets no answer from it.

All knowledge you add at the agent level goes to the generative answers node in the Conversational boosting system topic, which Copilot Studio creates by default. That is why an agent can answer questions with no custom topics.

Decide about ungrounded answers

The Allow ungrounded responses setting, in the Knowledge section of the Generative AI settings page, controls whether the agent may answer from the model's general knowledge. It needs generative orchestration. If you turn it off, the agent returns a knowledge answer only when it includes an in-text citation, and a correct answer without a citation can be withheld, so you may see the fallback topic for a question that worked a moment earlier. Asking the same question again might succeed. For an internal policy agent, leaving it off is the safer choice, as long as the instructions ask for citations.

Step 3: Create a topic

A topic is a portion of a conversation made of nodes. Use one when you want a fixed path, for example asking which device type someone has before giving instructions.

  1. Open the Topics page. Close the test panel for a better view.
  2. Select Add a topic, then From blank. A Trigger node appears.
  3. Select the three dots on the Trigger node, then Properties. In On Recognized Intent properties, select the Phrases area.
  4. Under Add phrases, enter trigger phrases. Microsoft's guidance is 5 to 10 phrases, short rather than long sentences, for example "reset my password", "forgot my password", "locked out of my account".
  5. Select Details on the toolbar and enter a name such as "Password reset". Avoid periods in topic names, because a solution that contains an agent with periods in a topic name can't be exported.
  6. Select the Add node icon below the trigger, choose Send a message, and enter the text, for example the steps and a link to your self-service reset page.
  7. Select Save.

With generative orchestration, the agent chooses topics, tools and knowledge by their descriptions. In that mode, give the topic a clear description of what it is for. With classic orchestration the trigger phrases are what matter, and the customer's wording doesn't need to match them exactly.

Other nodes you will use soon include Question (ask for input), Condition (branch on a variable), Tool (call a Power Automate flow or connector) and topic management nodes to redirect or end the conversation.

Step 4: Test the agent

Test after every change.

  1. Use the Test your agent chat panel. Ask a question that should come from the knowledge source, then a phrase that should trigger your topic.
  2. Edit the instructions on Overview, ask the same question again, and compare. Repeat until the answers read the way you want.
  3. To change the greeting, select the introductory message in the test chat. The Conversation Start topic opens with a Message node. Replace the text so it says what the agent does and how to start, then Save.
  4. Select Start new test session to restart the conversation and see the change.

The test chat is for building. The published agent is a separate thing, which is why you publish and test again in Step 5.

Step 5: Publish

  1. At the top of the page, select Publish, and confirm with Publish in the dialog. It can take a few minutes. A green banner appears on success.
  2. Publishing applies to every channel connected to the agent, and each later change needs another publish.

Agents have the Authenticate with Microsoft option turned on by default. It uses Microsoft Entra ID automatically for Teams, Power Apps and Microsoft Copilot with no manual setup. No authentication lets anyone with the link chat, which Microsoft cautions against for internal agents. Agents with no authentication also can't use tools with user credentials.

For a first check, select the three dots at the top and choose Go to demo website, available when the agent uses No authentication or Authenticate manually. The demo website is for teammates and stakeholders, not for production or for customers.

Step 6: Connect Teams and share the agent

You must publish at least once before connecting the channel.

  1. Select Channels in the top menu bar, then the Teams and Microsoft Copilot tile.
  2. To make the agent available in both, leave Make agent available in Microsoft Copilot selected, then select Add channel. If you clear it, the agent is Teams-only.
  3. Select Edit details to set the icon, color and descriptions shown in the Teams app store. Select More for developer name, website, privacy statement and terms of use.
  4. Install it for yourself first: select See agent in Teams, then Add. In Microsoft Copilot, type @, pick the agent and ask a question.
  5. Share the agent with other users first (Copilot Studio's sharing page), since only users who can access the agent can chat with it, even if they can install it.

You then have three ways to distribute it.

MethodHowNotes
Installation linkAvailability options > Copy linkOnly users with access can use it. It doesn't work in the Teams mobile app.
Teams app store, shared usersAvailability options > Show to my teammates and shared users > Show in Built By Your Colleagues > UpdateAppears under Built with Power Platform, and only shared users see it.
Whole organizationAvailability options > Show to everyone in my org > Submit for admin approvalAn admin approves it, and it appears under Built for your org.

Before an admin submission, remove the agent from Built with Power Platform, or it could show in two places. After approval, content changes need only a publish, but changing the icon or descriptions needs a new approval request. Also don't reduce the agent's access setting below everyone in the organization after submitting, or users who install it will be unable to chat with it.

In Teams group chats and channels, agents can't use knowledge sources that need end-user authentication, such as SharePoint. Those agents are supported only in 1:1 chats, so test your SharePoint-grounded agent in a private chat.

Verification

  • A question answered from knowledge shows citations in the test chat.
  • Your topic fires on the trigger phrases and sends the right message.
  • After publishing, a second user who has been shared the agent can open it in Teams and get an answer.
  • A user with no access to the underlying SharePoint site does not receive content from it.

Troubleshooting

SymptomLikely cause and fix
Publish is disabled or fails on a trialThe trial license can't publish. Use an appropriate license.
A channel is greyed out on the Channels pageAn administrator or data policy blocked it. Select the information icon next to it to see why. See /blog/copilot-studio-dlp-policies-environments.
Users still see old answers after publishingType start over in the conversation, or wait up to an hour. Sessions in most channels end after 30 minutes of inactivity.
"Sorry, something unexpected happened. We're looking into it." with error code SystemError in TeamsTeams may be using a previously published version. Disable and re-enable the app in the Teams admin center, or turn the Teams channel off and on, then republish.
Agent is not in Built with Power PlatformTeams caches app data. Sign out and back in, or refresh the browser.
User can install the agent but can't chatThe agent isn't shared with that user or their security group. Share it, then retest.
Agent says it found no information on a question that worked earlierWith Allow ungrounded responses off, an answer without a citation is withheld. Add citation instructions or ask again.
Attachments get a text-only replyThe agent can only process text. Attachments are unsupported unless sent to an Azure Bot Service skill that handles them.

Checklist

  • Create the agent from a description and tighten the generated instructions.
  • Add at least one knowledge source your users can read.
  • Decide on Allow ungrounded responses.
  • Add a topic only where a fixed path is needed, with 5 to 10 short trigger phrases.
  • Test in the chat panel, publish, then test the published version.
  • Keep Authenticate with Microsoft for internal agents.
  • Install it yourself, share it, then choose a link, shared-users listing or admin approval.

References

Questions people ask

Do I need to write topics for a Copilot Studio agent?

Not to get started. Knowledge sources added at the agent level feed the Conversational boosting system topic, so the agent can answer questions from your documents without custom topics. Add topics when you need a fixed conversation path, such as a form-like question sequence or a call to a flow.

Can I publish an agent on a Copilot Studio trial?

No. The trial license lets you create agents and test them in the test chat panel, but you can't publish them. You need a license that allows publishing before you can use the demo website or the Teams channel.

Why does my published agent still show old answers?

New content applies only to new sessions. In most channels a session ends after 30 minutes of inactivity. In persistent channels such as Teams, type start over in the conversation to begin a session with the latest published content, or wait up to an hour.

Who can find my agent in the Teams app store?

Showing it to teammates puts it in the Built with Power Platform section, but only users the agent is shared with can find it there. To reach everyone, submit it for admin approval so it appears in Built for your org.

Copilot StudioPower PlatformMicrosoft TeamsKnowledge sources
  1. Turn Meeting Transcripts into Action Items with AI: A Step-by-Step Workflow

    Build a Power Automate flow that fetches a Teams meeting transcript, asks Claude to extract action items, and sends them to the organiser for review before anything is assigned.

    AI & automation9 min read
  2. Power Automate Run a Prompt Action: Classify and Summarise Text in Flows

    Create a prompt in prompt builder, call it from a Power Automate cloud flow with the Run a prompt action, add human review, and understand credits and common errors.

    AI & automation10 min read
  3. Meeting Transcription Options Compared: Whisper, Teams and Cloud APIs

    Compare Teams built-in transcription, open-source Whisper, the OpenAI API, Azure OpenAI and Azure AI Speech by limits, hosting, speaker labels and when each fits.

    AI & automation9 min read
  4. Microsoft 365 Copilot Business Price per User: Cost and a 30-Day Pilot Plan

    See what Copilot Business costs per user in USD, which Microsoft 365 plans qualify, and how to run a small paid pilot so you can decide with your own usage data.

    AI & automation13 min read
  5. Dialzen: Open Source AI Voice Agent for Support and Booking Calls

    Dialzen is an MIT-licensed platform for AI phone agents that answer support calls, book appointments and make consented follow-ups, using ElevenLabs Agents or Retell AI. Features, compliance, install and FAQ.

    AI & automation8 min read
  6. Gemini in Google Workspace: Plans, Pricing and What Is Included

    See which Google Workspace plans include Gemini, what each one costs per user per month in USD, what differs between Starter and Standard, and which admin controls you have.

    AI & automation8 min read