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.
To integrate your workflow app with Dragon Copilot, you need to understand the workflow and overall architecture. You will build an API endpoint that integrates with the Dragon Copilot workflow. There are two different flows that your app can implement:
Iterative flow: This flow is used when your app needs to interact with the audio turns from the encounter. For example, your app might analyze the audio data and provide real-time feedback or suggestions based on the conversation.
End of encounter flow: This flow is used when your app processes the entire encounter after it has concluded. For example, your app might analyze the full transcript and clinical note to generate a summary or identify key insights.
The following diagram illustrates the iterative data flow with authentication:

API endpoint schema
Workflow apps must implement a RESTful API endpoint that adheres to the Dragon Copilot extensibility API schema. This schema defines the required endpoints, request/response formats, and supported operations. The schema is provided as an OpenAPI (Swagger) YAML file. Key elements include:
- POST /v1/process: The main entry point for Dragon Copilot to invoke your app. The request payload includes session data, user context, and the requested encounter data.
- Response: Your app must return a response that includes the result of the app, such as an adaptive card payload, actions, and any additional data required by the client.
The full schema is available in the dragon extensibility API schema file in the official samples repository.
Sample request and response
When Dragon Copilot calls your workflow app, it sends a JSON payload that includes session information, user context, and any relevant clinical data. Your app processes this request and returns a structured response.
Examples are available in the sample requests and responses documentation.
Authentication
Secure communication between Dragon Copilot and your workflow app is essential. Authentication is handled using an Entra service principal and OAuth 2.0. The process involves:
- Registering your app as an application in Entra ID.
- Configure additional properties on the application.
- Implementing token validation in your app to ensure only authorized requests from Dragon Copilot are accepted.
- Registering the
Microsoft.HealthPlatformresource provider in your Azure subscription to enable integration.
For detailed steps, see the authentication and authorization design documentation.
Adaptive Card response
Your app's response should include an Adaptive Card payload, which defines how the output is rendered in the Dragon Copilot app. Adaptive Cards are a JSON-based UI framework that allows you to present information and actions in a consistent, interactive format. For more information and schema details, see the Adaptive Cards documentation.
Development flow
The diagram below illustrates the fundamental steps in the development journey to create and integrate a Dragon Copilot workflow app. The main stages, from local development to integration testing, are the following:
Local development and testing: Set up your development environment and create your extension. Use the sample code in the sample repo and API schema to ensure compatibility with Dragon Copilot. Use a REST client to test your API.
Authentication setup: Configure authentication for the Dragon Copilot platform to securely communicate with your extension. This involves setting up service principals and registering the required Azure resource providers.
Integration testing or sandbox testing: Test your application locally using tools like dev tunnels to simulate a public URL.
Deployment: Deploy your extension in a Dragon admin center environment. This step makes your extension available for use by your Dragon Copilot users.

Glossary
- Client: The Dragon Copilot app where users interact with your extension. This can be the Microsoft Dragon Copilot desktop, web, or mobile apps. It can also be an EHR that embeds the Dragon Copilot web UI.
- Dev tunnel: A service that creates a public facing URL for your locally running application. Use this for local integration testing. For more information, see: Dev tunnels documentation.
- Dragon admin center: The administration platform for a Dragon Copilot organization. Enables Dragon administrators to provision Dragon products, set up environments, and configure Dragon Copilot settings for their users. Admins can also install AI apps and agents for their environments. For more information, see: Dragon admin center documentation.
- Local application: Your app running on your local machine.
- Platform: Handles all the Dragon Copilot related operations, including keeping a record of your manifest, and calling your endpoint based on the contract.
- Production application: Your deployed app, which would have a public facing URL.
Ready to develop? Get Started