Share via


Create conversational actions for Microsoft Copilot

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.

Note

Actions were previously known as Plugins. Some articles and screenshots may refer to Actions while we update documentation and training content.

Microsoft Copilot provides out of the box experiences to engage with content and resources from across your organization. In some situations, answers and interaction with external systems are required. With Microsoft Copilot Studio, you can author a conversational topic that can be published as a Copilot Action. Once your Tenant Admin approves the Action, it can be added to your organization's M365 Chat experiences.

You can create a conversational action that receives the user's query (stored in the Activity.Text variable), processes it by completing one or more operations, and then sends one or more responses back to the user in the M365 Chat.

Important

You can't use conversational actions that you've created in Microsoft Copilot Studio as a plugin action.

What is a copilot action and how does it work?

Microsoft Copilot's conversational system uses orchestration logic and large language models to help the user achieve their goals. This system interprets the user's request, determining the best course of action, then activates the appropriate system, action, component, or series of components. Finally, a generated result is returned to the user.

A conversational action built in Microsoft Copilot Studio enables you to extend your app'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.

Unlike a traditional component model that creates a hard-coded integration point with the copilot, a maker in Microsoft Copilot Studio creates a conversational action. This maker gives descriptive text to the Microsoft Copilot's orchestrator about the action's abilities. The orchestrator can then make its own decision about when the action would be most useful and ask the user appropriate questions to fill action parameters.

Prerequisites

  • End users must have a license to use Microsoft Copilot for Microsoft 365.
  • Your Power Platform tenant must be configured to enable publishing actions, as described in the Copilot for Microsoft 365 article Build plugins using Microsoft business applications.
  • Microsoft Copilot Studio application must be a Microsoft Copilot Studio copilot, not a Power Virtual Agents "Classic" bot.
  • Before end-to-end works, the Microsoft 365 Tenant Admin needs to enable the Microsoft Copilot Studio Integrated Apps category in the Microsoft Admin Center.

Note

The tile in the Microsoft Admin Center was previously Dynamics 365 and Microsoft Copilot Studio, and was split into two, Dynamics 365, and Microsoft Copilot Studio. Only the latter is required for this feature to work.

Important

In this release, there are some limitations:

  • Your topic will not be able to interact (ask questions of) the user, and can only process the incoming query from the user (in the variable Activity.Text) and send a response.
  • Responses will be limited to text. No media or adaptive cards will be supported.
  • In this preview, Copilot Studio can't authenticate the user, so SharePoint and OneDrive sources for generative answers won't be functional.
  • This release is limited to English language copilots.
  • All users of Microsoft Copilot within your organization will be able to interact with the action, the action will not support authorizing the user itself.

Creating a basic conversational action to publish to Microsoft Copilot

Your topic used within Microsoft Copilot chat uses the System variable Activity.Text as an input that represents the user's question in Microsoft Copilot. The chat processes it, such as passing it to Generative Answers, and returns the result as one or more messages. These messages could include the response that comes from Generative Answers or Send a Message nodes. Multiple messages can be included and sent separately to form the output.

The following steps help you create a new conversational action within Microsoft Copilot Studio. You author basic capabilities and publish them to the Microsoft Admin Center. You can choose and enable the action in the UI.

  1. From the left navigation pane in Copilot Studio, choose the Copilots.
  2. In the Copilots list, select the Microsoft Copilot you wish to extend. The information page for the specific Copilot appears.
  3. Select the Actions/Extensions tab.
  4. The details here will depend on the specific Microsoft Copilot you want to extend.
    • If you see an + Add extension button, select + Add extension and then select New action.
    • If you see + Add action, select + Add action.
  5. Select Conversational to create a converational action. A Create a conversational action window appears letting you set some basic configurations for the conversational action.
  6. Choose a name and primary language. Optionally, you can also select a solution and schema name to use.
  7. Select Create to proceed. Your new conversational action will take a few moments to be created. When it is done, you are dropped into the conversational authoring canvas.
  8. Select the Topics tab to edit your conversational action.
  9. Before authoring further, set the name of the topic in the top panel above the authoring canvas. This name is visible to the user and admin in the Microsoft Copilot and Microsoft Admin Center respectively.
  10. In the Trigger node’s description, provide a clear description of how the conversational action can help the user and what it can do. Unlike other descriptions, this one has functional purpose and is used by the Microsoft Copilot to determine whether to invoke your action or not. Use clear sentences to describe what your action does for the user and what it returns.
  11. In the conversational action, create any type of logic that doesn't require user interaction. There should be no buttons, questions, cards, or other prompts. The authoring canvas menu for conversational actions is limited to remove options that could require user interaction.
  12. For this example, let's use the Generative Answers node to search through web content in a specified web site and provide an answer to the user in the Microsoft Copilot.
  13. To use the Generative Answers node, select the plus on the canvas under the trigger node, then select Generative answers under the Advanced tab of the popup menu.
  14. For the Input field, invoke the variable picker by selecting the arrow in the Input box.
  15. Choose the system variable Activity.Text which represents the user’s last query to Microsoft 365 Copilot. This query was what the user asked in M365 Chat which caused Microsoft Copilot to invoke the action.
  16. Select the Data Sources editor in the center of the Create generative Answers tile. A Create generative answers properties configuration window appears.
  17. Under Classic data and Data sources within the Public websites field, enter a link to a public website that has content you want for your bot. This web content gets used to answer user questions. Alternatively, under Knowledge sources, select + Add knowledge to open the Add available knowledge sources dialog to add a public website there. For more information on adding knowledge, see Add knowledge to a copilot.

    Note

    Don't choose content that's not indexed by Bing, for example 301 redirects.

  18. Once the link is added (don't forget to hit "+" once entering the URL), the properties panel can be closed
  19. If you wish, you can send one or more messages to the user as a response. You can use a Send a Message node, or another Generative Answer node call, or multiple of these actions as your conversational action needs.
  20. If your action needs to receive input parameters from a Connector and/or pass output parameters to a connector, you can Add input and output variables
  21. Finally, select Save to save your conversational action.

Publishing your conversational action to Microsoft Copilot

Publishing your conversational action creates a new action in the Dataverse registry for your Tenant. Once available there, your tenant admin needs to approve your action to be available to users in the Microsoft Copilot actions catalog.

In Microsoft Copilot, your conversational action is labeled as Conversational action name in the add actions UI. As such, specify your conversational action name and copilot name for readability.

To publish your conversational action:

  1. First, create and save your conversational action as described in the prior section.

  2. Press the Publish above the canvas to publish the conversational action.

  3. Select Publish. A Publish latest content? dialog opens.

  4. Finally select Publish again. The publish should complete quickly. The actual availability in the Microsoft Admin Center can take a few minutes. If an error occurs, try again. If the error continues, file a support ticket in the Power Platform Admin Center.

  5. Your Admin can find the Copilot Studio integrated app in the Microsoft Admin Center under Settings, then Integrated Apps. In this preview, Deploy/Block is at this category level only.

    Microsoft Admin Center

Important

Currently, a tenant admin deploying the Copilot Studio tile will be deploying all plugins created to the tenant to the audience they choose. Be specific when considering the audience to publish to.

  1. Once your Tenant admin approves the integrated app, it should appear in the user's list of plugins in their Microsoft Copilot UI.

    Conversational plugins flyout

Once enabled, your user can ask questions to Microsoft Copilot and see the plugin invoked and return the most relevant results.

Note

To remove your conversational action from the catalog, in conversational action details, clear the Status checkbox, save your conversational action, and then re-publish, which will remove it from the Dataverse registry and Microsoft Copilot app catalog.

Tip

Interacting with the Microsoft Copilot orchestrator is likely to be a different experience than you might have had integrating with previous systems.

  • The Microsoft Copilot will always rewrite your answers with its own voice. It's not possible in this preview to have the content passed through unchanged to the end user.
  • The description of your conversational action is critical to how reliably it will be invoked. The description teaches the Orchestrator what your action is good at and what answers it can provide. Be sure to use clear prose when writing the description, and consider experimenting with changes to get the best outcome.