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
- Sign in to Copilot Studio. You land on the Home page.
- 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.
- 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."
- 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.
- Open the Topics page. Close the test panel for a better view.
- Select Add a topic, then From blank. A Trigger node appears.
- Select the three dots on the Trigger node, then Properties. In On Recognized Intent properties, select the Phrases area.
- 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".
- 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.
- 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.
- 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.
- 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.
- Edit the instructions on Overview, ask the same question again, and compare. Repeat until the answers read the way you want.
- 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.
- 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
- 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.
- 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.
- Select Channels in the top menu bar, then the Teams and Microsoft Copilot tile.
- 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.
- 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.
- Install it for yourself first: select See agent in Teams, then Add. In Microsoft Copilot, type @, pick the agent and ask a question.
- 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
Comments
Questions and tips are welcome. Comments are checked by the EpiFive team before they appear; please do not share passwords, phone numbers or other private details.