Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Note
This article describes features used in agents or agent flows powered by the standard harness.
Important
This article includes information about Azure Bot Service skills, a code-based way to extend the capabilities of an agent in the standard harness. These skills shouldn't be confused with agentic skills in the GitHub Copilot harness. Learn more about how to use agentic skills in Skills overview for agents.
Copilot Studio lets you extend your agent by using Azure Bot Service skills. If you already have agents built and deployed in your organization (using the Microsoft 365 Agents SDK or other pro-code tools) for specific scenarios, you can convert those bots into Azure Bot Service skills and register the skills in a Copilot Studio agent.
Note
To add an Azure Bot Service skill from within the Copilot Studio app in Microsoft Teams, you must have a Microsoft Copilot Studio standalone subscription.
This article is intended for system administrators or IT professionals who are familiar with Azure Bot Service skills.
Once you register an Azure Bot Framework skill with a Copilot Studio agent, you can seamlessly trigger Azure Bot Service skill actions in the conversation.
Prerequisites
Important
Copilot Studio agents only support Azure Bot Service skills built using Legacy Bot Framework SDK version 4.12.0+ and Microsoft 365 Agents SDK v1.0.0+. New Azure Bot Service skills should be built using Microsoft 365 Agents SDK.
To configure an Azure Bot Service skill, set the associated app registration in Microsoft Entra ID for your skill to single-tenant configuration.
When to use agent flows or Azure Bot Service skills
The following table helps you determine when to use agent flows or Azure Bot Service skills for a conversation.
| Factor | When to use agent flows | When to use Azure Bot Service skills |
|---|---|---|
| Persona | Agent authors can build reusable flows to embed into any agent conversation. | Developers can create, deploy, and host custom skills in their own environment. |
| Conversation type | Use flows for simple, single-turn operations. For example, place an order, or get order status. | Use Azure Bot Service skills for complex, multi-turn operations. For example, schedule a meeting or book a flight. |
| Response | Use flows to emit an agent response. For example, show a personalized message or inline images. | Use Azure Bot Service skills to emit any supported agent response. For example, show an adaptive card or send random responses. |
| Actions | Use flows to trigger server-side single-turn actions. For example, call an HTTP API or trigger a custom connector. | Use Azure Bot Service skills to trigger server-side and client-side events and actions. For example, navigate to a page upon agent response. |
Configure an Azure Bot Service skill
First, use Copilot Studio to create an agent and create and deploy an Azure Bot Service skill using pro-code tools into your organization. Refer to these samples:
Before registering the Azure Bot Service skill, give the agent ID to your skill developer so they can authorize the agent to call actions in the skill. Learn more about the allow list for an Azure Bot Service skill. You can get your agent ID from the Add a skill window.
To add an Azure Bot Service skill to your agent:
Go to your agent.
Select Settings > Skills.
Select Add a skill.
Copy your agent ID. You need to provide the agent ID to your skill developer.
Enter the URL to the Azure Bot Service skill manifest. A skill's manifest contains the information that your agent needs to trigger actions within the skill.
Select Next to begin the validation process. When the validation succeeds, your skill is added to your agent. You can now use this skill in your topics.
Compliance considerations
To protect user privacy, you must register an Azure Bot Service skill as an app in the signed-in user's Microsoft Entra ID tenant.
Troubleshoot errors during Azure Bot Service skill registration
The system runs a series of validation checks against the URL. These checks ensure compliance, governance, and usability of the skill you add to your agent. You must fix these errors before registering an Azure Bot Service skill.
| Error message | Troubleshoot / Mitigation |
|---|---|
| We ran into problems getting the skill manifest. ( MANIFEST_FETCH_FAILED) |
Try opening your manifest URL in a web browser. If the URL renders the page within 10 seconds, re-register your skill. |
| The manifest is incompatible. ( MANIFEST_MALFORMED) |
(a) Check if the manifest is a valid JSON file. (b) Check if the manifest contains required properties For example, ( name, msaAppId, single endpoint, activities/id, activities/description, activities/type (only event or message supported)). |
| There is a mismatch in your endpoints ( MANIFEST_ENDPOINT_ORIGIN_MISMATCH) |
Check if your skill endpoint matches your Microsoft Entra ID application registration's Publisher domain (preferred) or Home page URL field. Learn more about setting the home page for endpoints. |
| To add a skill, it must first be registered ( APPID_NOT_IN_TENANT) |
Check if your skill's application ID is registered in your organization's Microsoft Entra ID tenant. |
| The link isn't valid; The link must begin with https:// ( URL_MALFORMED, URL_NOT_HTTPS) |
Revise the link to add a secure URL. |
| The manifest is too large; ( MANIFEST_TOO_LARGE) |
Check size of the manifest. It must be less than or equal to 500KB. |
| This skill has already been added to your agent. ( MANIFEST_ALREADY_IMPORTED) |
Delete the skill and try registering again. |
| The skill is limited to 100 actions. ( LIMITS_TOO_MANY_ACTIONS) |
There are too many skill actions defined in skill manifest. Remove actions and try again. |
| Actions are limited to 25 inputs. ( LIMITS_TOO_MANY_INPUTS) |
There are too many skill action input parameters. Remove parameters and try again. |
| Actions are limited to 25 outputs. ( LIMITS_TOO_MANY_OUTPUTS) |
There are too many skill action output parameters. Remove parameters and try again. |
| Your agent can have a maximum of 100 skills. ( LIMITS_TOO_MANY_SKILLS) |
There are too many skills added into an agent. Remove an existing skill and try again. |
| It looks like something went wrong. ( AADERROR_OTHER) |
There was a transient error while validating your skill. Retry. |
| Something went wrong while checking your skill. ( ENDPOINT_HEALTHCHECK_FAILED, HEALTH_PING_FAILED) |
Check if your skill endpoint is online and responding to messages. Also check that the single tenant skill's app registration was deployed to the same tenant. |
| This skill didn't allow-list your agent ( ENDPOINT_HEALTHCHECK_UNAUTHORIZED) |
Check if your agent is added to the skill's allow list. |