# 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.

Source: https://www.epifive.com/blog/microsoft-copilot-studio-agent-build-first-agent · Published 2026-10-25 · EpiFive

## Key takeaways

- A Copilot Studio agent can start from a plain-language description of up to 1,024 characters, and Copilot Studio generates its name, description and instructions.
- Knowledge sources added on the Knowledge page feed the Conversational boosting topic, so a useful internal agent needs no custom topics.
- You must click Publish for changes to reach users, and the test chat does not reflect the published version.
- The Teams channel only works after at least one publish, and the agent must be shared with each user who will chat with it.
- Agents with Authenticate with Microsoft turned on use Entra ID sign-in automatically in Teams, while No authentication lets anyone with the link chat.

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**.

| Source | What it searches | Authentication |
|---|---|---|
| Public website | Bing results restricted to the sites you provide | None |
| Documents | Files uploaded to Dataverse | None |
| SharePoint | A SharePoint URL, using Microsoft Graph search | The agent user's Entra ID sign-in |
| Dataverse | A configured Dataverse environment | The agent user's Entra ID sign-in |
| Enterprise data using connectors | Connectors whose data Microsoft Search indexes | The 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.

| Method | How | Notes |
|---|---|---|
| Installation link | **Availability options** > **Copy link** | Only users with access can use it. It doesn't work in the Teams mobile app. |
| Teams app store, shared users | **Availability options** > **Show to my teammates and shared users** > **Show in Built By Your Colleagues** > **Update** | Appears under **Built with Power Platform**, and only shared users see it. |
| Whole organization | **Availability options** > **Show to everyone in my org** > **Submit for admin approval** | An 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

| Symptom | Likely cause and fix |
|---|---|
| Publish is disabled or fails on a trial | The trial license can't publish. Use an appropriate license. |
| A channel is greyed out on the **Channels** page | An 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 publishing | Type `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 Teams | Teams 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 Platform** | Teams caches app data. Sign out and back in, or refresh the browser. |
| User can install the agent but can't chat | The 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 earlier | With **Allow ungrounded responses** off, an answer without a citation is withheld. Add citation instructions or ask again. |
| Attachments get a text-only reply | The 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

- Quickstart: Create and deploy an agent with the standard harness: https://learn.microsoft.com/en-us/microsoft-copilot-studio/fundamentals-get-started
- Create and edit topics: https://learn.microsoft.com/en-us/microsoft-copilot-studio/authoring-create-edit-topics
- Knowledge sources summary: https://learn.microsoft.com/en-us/microsoft-copilot-studio/knowledge-copilot-studio
- Key concepts, publish and deploy your agent: https://learn.microsoft.com/en-us/microsoft-copilot-studio/publication-fundamentals-publish-channels
- Connect and configure an agent for Teams and Microsoft Copilot: https://learn.microsoft.com/en-us/microsoft-copilot-studio/publication-add-bot-to-microsoft-teams

## Frequently asked questions

### 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.

