App Integrations in Copilot Studio: A Comprehensive Step-by-Step Guide
Microsoft Copilot Studio (formerly Power Virtual Agents) is a no-code/low-code AI chatbot development platform that allows businesses to create conversational AI solutions. One of its most powerful features is the ability to integrate with various applications to enhance chatbot capabilities.
By integrating Copilot Studio with external applications such as Microsoft 365 apps, Power Automate, third-party APIs, CRM systems, databases, and more, you can:
✅ Automate tasks (e.g., creating support tickets, fetching customer data)
✅ Connect chatbots with Microsoft Teams, SharePoint, Outlook, Dynamics 365, Salesforce, etc.
✅ Retrieve and update data from databases and APIs
✅ Improve business workflows with seamless integrations
This guide provides a fully detailed and step-by-step explanation on how to integrate apps with Copilot Studio using Power Automate, APIs, and Microsoft 365 connectors.
📌 Step 1: Accessing Copilot Studio
Before integrating any app, make sure you have access to Copilot Studio.
1.1 Sign in to Copilot Studio
1️⃣ Open your web browser and visit https://copilotstudio.microsoft.com/.
2️⃣ Click “Sign In” and enter your Microsoft 365 credentials.
3️⃣ Once logged in, you’ll be redirected to the Copilot Studio dashboard.
🔹 Step 2: Understanding App Integrations in Copilot Studio
There are three primary ways to integrate external applications with Copilot Studio:
Integration Method | Description | Use Case |
---|---|---|
Power Automate Flows | Automates tasks and connects with Microsoft 365 apps | Sending emails, creating tickets, retrieving records |
API Calls (via Custom Actions) | Connects to third-party services via REST APIs | Fetching customer details from a CRM |
Dataverse & Microsoft Connectors | Integrates directly with Microsoft services like Dynamics 365, SharePoint, and Teams | Accessing business data, document sharing |
By combining these methods, you can enhance your chatbot to handle complex workflows and real-time data retrieval.
🔹 Step 3: Integrating Apps Using Power Automate
Power Automate is a Microsoft tool that allows you to automate workflows and connect Copilot Studio with hundreds of applications.
3.1 Creating a New Power Automate Flow
1️⃣ In Copilot Studio, go to the “Topics” section.
2️⃣ Select the Topic where you want to add an integration (e.g., “Create Support Ticket”).
3️⃣ Click “Add Node” → “Call an Action”.
4️⃣ Click “Create a Flow with Power Automate”.
5️⃣ This opens the Power Automate flow designer.
3.2 Adding an App Integration in Power Automate
Once inside Power Automate, follow these steps:
✅ Example 1: Sending an Email via Outlook
1️⃣ Click “New Step” → “Send an Email (Outlook 365)”.
2️⃣ Configure the email fields:
- To: User email (dynamic input from chatbot).
- Subject: “Support Ticket Confirmation”.
- Body: “Your request has been received. Ticket ID: {TicketID}”.
3️⃣ Click Save.
✅ Example 2: Creating a Ticket in Microsoft Teams
1️⃣ Click “New Step” → “Post a Message in a Teams Channel”.
2️⃣ Choose the Teams channel where you want the bot to post updates.
3️⃣ Enter the Message:
“New Support Request from {UserName}. Issue: {UserIssue}”.
4️⃣ Click Save.
3.3 Returning Data from Power Automate to Copilot Studio
To send data back to the chatbot, follow these steps:
1️⃣ Click “New Step” → “Respond to a Power Virtual Agent”.
2️⃣ Add output fields (e.g., TicketID, Status).
3️⃣ Click Save & Close.
✅ Now, Power Automate will send data back to Copilot Studio!
🔹 Step 4: Integrating APIs with Copilot Studio
For advanced integrations, Copilot Studio supports custom API calls. This allows chatbots to interact with external databases, CRMs (like Salesforce), and third-party applications.
4.1 Creating a Custom API Integration
1️⃣ Go to Copilot Studio → Topics.
2️⃣ Click “Add Node” → “Call an API”.
3️⃣ Enter the API endpoint URL (e.g., https://api.example.com/getCustomer
).
4️⃣ Choose the request type (GET
, POST
, etc.).
5️⃣ Add headers (e.g., Authorization: Bearer <API_KEY>
).
6️⃣ Map response data to chatbot variables.
7️⃣ Click Save.
4.2 Example: Fetching Customer Data from a CRM
Assume you have a CRM API that retrieves customer details based on their email.
📌 API Endpoint: https://crm.example.com/api/customers?email={UserEmail}
1️⃣ Select GET request.
2️⃣ Add dynamic input {UserEmail}
from the chatbot.
3️⃣ Store the response in variables (e.g., CustomerName
, OrderStatus
).
4️⃣ Display response back to the user:
“Hello {CustomerName}, your order status is {OrderStatus}”.
5️⃣ Click Save & Test.
✅ Now, the chatbot can fetch real-time customer information!
🔹 Step 5: Using Microsoft Connectors (Dataverse, SharePoint, etc.)
5.1 Connecting to Microsoft Dataverse
1️⃣ In Copilot Studio, go to “Settings” → “Data Sources”.
2️⃣ Click “Add Data Source” and select Dataverse.
3️⃣ Choose the table (e.g., Customers
).
4️⃣ Map chatbot variables to the database fields.
5️⃣ Click Save.
✅ Now, your chatbot can query Dataverse for business data!
5.2 Accessing SharePoint Data
1️⃣ In Power Automate, click “New Step” → “Get Items (SharePoint)”.
2️⃣ Select the SharePoint Site URL.
3️⃣ Choose the list/library to retrieve data from.
4️⃣ Return the data to Copilot Studio for display.
✅ Now, users can retrieve and update SharePoint records via chatbot!
🔹 Step 6: Deploying & Testing the Integrated Chatbot
Before making your chatbot live, test all integrations to ensure smooth functionality.
6.1 Testing the Integrated App Connections
1️⃣ Click “Test Bot” (top-right corner).
2️⃣ Try different queries to trigger the Power Automate flows & API calls.
3️⃣ Verify if data is fetched/updated correctly.
4️⃣ Check for any error messages and fix them.
✅ If everything works as expected, proceed to deployment!
🔹 Step 7: Deploying the Integrated Chatbot
Once the chatbot is working correctly, deploy it on multiple platforms.
✅ Deploying to Microsoft Teams
1️⃣ Go to “Channels” → “Microsoft Teams”.
2️⃣ Click “Enable” and follow setup instructions.
✅ Embedding on a Website
1️⃣ Go to “Channels” → “Custom Website”.
2️⃣ Copy the embed code (iframe) and paste it into your HTML page.
🎉 Your chatbot with app integrations is now LIVE!