Copilot connectors and actions overview (preview)
Important
Power Virtual Agents capabilities and features are now part of Microsoft Copilot Studio following significant investments in generative AI and enhanced integrations across Microsoft Copilot.
Some articles and screenshots may refer to Power Virtual Agents while we update documentation and training content.
[This article is prerelease documentation and is subject to change.]
How does it work?
When you sign in to Copilot Studio, it determines which copilots you're allowed to access, based on the license associated with your credentials. The list of copilots available to you depends on these permissions. If you don't see the copilot you wish to extend, verify your credentials. Also try connecting to the copilot itself, or try to trigger any jobs that must occur to prepare the copilot for use. See the sections detailing the authoring experience for examples.
A maker starts by selecting the copilot they wish to extend in:
- Custom copilots
- Copilots created by Microsoft
- Other copilots that they have maker access to in their organization
Select a copilot to extend by selecting Copilots in the main menu and then choosing from the list of custom copilots and Microsoft Copilots.
View existing extensions for a copilot
After selecting a copilot, you can view the extensions currently available for the copilot within the configuration/authoring panel for the copilot.
The steps to view existing extensions for a copilot depends on the type of copilot:
- Custom copilot: Select Actions.
- Microsoft Copilot: Select Extensions or Actions, depending on which is shown for the copilot.
The list of available extensions appears.
Creating your own new extension
You can also create your own new extensions.
The steps depend on the type of copilot:
- Custom copilot: Select Add an action.
- Microsoft Copilot: Depending on what is shown for the copilot, select Add extension and then New Action, or select Add Action.
You can then select a type of action from a list of available options to start the process of extending the copilot with more capabilities.
Copilot Studio guides you through the configuration steps. The details of the steps depend on whether you're extending a custom copilot or Microsoft Copilot.
Detailed configuration steps are covered later in the documentation. After completion, the user can publish the action for the copilot. This action is now ready for an administrator to review and approve. Once approved, the action is available to all users who have permission to use it, within that specific organization.
- Microsoft Copilot action creation: Create conversational actions for Microsoft Copilot and Create AI actions for Microsoft Copilot
- Custom copilot action creation: Use plugin actions in Copilot Studio
Copilot Studio offers multiple ways to make the extension process easy and comprehensive, including:
- Authoring: Author the extension for the copilot, which results in an action being created.
- Testing: Validate that the action works with your copilot by testing it during or after the publishing process.
- Editing: Save drafts of actions in progress, or edit actions and publish the outcomes for use.
- Export/Import: Take existing completed actions and distribute them to other organizations within your company or to your own customers if you're an ISV. You can also export the package to be submitted for certification with Microsoft to make your action available in the online catalog.
- Provide behaviors: Inform users they're about to make a change to data and ask permission before taking action, provide a card for easy display of results, provide sample questions users might ask the copilot.
- Branding: Provide icons and branding information for your action for the purposes of distribution.
What happens after you publish your action?
Once an action is published, your copilot administrator has to review and enable the plugin for use. When an administrator enables a copilot, they must also determine which groups of users have permission to use it. The location for managing permissions might differ depending on the copilot. More information is available in the administration documentation. Once activated, a plugin appears in the environment where it was created. The plugin can also be exported for use in other copilots. Exporting creates a package that can be deployed in other environments, removing the need to recreate the action for each environment you wish to use it in.
More information on the import and export of actions is available in Export solutions.
Published actions can also be submitted to Microsoft for certification. Certification is done using the Partner Center and involves a review of the action and certification by Microsoft. After that it appears in the action catalog where all users of Copilot Studio can use to extend their copilots as well.
For more information on certification, see the following documents:
Extend a copilot by authoring an action
Copilot Studio provides a quick and easy way to author a copilot action using a step-by-step wizard to guide you through the process.
It can be used to extend Microsoft-provided copilots or custom copilots. Once you pick the copilot you would like to extend, it walks you through a series of steps to create the action.
The wizard asks you to:
- Choose the type of handler/source you want to use
- Supply authentication information if necessary for type of handler/source you chose
- Select the actions you want to include in the plugin
- Define the input and output parameters for each action
- Provide other enhanced experiences such as:
- User consent dialogs
- Adaptive cards to display your results, and conversation starting questions
- Branding information for certification
After you have completed these steps, you can publish the action. An administrator can then review your action and activate it. Once the action is activated, you can use it within your organization, deploy it to other organizations, or submit it to Microsoft for certification, to make it available to the general public.
Components of an extension
Extensions created in Copilot Studio have a few components that are brought together to create the action for use in copilots.
- Handlers and content sources
- Authentication
- Actions
- Inputs and outputs
- Enhanced features (user consent, conversation starters, adaptive cards, branding, solution management)
Handlers and content sources - action types
There are multiple input handlers and content sources available to serve as a basis for plugins. In Copilot Studio, these sources are called actions. What these different types of actions have in common is the basic structure for communicating to the details of the source when submitting queries. The following action types are available:
- Conversational: A conversational action built in Microsoft Copilot Studio enables you to extend your copilot’s behavior. You can create new abilities that aren't natively in Microsoft Copilot, like calling a specific API, applying sophisticated business logic, or accessing data sources that require configuration outside of Microsoft Copilot's access. These are configured similarly to a regular copilot topic built in the Copilot Studio canvas.
- Connectors: Connector actions are used within Microsoft Dataverse to connect to other data sources. When created, the connector includes specific actions that can be used with the connector. It is possible to use Microsoft Certified connectors or custom connectors created within an organization or tenant.
- Flows: Microsoft Power Automate cloud flows can be called from a copilot to perform actions, retrieve information, and automate processes across other apps and data sources using connectors.
- Prompts: These are AI prompt templates created to customize the generation of text content in relation to user input. These templates can be used for various scenarios like summarization, action items, sentiment or entity extraction, translating text and much more. In addition, you can add your own Dataverse data to augment knowledge sources and get business specific answers.{[
Not every action type is available for every copilot:
Feature | Copilot for Microsoft 365 | Copilot for Sales | Copilot in Dynamics 365 Customer Service |
---|---|---|---|
Conversational | Y | N | N |
Connector | Y | Y | Y |
Prompt | Y | N | Y |
Flow | Y | N | N |
In the documentation that follows, these action types are presented in two categories:
- Conversational actions: conversational action
- AI actions: connector, prompt, flow
Conversational actions
These actions are similar to standard topics in Copilot Studio that you use to create a functional copilot.
You create, configure, and publish conversational actions in a similar manner to topics. Afterwards, they're added to the action registry and available for use in Microsoft Copilot.
See Create conversational actions for Microsoft Copilot (preview) for details on how these plugins work and how to create and use them.
AI actions
These actions let you connect your copilot to data or perform activities. During this preview, you can use actions in Microsoft Copilot. You can't use actions in custom copilots that you build with Microsoft Copilot Studio.
You create and configure AI actions in Copilot Studio. You can also create and edit some types of AI actions in Power Apps.
The following table describes each type of AI plugin, with links to articles explaining where and how to create them:
AI plugin type | Description | Creation in Copilot Studio | Creation in Power Platform |
---|---|---|---|
Prompts (AI builder) | Prompts enable your users to use natural, plain language to get answers and perform actions with Microsoft Copilot. They use natural language understanding (NLU) to understand a user's intent and map it to an associated piece of information, data, or activity. | Generate content or extract insights with AI Builder prompts | Create a custom prompt (preview) in Power Automate or Power Apps |
Power Automate flows | Flows can be called from within a Microsoft Copilot chat that can perform actions or retrieve information across the end user's environment. | Create custom automation with Power Automate flows | Not available |
Power Platform custom connectors | Custom connectors let your plugin retrieve and update data from external sources accessed through APIs. Connectors make it possible to access data from popular enterprise systems such as Salesforce, Zendesk, MailChimp and GitHub, and are routinely used by makers in their Power Apps and flows. | Update or get answers about external data with connectors |
Authentication
In order to use the content sources, you have to define authentication for the source. Sources require specific types of authentication. When you select your content, the source provides the needed prompts for authentication.
Here are some examples:
- Non-authenticated: MSN Weather connector. This connector action only retrieves public weather data and has no secure content. As a result, the weather connector is open to be used without providing credentials.
- Flow actions: Cloud flows use the connection and connection settings configured at time of creation.
- Connector actions: If you use a Connector to access your data source, it has its authentication method built in to the connector. You will not configure it at setup but will be asked to supply credentials before testing or using the connection.
- Prompt action: Uses your Teams or Power Apps identity. Make sure to share the prompt to the appropriate users or groups after is created.
- Conversational actions: Conversational actions don’t need any authentication of their own. However a Conversational action can be used to call a connector action, in which case the connector’s authentication mechanism is invoked.
Each source has actions already defined, but when configuring, you can select which of the actions you wish to use. You can select from any number of actions to use with the source. For example, with multiple actions, you could perform the following:
- Retrieve a list of users
- Add a new user
- Update a user's details
- Delete a user
As long as the actions are present in the source, the handler can carry out any of the actions.
Note
Every action is available to users of the extension. You cannot have role based permissions for a specific action within it. For example, if you had an Order Management extension that allows for retrieving a list of records, updating an order, creating an order, and cancelling an order, then every user with permissions to that extension could take any of those actions. If you need to segment access to specific actions, you would need to create different extensions with different actions in each with appropriate security roles assigned to each plugin.
Input and outputs
Inputs and outputs are specific to an action and provide all of the data input options possible for an action and define the results to return. These parameters are provided by the content source (connectors, and so on) and can't be added to or removed. However, descriptions can be updated to provide a better understanding of the inputs and outputs. They're displayed as part of the setup to provide visibility into what needs to be included in a query and what is returned.
Enhanced features
Enhanced features are available when setting up extensions for some Copilot types.
Enhanced features include:
- Solutions
- User consent
- Conversation starters
- Adaptive Cards
- Testing
Not all enhanced features are available in every copilot type.
Solutions
Solutions are essential for application lifecycle management. If saved in a solution an action can be easily moved across environments. By default, the system selects the most suitable solution for you, based on the preferred solution, or a solution where connector components are present. You can also change solution. If you don't specify a solution for your action, the system automatically creates a solution at runtime.
Learn more about solutions in Application lifecycle management (ALM) basics with Microsoft Power Platform.
User Consent
User consent is a toggle provided on each action. It determines if the copilot will prompt users to continue when executing an action. Turning on this option means that the copilot will ask users if they're sure they want to take the action. This helps prevent unintentional actions that could affect data.
Best practices:
- For data retrieve-only actions (get, retrieve, list, and so on), turn off user consent. Such actions only retrieve a set of data and display it. They don't put the data at risk.
- For other actions (create, update, delete, add, remove, and so on), turn on user consent. Such actions can add or change data in the system, so it's a good idea to prompt users to confirm before taking action. You can always change user-consent settings for the plugin by editing it.
Conversation Starters
Conversation starter lets you create commonly used questions that display as clickable buttons. Conversation starters execute the query immediately. They also show types of queries that can be used. These examples can help users come up with more queries on their own using successful natural language framing. Conversation starters are set at the plugin level rather and are optional. You can edit them at any time.
Adaptive cards
Adaptive cards are an optional component configured at the action level. You can add or modify them at any time by editing the plugin. Adaptive cards provide an alternative way of displaying results from a copilot query.
Adaptive cards come in two types:
- Default: A basic adaptive card that can have a title, a subtitle, a body, and a button that takes the user to a URL location. It provides a more stylized view and a call to action.
- Custom: Custom adaptive cards are created outside of the wizard and can be uploaded for inclusion in a plugin. These cards are more customizable and can have multiple fields, multiple buttons, and other options. You can create a custom card in Adaptive Card Designer and export it as a file for upload.
When configuring the default adaptive card, you must select a root path. The root path is a segment of the data source's configuration file and it includes all the fields that can be selected to define the title or body. There can be multiple root paths in a source file, and all available paths are available for selection. After you select a root path, you can choose the desired title and body from lists.
Every adaptive card shows the returned values and then lists the references used when compiling the result. Adaptive cards also allow a user to specify the reference view layout. This is how the references used in the query are displayed for more information. It allows for inclusion of a title, URL, and subtitle. These are also dropdowns that can be populated based on the root path selection.
Note
When uploading a custom adaptive card template, no edit capabilities are provided in the wizard as the custom card should already include all fields, buttons, and mapped values to be consumed by the copilot. Any field left blank in the Default template doesn't appear on the adaptive card within the copilot.
Testing
For connector actions, a maker can test the new plugin inside of Microsoft 365 by sideloading the plugin created. This is an option on the review screen when the action has been authored. It will prompt the user to select or create a connection, and then create a side loaded test version of the plugin that is available in the M365 environment. This is not visible externally and is not published for admin approval. It is only available for the author so that it can be used only to validate that the plugin is working as expected.
Use actions in Microsoft Copilot
End users in your tenant can use conversational and AI actions in their chats with Microsoft Copilot if:
- Your Microsoft 365 tenant admin deploys the Copilot Studio app in the Microsoft 365 admin center.
- The end user enables the connection from within their chat with Microsoft Copilot.
Deploy the Copilot Studio app (admin)
- Sign in to the Microsoft 365 admin center with your admin account.
- Expand Settings on the side navigation pane and select Integrated apps.
- Go to the Available apps tab and select the entry Microsoft Copilot Studio. The app's details pane opens.
- Select Deploy to enable the app in chats with Microsoft Copilot.
Tenant admins can enable or disable:
- showing Conversational AI/topic actions and Prompt actions in the M365 Chat app using the "Copilot Studio" app.
- showing Flow actions in the M365 Chat app using the "Power Automate" app.
- Connector actions and API actions in the M365 Chat app using the associated apps (the app name will be the connector or action name). Additionally, custom connector actions are available in the Teams store for users to install.
Important
In this release, there are some limitations:
Integration with Copilot Studio and Power Automate is enabled by default. That means, plugins created in Copilot Studio will show up for users under "Copilot Studio" or "Power Automate" even if the tenant admins have not explicitly deployed the app for end users. This might change in future.
Note that, as an admin, you can still block plugins from showing up for your users by blocking the app in Microsoft 365 Admin Center.
The number of Power platform environments enabled for integration is currently limited. Reach out to Microsoft support if you have a large number of Power platform environment (>100) and want specific Power platform environment to be enabled.
In the future, customers can use the Power Platform admin center to enable or disable plugins in an environment for Microsoft Copilot.
Enable the connection in Microsoft Copilot
Microsoft Copilot end users need to enable plugins before they use them in chat. Available plugins can be enabled through the plugins menu or through the Power Platform plugins configuration portal.
They can get to the portal by asking about plugins in their chat with Microsoft Copilot. They receive a short summary about plugins and a link to the portal:
Users can also ask directed questions about data connections or how to perform cross-organizational tasks, for example they could ask:
- How can I use a plugin?
- Tell me about Power platform Copilot plugins
- How can I get data from an external system?
- How can I get data from Salesforce?
Share AI actions
By default, actions are only visible and usable in Microsoft Copilot by the person who authored them.
However, the action author can share their plugins in the portal where they created them. For example, you can share an AI Builder prompt from the AI prompts page by selecting Share for the prompt. The same applies for Power Automate flows (from the Flows page in Power Automate) or for custom connectors from the Custom connectors page.
Related content
Article | Description |
---|---|
Create conversational actions for Microsoft Copilot | Extend a Microsoft Copilot by creating actions that can respond to a user's question with extra data. |
Create AI actions for Microsoft Copilot (preview) | Extend a Microsoft Copilot by creating actions that perform tasks and query data across a user's environment with flows, AI Builder prompt templates, and connectors. |
Use actions with custom copilots in Copilot Studio (preview) | Extend a custom copilot by creating complex topics for use in copilots you build in Copilot Studio, without doing anything complex. |
Feedback
https://aka.ms/ContentUserFeedback.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:Submit and view feedback for