Copilot Studio action architecture

An action is a reusable piece of code that can perform a specific task or provide specific functionality for an agent. For example, an action can help an agent answer a natural language query, execute a workflow, connect to an external system, or provide topic-specific guidance. An agent is a conversational or UX-based assistant that helps users accomplish their tasks and goals in a specific domain or application.

An action, in this context, is created in the action authoring experience in the Microsoft Copilot Studio. This feature allows users to create and edit actions using a graphical user interface and publish them to the actions registry.

The actions registry helps you create an action once and use it in multiple agents. The registry provides storage and management for metadata and execution information for actions. Users can apply the power and flexibility of actions to enhance the capabilities of agents without writing code for each agent separately. The various agents interact with the actions registry to discover actions and execution information available for a user. This capability enables AI actions to be created once and reused many times.

An action is born

Figure of action authoring in Microsoft Copilot Studio

Figure: action Authoring using Microsoft Copilot Studio

Creator Layer

The Creator Layer of Microsoft Copilot Studio is where users can create and edit actions. This layer supports four types of actions: Prompt, Flow, Connector, and Topic.

  • Prompt actions are actions that can answer natural language queries from users using natural language processing (NLP) and natural language generation (NLG) techniques. For example, a prompt action can answer a question like "What are the sales opportunities for ACME Corp?" by querying data in Microsoft Dataverse and generating a natural language response that can be customized (such as a bulleted list).

  • Flow actions are actions that can execute multi-step workflows using Microsoft Power Automate. For example, a flow action can create a new contact in Microsoft Dynamics 365 after manager approval or send an email to a customer with a prescribed template.

  • Connector actions are actions that can connect to external systems or data sources using Microsoft Power Platform connectors. For example, a connector action can connect to Salesforce or SAP using Power Platform connectors and retrieve or update data. Connector actions can be certified connectors that are shared across tenants or environment-specific custom connectors.

  • Topic actions are single-turn conversational threads between a user and an agent that can be created to answer a specific user utterance. For example, a topic about store hours with a trigger phrase check store hours can return the store hours. These topics can still handle user utterances such as "see store opening hours" thanks to the power of generative AI.

Business applications and Power Platform action registry

The actions registry stores and manages the action metadata and execution information. The registry is a single source for discovery of actions authored from Microsoft Copilot Studio. The registry helps you discover integrated apps available at the tenant level used in the Microsoft Admin center by Microsoft 365 Teams. The registry shows you actions available to a user, or used by agents in Microsoft Copilot Studio. An action has the same security as its underlying artifact, such as a flow and can provide a customized list of actions for a specific user role.

Agents samples

This sample set of the various agents integrates with the actions registry to consume actions. These agents include Microsoft agents for Dynamics 365 apps, Microsoft agents for Teams, and custom agents authored using Microsoft Copilot Studio. The list is expected to grow in the future as more first-party and third-party agents are developed.

An action in Microsoft Copilot

actions used in an agent

Admin layer

The administration layer is where administrators can use the Microsoft Admin Center to choose the integrated apps available for their tenant. Administrators can allow, deploy, or block apps for specific or all users. An integrated app can have multiple actions. The apps available from Microsoft Copilot Studio-created actions are retrieved from the actions registry and include:

  • Dynamics 365 and Microsoft Copilot Studio: Includes Dynamics 365 actions from teams such as Microsoft Dynamics 365 Sales and Microsoft Dynamics 365 Field Services. You can create custom prompts and topic actions.

  • Power Automate: Includes Power Automate flow actions.

  • Connector specific: A sample of Salesforce and SAP actions are called out here. Every certified connector action created by Microsoft or ISVs shows up as their own integrated app for fine-grained management.

    Note

    App names are subject to modification.

Action discovery and execution

The actions available to a maker include actions assigned through deployed integrated apps. The actions available to a maker are discovered through the actions registry. Makers are free to further customize the actions based on how they want to use the action flyout experience. The action execution information gets retrieved from the actions registry and includes the runtime path.

There are two runtime execution paths supported today:

  1. Actions that are Dataverse-based: Microsoft Dynamics 365 actions that access or modify Dataverse data, Microsoft Copilot Studio topic actions, and prompt actions. This path supports Microsoft Entra ID authentication. The calls are made to the underlying system on behalf of the user.

  2. Actions that use the Power Platform connector ecosystem: This path helps execute connectors that provide access to internal and external systems of record. It supports explicit configuration of credentials per user such as Salesforce connection credentials that are then maintained per user.

If a maker doesn't find a suitable action for their task, they can navigate to the Microsoft Copilot Studio and create an action that addresses their needs.

Data/AI Layer

This layer represents the various data stores and systems where the data and business logic reside. These stores and systems include Sales, Field Service and other Dynamics 365 products, Microsoft Copilot Studio, Power Automate, external systems such as Salesforce, SAP, and others.

Data and control flows for some action types

As a prerequisite for all flows, an administrator uses the Microsoft Admin Center to configure the corresponding integrated apps and assigns them to users, including the Copilot user referenced here. In these flows, we first see the configuration phase for a user in Copilot for Teams. After the user signs in, the actions applicable for that user are retrieved from the action registry. The actions in a user's flyout belong to the integrated apps their administrator configures for them and the ones they have access to in the action registry. The user can then configure the actions they want to use in the experience in the flyout in their Copilot for Teams experience.

Dynamics 365 actions

Flows for Dynamics 365 actions

In the runtime flow for the Dynamics 365 actions, the orchestrator maps a user's utterance of Get opportunities for ACME corp to a set of candidate actions. An action from Dynamics 365 is found to be best candidate and then executed, translating the user's utterance to SQL against the dynamic data the user has access to. The results are then returned to the user. Teams can additionally add data from Microsoft 365 and summarize the results.

Microsoft Copilot Studio actions

Flow for Microsoft Copilot Studio actions

In the runtime flow for Copilot Studio prompt actions, the user's utterance is again mapped to an action. In this case, the matching action is a prompt authored in Microsoft Copilot Studio. The prompt grounds data in Dataverse table orders and calls into OpenAI to summarize the results for order 123 and returns the summary to the user.

Connector actions

Flow for connector actions

The configuration flow for Salesforce or other connector-based actions starts with a Connect experience in the flyout where the user can enter connection information for Salesforce. At runtime, the user utterance is mapped to a candidate action and this action is executed using the Power Platform Connector infrastructure. The results are then returned to the user.

Actions used in Microsoft Copilot Studio agents

Microsoft Copilot Studio can be used to create agents in addition to actions. Dynamics 365 teams or third parties can build these agents.

An action is used in Microsoft Copilot Studio agents

Similar to the creator layer, the action discovery, execution, and Data/AI layer look like the figure shown. The difference is in how you manage curation of actions for the agent. The agent creator chooses amongst available actions from their Dataverse environment.

Data and Control flows for some action types

Flow for prompt action types in Microsoft Copilot Studio

Here's an example of a prompt action used from an agent built in Microsoft Copilot Studio. The configuration flow includes an agent creator curating the actions for the agent from the action registry. At runtime, the authenticated agent user summarizes order 123 for Northwind traders. This summary maps the utterance to candidate actions. The matching action is a prompt authored in Copilot Studio. The prompt uses data from the orders table in Dataverse. The results are summarized using OpenAI and are returned to the user.

Conclusion

By authoring an action in Microsoft Copilot Studio, you can further the reach of your action across agents in Microsoft Dynamics 365, Microsoft Copilot for Teams, and other third-party agents. Using actions in this way allows the flexibility to create once and deploy across multiple agents.