Tuesday, September 30, 2025

๐Ÿง  Microsoft 365 Copilot Studio Licensing: A Simple Guide

 If you're planning to build your own AI assistants (called copilots) using Microsoft 365 Copilot Studio, it's important to understand how the licensing and pricing work. Here's a simple guide to help you get started.


๐Ÿ”‘ Types of Licenses

1. Trial License

  • Free to use
  • Good for testing and learning
  • You can’t publish your copilots with this license

2. User License

  • Also free, but you need to buy Copilot Credits for it to work
  • You can build and publish copilots
  • Must be assigned to users through the Microsoft 365 Admin Center

3. Microsoft 365 Copilot License

  • Comes with your Microsoft 365 Copilot subscription
  • Some copilots (like those used in Teams or SharePoint) don’t use credits

๐Ÿ’ณ How Pricing Works: Copilot Credits

Copilot Studio uses something called Copilot Credits to measure how much you use the service. Every time your copilot answers a question or performs a task, it uses some credits.

Two Ways to Pay:

1. Prepaid Credit Pack

  • $200 per month for 25,000 credits
  • Best if you know how much you’ll use

2. Pay-As-You-Go (PAYG)

  • $0.01 per credit
  • Billed through your Azure account
  • Good for unexpected or extra usage

๐Ÿ’ก Example:

If your copilots use 30,000 credits in a month:

  • First 25,000 credits = covered by the $200 pack
  • Extra 5,000 credits = $50 via PAYG
  • Total = $250

๐Ÿ› ️ How to Manage It

  • Assign licenses in the Microsoft 365 Admin Center
  • Track usage and billing in the Power Platform Admin Center
  • PAYG billing is handled through Azure

✅ Quick Summary

License TypeCostCan Publish?Needs Credits?
TrialFreeNo
User LicenseFreeYes
Microsoft 365 CopilotIncludedSometimes

comparison between Microsoft 365 Copilot and Copilot Studio to help you decide which one suits your needs better:


FeatureMicrosoft 365 CopilotCopilot Studio
PurposeAI assistant inside Microsoft apps (Word, Excel, Outlook, Teams, etc.)Build custom AI agents for business processes
License Cost$30/user/month (add-on to M365 E3/E5/Business)Free user license, but requires Copilot Credits
Who Uses ItEnd users (employees, knowledge workers)Developers, business analysts, automation teams
Use Cases- Drafting emails
- Summarizing meetings
- Creating documents
- Analyzing data
- Automating workflows
- Answering internal queries
- Integrating with APIs and data sources
CustomizabilityLimited to Microsoft appsHighly customizable (flows, plugins, connectors)
Data SourcesMicrosoft Graph (emails, docs, chats)Internal systems, SharePoint, Dataverse, APIs
DeploymentBuilt into Microsoft 365 appsPublish to Teams, websites, Power Apps, etc.
Billing ModelPer-user subscriptionCredit-based (e.g., $200 for 25,000 credits/month)
Best ForEnhancing productivity in daily appsBuilding tailored AI solutions for business processes

๐Ÿง  Which One Should You Choose?

  • Choose Microsoft 365 Copilot if you want:

    • AI help inside Word, Excel, Outlook, Teams
    • A productivity boost for everyday tasks
  • Choose Copilot Studio if you want:

    • To build your own AI agents
    • To automate specific business processes
    • To integrate with custom data sources


๐Ÿš€ Final Thoughts

Microsoft 365 Copilot Studio gives you the tools to build smart AI assistants for your business. With flexible licensing and credit options, you can start small and scale as needed.

Friday, September 19, 2025

GirishKumarMs: ๐Ÿš€Microsoft Copilot – Free vs. Licensed vs. Copilo...

GirishKumarMs: ๐Ÿš€Microsoft Copilot – Free vs. Licensed vs. Copilo...: Artificial Intelligence is rapidly transforming workplace productivity. Microsoft’s Copilot ecosystem is at the heart of this shift, but the...

How to Track Enterprise-wide Adoption of Copilot Studio

 When we start using Microsoft Copilot Studio to build chatbots and copilots, one big question comes up:

๐Ÿ‘‰ How do we know if people are actually using it, and if it’s adding value across the whole company?

Copilot Studio does show some basic reports, but if we want to understand adoption across the enterprise, we need to look in a few more places.


1. What You Get by Default in Copilot Studio

Each bot has a built-in dashboard that shows:

  • Conversation results – whether chats were resolved, escalated, abandoned, or unengaged

  • Usage – how often generated answers were useful (good, incomplete, irrelevant)

  • Satisfaction – thumbs up/down reactions and survey responses

This is good for checking one bot, but not enough to understand adoption company-wide.


2. Using Power Platform Admin Center

For a bigger picture, go to:
Power Platform Admin Center → Analytics → Virtual Agents (Copilot Studio)

Here you can see tenant-wide usage across all bots, such as:

  • Total number of sessions

  • Active users across the company

  • Capacity usage (important for licensing and planning)

  • Geographical usage (where people are using the bots most)

This helps with overall health checks and adoption tracking.


3. If Your Bot is in Microsoft Teams

If the bot is deployed in Teams, go to:
Teams Admin Center → Analytics & Reports

You’ll be able to track:

  • How many people are using the bot

  • Whether it’s used more in private chats or team chats

  • Message volume per user or per team

This shows how well the bot is fitting into everyday teamwork and collaboration.


4. What Metrics Matter Most

To see the true value of Copilot Studio across the company, track four areas:

AreaWhat to Measure
AdoptionHow many people use it, how often, and how many come back (retention)
UsageNumber of sessions, top questions/intents, average length of conversations
QualityResolution rate, sentiment, helpful vs. unhelpful answers
ROI (Return on Investment)Time saved, % of automation vs. escalations, overall cost savings

5. Why This Matters

  • Bot-level analytics help you improve one chatbot.

  • Admin Center analytics give you adoption and licensing insights.

  • Teams' analytics show you how well the bots are used in daily work.

If you bring all these together (for example, in a Power BI dashboard), you can clearly show leaders how Copilot Studio is being adopted, how much value it’s creating, and where improvements are needed.


In short:
Copilot Studio is powerful, but you need to look beyond the default reports. Using Power Platform Admin Center and Teams analytics gives you the full story on adoption, quality, and ROI.



Thursday, August 21, 2025

๐Ÿš€Microsoft Copilot – Free vs. Licensed vs. Copilot Studio (Complete Guide)

Artificial Intelligence is rapidly transforming workplace productivity. Microsoft’s Copilot ecosystem is at the heart of this shift, but there’s often confusion around what’s included in the free trial, what the $30/user/month license unlocks, and what extra value Copilot Studio brings to the table.


๐Ÿ“Š Free Copilot Trial vs. Paid Microsoft 365 Copilot

 

Feature / Aspect

Free Copilot Chat (Trial)

Licensed M365 Copilot ($30/user/month)

Cost

Free (with M365 subscription)

$30/user/month (~₹2495 + GST)

Expiry

Limited trial, features may expire

No expiry – licensed with full features

Integration

Standalone chat only

Embedded in Word, Excel, PowerPoint, Outlook, Teams, Loop, Edge

Org Data Access

Manual file uploads

Automatic via Microsoft Graph (emails, docs, chats, SharePoint, OneDrive)

Custom AI / Agents

Not included

Copilot Studio for workflows & AI copilots

Security & Compliance

Basic login only

Enterprise-grade security, governance, auditing

Premium Connectors

Not available

Supported via Power Platform (Salesforce, SAP, ServiceNow, etc.)

Productivity Impact

Limited

Significant – saves 25–37 mins per user/day (trials)

 

๐Ÿข Usage Scenarios Across Departments

• Sales: Pipeline summaries, Salesforce insights, auto-proposals.

• HR: Draft policies, onboarding guides, summarize employee feedback.

• Finance: Automate reports, budget forecasting, Excel reconciliation.

• IT: Incident summaries, knowledge base drafting, ServiceNow integrations.

• General: Meeting notes, email drafting, content creation across apps.


๐Ÿ’ผ Sales Enablement

• Pull opportunity pipeline data directly into Teams.

• Draft personalized proposals in Word using CRM + Excel inputs.

• Generate PowerPoint decks from long reports or competitor analysis.

• Summarize customer meetings and create action plans instantly.


๐Ÿ”— Premium Connectors (e.g., Salesforce, SAP, ServiceNow)

• Free trial does not support external systems.
• Licensed Copilot + Copilot Studio enable integration with premium connectors via Power Automate and Power Platform.
• Example:
   - Query Salesforce directly from Teams Copilot.
   - Generate Word/Excel reports from SAP budgets.
   - Create custom AI copilots that connect to ServiceNow tickets.
๐Ÿ‘‰ Note: Premium connectors require additional licensing (per-user or per-flow).


๐Ÿšซ What’s Not Possible in Free Copilot Trial

• No integration with Word, Excel, Outlook, Teams.

• No access to organization data (manual file uploads only).

• No Copilot Studio or automation workflows.

• No premium connectors like Salesforce, SAP, ServiceNow.

• No enterprise-grade compliance/auditing.

• Limited impact – mostly for Q&A and research pilots.


✅ What Becomes Possible with Licensed Copilot

• Seamless integration across all Microsoft 365 apps.

• Contextual insights via Microsoft Graph (emails, meetings, docs).

• Cross-app intelligence (Word ↔ Excel ↔ Outlook ↔ Teams).

• Governance & analytics for IT and business leaders.

• Copilot Studio access → build workflows, custom copilots, plugins.

• Salesforce/SAP integration via Power Platform connectors.


๐Ÿ”น Copilot Studio – Going Beyond

• Create custom copilots (e.g., Procurement Copilot, HR Copilot, Finance Copilot).

• Connect external data (SAP, Salesforce, ServiceNow, Workday, APIs).

• Build workflows with Power Automate.

• Accept image/file inputs (e.g., upload invoice → extract details → push to SAP).

• Deploy across Teams, web, mobile, or apps.

• Set role-based access, governance, and analytics.


๐Ÿท️ Example – Procurement Copilot

Suppose you create a Procurement Copilot that fetches vendor data from SAP, pulls budget info from Excel, and accesses contract details from SharePoint.

Deployment:
• You can publish it org-wide.
• If only M365 data is used (Excel, SharePoint) → all E3 users can use it.
• If premium connectors (SAP/SFDC) are used → end-users also need premium licenses, or you must enable per-flow licensing.


๐Ÿ“Œ Licensing Decision Flowchart (Salesforce Example)

• With Salesforce connector → Premium license required.
• Without Salesforce (M365 only) → E3 users OK.


๐Ÿ“ Final Takeaways

• Free Copilot = exploration, pilots, file Q&A.

• Licensed Copilot ($30) = true productivity engine across all M365 apps + enterprise compliance.

• Copilot Studio = design your own copilots, workflows, plugins, and connect to external systems like Salesforce/SAP.

• Leadership Insight: Start with licensed Copilot for productivity. Layer in Copilot Studio to create business-specific copilots (Procurement, Sales, HR, Finance). Use per-flow premium licensing to minimize connector costs for large user bases.


Reference links:

Licensing & Cost Model: Copilot Studio & Microsoft 365 Copilot


Connector & Extensibility Details


Features, Architecture & Deployment


Licensing Context & Governance


Monday, August 4, 2025

How to Deploy Your HTML Website on a Linux Server (Apache + SFTP)

Launching a simple HTML website on your own Linux server is easier than you might think. Whether you're sharing a static landing page or integrating HTML into a backend system like Flask, here’s a complete hands-on guide you can follow.


๐Ÿ”ฅ Method 1 — Deploying Directly to Apache Web Server

Apache by default serves files from the directory: 
/var/www/html

Step-1: Create/Verify the HTML Folder

sudo mkdir -p /var/www/html
cd /var/www/html

Step-2: Upload Your HTML File

Use SFTP tools like FileZilla, WinSCP, or sftp command-line to copy cortex.html (or your HTML file) from your local machine to /var/www/html.
๐Ÿ’ก You may need folder permissions from your server admin.

Step-3: (Optional) Create/Edit HTML Directly in Server

sudo vim /var/www/html/cortex.html

Common Vim commands:
:wq  Save and exit
:q!  Exit without saving
:w   Save only (don’t exit)

Step-4: Set Correct Permissions

sudo chmod 644 /var/www/html/cortex.html
sudo chmod 644 /var/www/html/index.html

Step-5: Fix File Naming (optional)

sudo mv /var/www/html/Cortex.html /var/www/html/cortex.html

Step-6: Confirm Apache DocumentRoot

DocumentRoot "/var/www/html"

Step-7: Restart Apache

sudo systemctl restart httpd      # CentOS/RHEL
sudo systemctl restart apache2    # Ubuntu/Debian

Your page should now load at:
http://<server-ip>/ or http://<server-ip>/cortex.html


Method 2 — Serve HTML Inside a Flask App on Custom Port (81)

Sometimes, we want to deploy HTML via a Flask application running behind Apache on a different port, e.g. 81.

Folder Structure

/var/www/flaskapp/
└── templates/
    ├── index.html
    └── se.html   <- (optional subpage)

Step-1: Copy the HTML into Flask Template

sudo cp /var/www/html/cortex.html /var/www/flaskapp/templates/index.html

Step-2: Add Apache VirtualHost for Port 81

<VirtualHost *:81>
    ServerName yourdomain.com
    DocumentRoot /var/www/flaskapp
    WSGIScriptAlias / /var/www/flaskapp/flaskapp.wsgi
</VirtualHost>

Step-3: Restart Apache

sudo systemctl restart httpd

Open in browser:
http://<server-ip>:81/

Updating HTML Pages Later

Upload new version using SFTP to /var/www/ and then run:

sudo cp /var/www/cortexV3.html /var/www/flaskapp/templates/index.html
sudo systemctl restart httpd

Adding New Pages

sudo cp /var/www/cortexV4.html /var/www/flaskapp/templates/se.html
sudo chmod 644 /var/www/flaskapp/templates/se.html
sudo systemctl restart httpd

Open page at: http://<server-ip>:81/se

Summary

Task                   Command (Linux)
Create HTML folder     sudo mkdir -p /var/www/html
Upload via SFTP        Use FileZilla/WinSCP or sftp
Edit file              vim /var/www/html/filename.html
Set permission         sudo chmod 644 file.html
Restart Apache         sudo systemctl restart httpd
Copy to Flask app      sudo cp source destination

Final Thoughts

With just a handful of commands and SFTP access, you can deploy static HTML pages directly with Apache or plug them into a Python-based Flask app running on a custom port. This manual method gives you full control over your deployment — perfect for learning, testing, or lightweight production websites.

How to Convert Outlook MSG Files to XML with a Simple Web App

 Outlook MSG files are commonly used to store individual email messages, including metadata, body content, and attachments. However, working with MSG files directly can be challenging when you need to integrate or process email data in other systems.

In this guide, we will build a Python-based web application that allows users to:
Upload Outlook MSG files
Convert them into structured XML format
Download the XML file
✔ With a clean HTML interface


✅ Why Convert MSG to XML?

  • Data Interoperability: XML is widely supported for system integrations.

  • Structured Format: Easily extract sender, recipients, body, and attachments in a standard schema.

  • Automation: Helps migrate email content into other tools like CRMs, ERP systems, or custom applications.


✅ Tools and Libraries Used

  • Python 3.x

  • Flask – lightweight web framework

  • extract-msg – library to read .msg files

  • HTML + CSS – for a simple and responsive UI

Install the dependencies:
pip install flask extract-msg

✅ Project Structure
msg-to-xml/
├── app.py              # Flask backend
├── templates/
│    └── index.html     # Upload & download UI
└── uploads/            # Temporary storage


✅ Step 1: Build the Backend (Flask)

Here’s the complete app.py code:


from flask import Flask, render_template, request, send_file

import os

import xml.etree.ElementTree as ET

import extract_msg


app = Flask(__name__)

UPLOAD_FOLDER = 'uploads'

os.makedirs(UPLOAD_FOLDER, exist_ok=True)


@app.route('/', methods=['GET', 'POST'])

def index():

    if request.method == 'POST':

        if 'file' not in request.files:

            return "No file part"

        file = request.files['file']

        if file.filename == '':

            return "No selected file"

        if file:

            file_path = os.path.join(UPLOAD_FOLDER, file.filename)

            file.save(file_path)


            # Convert MSG to XML

            xml_path = convert_msg_to_xml(file_path)

            return send_file(xml_path, as_attachment=True)

    return render_template('index.html')


def convert_msg_to_xml(msg_path):

    msg = extract_msg.Message(msg_path)


    root = ET.Element("Email")

    ET.SubElement(root, "Subject").text = msg.subject or ''

    ET.SubElement(root, "Sender").text = msg.sender or ''

    ET.SubElement(root, "Date").text = str(msg.date) if msg.date else ''

    ET.SubElement(root, "Body").text = msg.body or ''


    # Recipients

    recipients = ET.SubElement(root, "Recipients")

    for r in msg.recipients:

        try:

            recipient_text = f"{r.name} <{r.email}>"

        except:

            recipient_text = str(r)

        ET.SubElement(recipients, "Recipient").text = recipient_text


    # Attachments metadata

    attachments = ET.SubElement(root, "Attachments")

    for att in msg.attachments:

        att_elem = ET.SubElement(attachments, "Attachment")

        ET.SubElement(att_elem, "Filename").text = att.longFilename or att.shortFilename or ''

        ET.SubElement(att_elem, "Size").text = str(len(att.data)) if att.data else '0'


    tree = ET.ElementTree(root)

    xml_filename = os.path.splitext(os.path.basename(msg_path))[0] + ".xml"

    xml_path = os.path.join(UPLOAD_FOLDER, xml_filename)

    tree.write(xml_path, encoding="utf-8", xml_declaration=True)

    return xml_path


if __name__ == '__main__':

    app.run(debug=True)



✅ Step 2: Create the HTML UI

Save this as templates/index.html:

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<title>MSG to XML Converter</title>

<style>

    body { font-family: Arial, sans-serif; background: #f4f6f9; display: flex; justify-content: center; align-items: center; height: 100vh; }

    .container { background: #fff; padding: 30px; border-radius: 12px; box-shadow: 0 4px 8px rgba(0,0,0,0.1); text-align: center; width: 400px; }

    h1 { color: #333; margin-bottom: 20px; }

    input[type="file"] { display: block; margin: 20px auto; }

    button { background: #007BFF; color: white; border: none; padding: 10px 20px; border-radius: 8px; cursor: pointer; font-size: 16px; }

    button:hover { background: #0056b3; }

</style>

</head>

<body>

<div class="container">

    <h1>MSG to XML Converter</h1>

    <form method="POST" enctype="multipart/form-data">

        <input type="file" name="file" accept=".msg" required>

        <button type="submit">Convert & Download XML</button>

    </form>

</div>

</body>

</html>


✅ Step 3: Run the App
python app.py


Open your browser and go to:
๐Ÿ‘‰ http://127.0.0.1:5000

✅ Output Example

The generated XML file will look like this:


<?xml version="1.0" encoding="utf-8"?>

<Email>

    <Subject>Test Email</Subject>

    <Sender>sender@example.com</Sender>

    <Date>2025-07-23 12:30:00</Date>

    <Body>Hello, this is a test email.</Body>

    <Recipients>

        <Recipient>John Doe &lt;john@example.com&gt;</Recipient>

    </Recipients>

    <Attachments>

        <Attachment>

            <Filename>document.pdf</Filename>

            <Size>12345</Size>

        </Attachment>

    </Attachments>

</Email>


✅ Next Enhancements

You can add more features:

  • Include attachments in Base64 inside XML

  • HTML preview before downloading

  • Support multiple file upload and batch conversion

  • Add a progress bar with drag & drop upload

✔ Final Thoughts

This lightweight Flask app is a simple and efficient way to transform Outlook MSG files into XML, making email data more accessible for integration and analysis.

Tuesday, July 22, 2025

Connect Microsoft Graph API with Copilot Studio for email processing

 This article from Microsoft Q&A outlines how to use Microsoft Graph API to integrate Outlook email and calendar data into Copilot Studio agents. Key highlights include:

✅ Data Integration

  • Use Microsoft Graph API to access Outlook data.
  • Key endpoints:
    • /me/messages – Access emails.
    • /me/events – Access calendar events.
    • /me/mailFolders – Manage folders.

๐Ÿ› ️ Tools & APIs

  • Microsoft Graph API – Primary API for accessing Microsoft 365 data.
  • Microsoft Graph Connectors – Bring external data into Microsoft 365 and Copilot Studio.
  • Power Platform Connectors – Use with Power Automate to bridge email data to Copilot Studio.

๐Ÿ’ก Use Cases

  • Email Summarization – Copilot extracts key insights from emails.
  • Meeting Preparation – Generate agendas from calendar and email threads.
  • Task Management – Create tasks based on email content.

๐Ÿงฉ How to Call Microsoft Graph API from Copilot Agent 

This guide explains how to:

  • Use Power Automate to trigger Graph API calls.
  • Set up OAuth 2.0 authentication using Azure AD.
  • Send email data to Copilot Studio agents via HTTP actions.


https://learn.microsoft.com/en-us/answers/questions/2156030/integrating-outlook-as-a-knowledge-base-for-copilo

Wednesday, July 16, 2025

๐Ÿค– ๐Ÿ“„ How to Create a Document-insight Agent in Microsoft 365 Copilot

๐Ÿ“šMicrosoft 365 Copilot enables you to build custom agents that interact with users, retrieve knowledge from organizational data, and answer context-based questions. This guide covers how to create an agent that reads specified documents and provides accurate answers.


1. Overview

The agent will:

  • Read and process uploaded or linked documents.

  • Answer user queries strictly based on document content.

  • Support knowledge integration from SharePoint, OneDrive, and Teams.


2. Steps to Create an Agent in Microsoft 365 Copilot

Step 1: Open Microsoft 365 Copilot

  • Launch the Microsoft 365 Copilot app.


Step 2: Access Agents

  • Navigate to:
    Chat → Agents

  • Click Create Agent or go to All Agents to explore templates.


Step 3: Choose Creation Method

  • From Scratch:
    Use Agent Builder with natural language instructions.

  • Template:
    Select a pre-built option from Agent Store.


Step 4: Configure the Agent

  • Description:
    Define the purpose of the agent.
    Example:
    “This agent reads and indexes documents from connected knowledge sources and provides context-based answers.”

  • Add Instructions:
    Use this prompt for agent behaviour:

Agent Instruction Prompt

You are an intelligent Copilot agent designed to assist users by reading and understanding the content of specified documents and answering questions based on those documents.
Your objectives: 1. Read and process the provided documents thoroughly. 2. Break down documents into manageable sections for better retrieval. 3. When a user asks a question, search the documents to find the most relevant information. 4. Provide accurate, concise, and context-aware answers strictly based on the documents. 5. If the answer is not in the documents, respond with: "I could not find this information in the provided documents." 6. Never fabricate or use external knowledge. 7. Maintain a clear and professional tone. 8. Summarize for complex queries unless full details are requested. Capabilities: - Extract and parse text from PDFs, Word, and text documents. - Index and retrieve answers efficiently from multiple sources.

  • Connect Knowledge Sources:
    Examples:

    • SharePoint libraries (Contracts, Policies)

    • OneDrive folders

    • Teams document repositories


Step 5: Test and Deploy ๐Ÿ› ️

  • Test the agent in Preview Mode.

  • Verify:

    • It uses only allowed sources.

    • It returns correct and concise answers.

  • Publish and share with your organization.


3. Visual Flow Diagram

Below is a representation of the Copilot Agent creation process:


4. Example Copilot Configuration

Description:
"Document Search Agent – Reads and indexes organizational documents to provide accurate answers based on their content."

Instructions:

You are a Copilot agent that answers questions only using provided documents.
If the answer is not present, say: "The information is not available in the provided documents." Always provide concise responses and mention the source document name where possible. Do not use external information.

Knowledge Sources:

  • SharePoint Site: Company Contracts

  • OneDrive Folder: HR Policies

  • Teams Channel Files: Project Documentation


Best Practices

  • Write explicit guardrails to prevent hallucination.

  • Ensure data access is restricted to approved sources.

  • Monitor agent responses and refine as needed.


Reference: Copilot Developer Camp


๐Ÿง  Microsoft 365 Copilot Studio Licensing: A Simple Guide

 If you're planning to build your own AI assistants (called copilots ) using Microsoft 365 Copilot Studio, it's important to underst...