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

Copilot Studio makes it easy to extend the capabilities of copilots with actions, copilot connectors, and sources of data. You can take an existing copilot, for example Copilot for Sales, which works with your organization's sales data, and extend it using data from an extensive ecosystem of connectors provided by Microsoft. Alternatively, you can extend a custom copilot with a custom connector to use sources such as custom data sources and APIs within your organization. For example, you could:

  • Retrieve a list of sales opportunities
  • Get information from your order management system about orders associated to the customer
  • Check the weather at your customer's current location if you're planning a site visit

Copilot connectors help customers to easily discover and bring multiple enterprise data sources, by leveraging Graph connectors and Power Platform connectors, to expang the capabilities of copilots and copilot extensions. Using Copilot connectors, users can add knowledge from their enterprise systems to copilots through a no-code experience, and perform actions on these enterprise systems.

Copilot connectors include data sources within the productivity cloud in Microsoft 365, business data in Dynamics 365, and analytical data in Microsoft Fabric, as well as non-Microsoft enterprise data sources. Through Copilot connectors, you can now ground your copilot responses with multiple enterprise data sources for more relevant and reliable responses from copilots and copilot extensions.

Requirements

  • Maker access to the copilot to allow you to extend it
  • Copilot Studio license for the maker
  • Data sources to use to integrate other data
  • Information you need to connect to the content sources (connectors, APIs, and so on)
  • Credentials for the systems you're connecting to
  • Assistance from the administrator of your copilot to enable the extension once it's published

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.

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 plugin?

Once a plugin 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 plugin for each environment you wish to use it in.

More information on the import and export of plugins is available in Export solutions.

Published plugins can also be submitted to Microsoft for certification. Certification is done using the Partner Center and involves a review of the plugin and certification by Microsoft. After that it appears in the plugin 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 a plugin

Copilot Studio provides a quick and easy way to author a copilot plugin using a step-by-step wizard to guide you through the process. Some types of actions can also be created in other Microsoft products as well as Copilot Studio:

AI plugin type Description Creation in Copilot Studio Creation in Power Platform
AI builder prompts 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 Create a connector AI plugin (preview) in Power Automate or Power Apps
OpenAI plugins Open AI plugins provide access to data sources, allowing specific data to be surfaced through AI experiences not normally available through general models. Add an OpenAI plugin Not available.

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

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 plugin. An administrator can then review your plugin and activate it. Once the plugin 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 a plugin

Plugins created in Copilot Studio have a few components that are brought together to create the plugin for use in copilots.

  • Actions (handlers for user input and content sources)
  • Authentication
  • Actions
  • Inputs and outputs
  • Enhanced features (user consent, conversation starters, adaptive cards, branding, solution management)

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

These plugins are similar to standard topics in Copilot Studio that you use to create a functional copilot.

You create, configure, and publish conversational plugins in a similar manner to topics. Afterwards, they're added to the plugin registry and available for use in Microsoft Copilot.

See Create conversational plugins for Microsoft Copilot (preview) for details on how these plugins work and how to create and use them.

AI plugins

These plugins let you connect your copilot to data or perform activities. During this preview, you can use plugins in Microsoft Copilot. You can't use plugins in custom copilots that you build with Microsoft Copilot Studio.

You create and configure AI plugins in Copilot Studio. You can also create and edit some types of AI plugins 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 creating the plugin, you can select which of the actions you wish to use. You can select from any number of actions to include as part of the plugin. For example, with multiple actions, a single plugin allows you to:

  • 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 same plugin can handle any of the actions.

Note

Every action is available to users of the plugin. A plugin cannot have role based permissions for a specific action within it. For example, if you had an Order Management plugin that allows for retrieving a list of records, updating an order, creating an order, and cancelling an order, every user with permissions to that plugin could take any of those actions. If you need to segment access to specific actions, you would need to create different plugins 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 a plugin and define the results to return. These parameters are provided by the content source (connector, REST API, 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 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 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 plugins in Microsoft Copilot

End users in your tenant can use conversational and AI plugins 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)

  1. Sign in to the Microsoft 365 admin center with your admin account.

  2. Expand Settings on the side navigation pane and select Integrated apps.

  3. Go to the Available apps tab and select the entry Microsoft Copilot Studio. The app's details pane opens.

  4. Select Deploy to enable the app in chats with Microsoft Copilot.

Deploying the Copilot Studio app

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 availalbe in the Teams store for users to install.

Note

You can use the Power Platform admin center control to restrict plugins in an environment to not show-up in the M365 flyout. This setting is enabled by default.

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:

Asking about plugins

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 plugins

By default, plugins are only visible and usable in Microsoft Copilot by the person who authored them.

However, the plugin 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.

Topic Description
Create conversational actions for Microsoft Copilot (preview) 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 plugin actions in Microsoft Copilot Studio (preview) Extend a custom copilot by creating complex topics for use in copilots you build in Copilot Studio, without doing anything complex.