mirror of
https://github.com/github/awesome-copilot.git
synced 2026-03-13 12:45:13 +00:00
chore: publish from staged
This commit is contained in:
@@ -0,0 +1,135 @@
|
||||
# Copilot Studio — Billing Rates & Estimation
|
||||
|
||||
> Source: [Billing rates and management](https://learn.microsoft.com/en-us/microsoft-copilot-studio/requirements-messages-management)
|
||||
> Estimator: [Microsoft agent usage estimator](https://microsoft.github.io/copilot-studio-estimator/)
|
||||
> Licensing Guide: [Copilot Studio Licensing Guide](https://go.microsoft.com/fwlink/?linkid=2320995)
|
||||
|
||||
## Copilot Credit Rate
|
||||
|
||||
**1 Copilot Credit = $0.01 USD**
|
||||
|
||||
## Billing Rates (cached snapshot — last updated March 2026)
|
||||
|
||||
**IMPORTANT: Always prefer fetching live rates from the source URLs below. Use this table only as a fallback if web fetch is unavailable.**
|
||||
|
||||
| Feature | Rate | Unit |
|
||||
|---|---|---|
|
||||
| Classic answer | 1 | per response |
|
||||
| Generative answer | 2 | per response |
|
||||
| Agent action | 5 | per action (triggers, deep reasoning, topic transitions, computer use) |
|
||||
| Tenant graph grounding | 10 | per message |
|
||||
| Agent flow actions | 13 | per 100 flow actions |
|
||||
| Text & gen AI tools (basic) | 1 | per 10 responses |
|
||||
| Text & gen AI tools (standard) | 15 | per 10 responses |
|
||||
| Text & gen AI tools (premium) | 100 | per 10 responses |
|
||||
| Content processing tools | 8 | per page |
|
||||
|
||||
### Notes
|
||||
|
||||
- **Classic answers**: Predefined, manually authored responses. Static — don't change unless updated by the maker.
|
||||
- **Generative answers**: Dynamically generated using AI models (GPTs). Adapt based on context and knowledge sources.
|
||||
- **Tenant graph grounding**: RAG over tenant-wide Microsoft Graph, including external data via connectors. Optional per agent.
|
||||
- **Agent actions**: Steps like triggers, deep reasoning, topic transitions visible in the activity map. Includes Computer-Using Agents.
|
||||
- **Text & gen AI tools**: Prompt tools embedded in agents. Three tiers (basic/standard/premium) based on the underlying language model.
|
||||
- **Agent flow actions**: Predefined flow action sequences executed without agent reasoning/orchestration at each step.
|
||||
|
||||
### Reasoning Model Billing
|
||||
|
||||
When using a reasoning-capable model:
|
||||
|
||||
```
|
||||
Total cost = feature rate for operation + text & gen AI tools (premium) per 10 responses
|
||||
```
|
||||
|
||||
Example: A generative answer using a reasoning model costs **2 credits** (generative answer) **+ 10 credits** (premium per response, prorated from 100/10).
|
||||
|
||||
## Estimation Formula
|
||||
|
||||
### Inputs
|
||||
|
||||
| Parameter | Description |
|
||||
|---|---|
|
||||
| `users` | Number of end users |
|
||||
| `interactions_per_month` | Average interactions per user per month |
|
||||
| `knowledge_pct` | % of responses from knowledge sources (0-100) |
|
||||
| `tenant_graph_pct` | Of knowledge responses, % using tenant graph grounding (0-100) |
|
||||
| `tool_prompt` | Average Prompt tool calls per session |
|
||||
| `tool_agent_flow` | Average Agent flow calls per session |
|
||||
| `tool_computer_use` | Average Computer use calls per session |
|
||||
| `tool_custom_connector` | Average Custom connector calls per session |
|
||||
| `tool_mcp` | Average MCP (Model Context Protocol) calls per session |
|
||||
| `tool_rest_api` | Average REST API calls per session |
|
||||
| `prompts_basic` | Average basic AI prompt uses per session |
|
||||
| `prompts_standard` | Average standard AI prompt uses per session |
|
||||
| `prompts_premium` | Average premium AI prompt uses per session |
|
||||
|
||||
### Calculation
|
||||
|
||||
```
|
||||
total_sessions = users × interactions_per_month
|
||||
|
||||
── Knowledge Credits ──
|
||||
tenant_graph_credits = total_sessions × (knowledge_pct/100) × (tenant_graph_pct/100) × 10
|
||||
generative_answer_credits = total_sessions × (knowledge_pct/100) × (1 - tenant_graph_pct/100) × 2
|
||||
classic_answer_credits = total_sessions × (1 - knowledge_pct/100) × 1
|
||||
|
||||
── Agent Tools Credits ──
|
||||
tool_calls = total_sessions × (prompt + computer_use + custom_connector + mcp + rest_api)
|
||||
tool_credits = tool_calls × 5
|
||||
|
||||
── Agent Flow Credits ──
|
||||
flow_calls = total_sessions × tool_agent_flow
|
||||
flow_credits = ceil(flow_calls / 100) × 13
|
||||
|
||||
── Prompt Modifier Credits ──
|
||||
basic_credits = ceil(total_sessions × prompts_basic / 10) × 1
|
||||
standard_credits = ceil(total_sessions × prompts_standard / 10) × 15
|
||||
premium_credits = ceil(total_sessions × prompts_premium / 10) × 100
|
||||
|
||||
── Total ──
|
||||
total_credits = knowledge + tools + flows + prompts
|
||||
cost_usd = total_credits × 0.01
|
||||
```
|
||||
|
||||
## Billing Examples (from Microsoft Docs)
|
||||
|
||||
### Customer Support Agent
|
||||
|
||||
- 4 classic answers + 2 generative answers per session
|
||||
- 900 customers/day
|
||||
- **Daily**: `[(4×1) + (2×2)] × 900 = 7,200 credits`
|
||||
- **Monthly (30d)**: ~216,000 credits = **~$2,160**
|
||||
|
||||
### Sales Performance Agent (Tenant Graph Grounded)
|
||||
|
||||
- 4 generative answers + 4 tenant graph grounded responses per session
|
||||
- 100 unlicensed users
|
||||
- **Daily**: `[(4×2) + (4×10)] × 100 = 4,800 credits`
|
||||
- **Monthly (30d)**: ~144,000 credits = **~$1,440**
|
||||
|
||||
### Order Processing Agent
|
||||
|
||||
- 4 action calls per trigger (autonomous)
|
||||
- **Per trigger**: `4 × 5 = 20 credits`
|
||||
|
||||
## Employee vs Customer Agent Types
|
||||
|
||||
| Agent Type | Included with M365 Copilot? |
|
||||
|---|---|
|
||||
| Employee-facing (BtoE) | Classic answers, generative answers, and tenant graph grounding are included at zero cost when the user has a Microsoft 365 Copilot license |
|
||||
| Customer/partner-facing | All usage is billed normally |
|
||||
|
||||
## Overage Enforcement
|
||||
|
||||
- Triggered at **125%** of prepaid capacity
|
||||
- Custom agents are disabled (ongoing conversations continue)
|
||||
- Email notification sent to tenant admin
|
||||
- Resolution: reallocate capacity, purchase more, or enable pay-as-you-go
|
||||
|
||||
## Live Source URLs
|
||||
|
||||
For the latest rates, fetch content from these pages:
|
||||
|
||||
- [Billing rates and management](https://learn.microsoft.com/en-us/microsoft-copilot-studio/requirements-messages-management)
|
||||
- [Copilot Studio licensing](https://learn.microsoft.com/en-us/microsoft-copilot-studio/billing-licensing)
|
||||
- [Copilot Studio Licensing Guide (PDF)](https://go.microsoft.com/fwlink/?linkid=2320995)
|
||||
@@ -0,0 +1,142 @@
|
||||
# Cost Estimator Reference
|
||||
|
||||
Formulas and patterns for converting Azure unit prices into monthly and annual cost estimates.
|
||||
|
||||
## Standard Time-Based Calculations
|
||||
|
||||
### Hours per Month
|
||||
|
||||
Azure uses **730 hours/month** as the standard billing period (365 days × 24 hours / 12 months).
|
||||
|
||||
```
|
||||
Monthly Cost = Unit Price per Hour × 730
|
||||
Annual Cost = Monthly Cost × 12
|
||||
```
|
||||
|
||||
### Common Multipliers
|
||||
|
||||
| Period | Hours | Calculation |
|
||||
|--------|-------|-------------|
|
||||
| 1 Hour | 1 | Unit price |
|
||||
| 1 Day | 24 | Unit price × 24 |
|
||||
| 1 Week | 168 | Unit price × 168 |
|
||||
| 1 Month | 730 | Unit price × 730 |
|
||||
| 1 Year | 8,760 | Unit price × 8,760 |
|
||||
|
||||
## Service-Specific Formulas
|
||||
|
||||
### Virtual Machines (Compute)
|
||||
|
||||
```
|
||||
Monthly Cost = hourly price × 730
|
||||
```
|
||||
|
||||
For VMs that run only business hours (8h/day, 22 days/month):
|
||||
```
|
||||
Monthly Cost = hourly price × 176
|
||||
```
|
||||
|
||||
### Azure Functions
|
||||
|
||||
```
|
||||
Execution Cost = price per execution × number of executions
|
||||
Compute Cost = price per GB-s × (memory in GB × execution time in seconds × number of executions)
|
||||
Total Monthly = Execution Cost + Compute Cost
|
||||
```
|
||||
|
||||
Free grant: 1M executions and 400,000 GB-s per month.
|
||||
|
||||
### Azure Blob Storage
|
||||
|
||||
```
|
||||
Storage Cost = price per GB × storage in GB
|
||||
Transaction Cost = price per 10,000 ops × (operations / 10,000)
|
||||
Egress Cost = price per GB × egress in GB
|
||||
Total Monthly = Storage Cost + Transaction Cost + Egress Cost
|
||||
```
|
||||
|
||||
### Azure Cosmos DB
|
||||
|
||||
#### Provisioned Throughput
|
||||
```
|
||||
Monthly Cost = (RU/s / 100) × price per 100 RU/s × 730
|
||||
```
|
||||
|
||||
#### Serverless
|
||||
```
|
||||
Monthly Cost = (total RUs consumed / 1,000,000) × price per 1M RUs
|
||||
```
|
||||
|
||||
### Azure SQL Database
|
||||
|
||||
#### DTU Model
|
||||
```
|
||||
Monthly Cost = price per DTU × DTUs × 730
|
||||
```
|
||||
|
||||
#### vCore Model
|
||||
```
|
||||
Monthly Cost = vCore price × vCores × 730 + storage price per GB × storage GB
|
||||
```
|
||||
|
||||
### Azure Kubernetes Service (AKS)
|
||||
|
||||
```
|
||||
Monthly Cost = node VM price × 730 × number of nodes
|
||||
```
|
||||
|
||||
Control plane is free for standard tier.
|
||||
|
||||
### Azure App Service
|
||||
|
||||
```
|
||||
Monthly Cost = plan price × 730 (for hourly-priced plans)
|
||||
```
|
||||
|
||||
Or flat monthly price for fixed-tier plans.
|
||||
|
||||
### Azure OpenAI
|
||||
|
||||
```
|
||||
Monthly Cost = (input tokens / 1000) × input price per 1K tokens
|
||||
+ (output tokens / 1000) × output price per 1K tokens
|
||||
```
|
||||
|
||||
## Reservation vs. Pay-As-You-Go Comparison
|
||||
|
||||
When presenting pricing options, always show the comparison:
|
||||
|
||||
```
|
||||
| Pricing Model | Monthly Cost | Annual Cost | Savings vs. PAYG |
|
||||
|---------------|-------------|-------------|------------------|
|
||||
| Pay-As-You-Go | $X | $Y | — |
|
||||
| 1-Year Reserved | $A | $B | Z% |
|
||||
| 3-Year Reserved | $C | $D | W% |
|
||||
| Savings Plan (1yr) | $E | $F | V% |
|
||||
| Savings Plan (3yr) | $G | $H | U% |
|
||||
| Spot (if available) | $I | N/A | T% |
|
||||
```
|
||||
|
||||
Savings percentage formula:
|
||||
```
|
||||
Savings % = ((PAYG Price - Reserved Price) / PAYG Price) × 100
|
||||
```
|
||||
|
||||
## Cost Summary Table Template
|
||||
|
||||
Always present results in this format:
|
||||
|
||||
```markdown
|
||||
| Service | SKU | Region | Unit Price | Unit | Monthly Est. | Annual Est. |
|
||||
|---------|-----|--------|-----------|------|-------------|-------------|
|
||||
| Virtual Machines | Standard_D4s_v5 | East US | $0.192/hr | 1 Hour | $140.16 | $1,681.92 |
|
||||
```
|
||||
|
||||
## Tips
|
||||
|
||||
- Always clarify the **usage pattern** before estimating (24/7 vs. business hours vs. sporadic).
|
||||
- For **storage**, ask about expected data volume and access patterns.
|
||||
- For **databases**, ask about throughput requirements (RU/s, DTUs, or vCores).
|
||||
- For **serverless** services, ask about expected invocation count and duration.
|
||||
- Round to 2 decimal places for display.
|
||||
- Note that prices are in **USD** unless otherwise specified.
|
||||
@@ -0,0 +1,84 @@
|
||||
# Azure Region Names Reference
|
||||
|
||||
The Azure Retail Prices API requires `armRegionName` values in lowercase with no spaces. Use this table to map common region names to their API values.
|
||||
|
||||
## Region Mapping
|
||||
|
||||
| Display Name | armRegionName |
|
||||
|-------------|---------------|
|
||||
| East US | `eastus` |
|
||||
| East US 2 | `eastus2` |
|
||||
| Central US | `centralus` |
|
||||
| North Central US | `northcentralus` |
|
||||
| South Central US | `southcentralus` |
|
||||
| West Central US | `westcentralus` |
|
||||
| West US | `westus` |
|
||||
| West US 2 | `westus2` |
|
||||
| West US 3 | `westus3` |
|
||||
| Canada Central | `canadacentral` |
|
||||
| Canada East | `canadaeast` |
|
||||
| Brazil South | `brazilsouth` |
|
||||
| North Europe | `northeurope` |
|
||||
| West Europe | `westeurope` |
|
||||
| UK South | `uksouth` |
|
||||
| UK West | `ukwest` |
|
||||
| France Central | `francecentral` |
|
||||
| France South | `francesouth` |
|
||||
| Germany West Central | `germanywestcentral` |
|
||||
| Germany North | `germanynorth` |
|
||||
| Switzerland North | `switzerlandnorth` |
|
||||
| Switzerland West | `switzerlandwest` |
|
||||
| Norway East | `norwayeast` |
|
||||
| Norway West | `norwaywest` |
|
||||
| Sweden Central | `swedencentral` |
|
||||
| Italy North | `italynorth` |
|
||||
| Poland Central | `polandcentral` |
|
||||
| Spain Central | `spaincentral` |
|
||||
| East Asia | `eastasia` |
|
||||
| Southeast Asia | `southeastasia` |
|
||||
| Japan East | `japaneast` |
|
||||
| Japan West | `japanwest` |
|
||||
| Australia East | `australiaeast` |
|
||||
| Australia Southeast | `australiasoutheast` |
|
||||
| Australia Central | `australiacentral` |
|
||||
| Korea Central | `koreacentral` |
|
||||
| Korea South | `koreasouth` |
|
||||
| Central India | `centralindia` |
|
||||
| South India | `southindia` |
|
||||
| West India | `westindia` |
|
||||
| UAE North | `uaenorth` |
|
||||
| UAE Central | `uaecentral` |
|
||||
| South Africa North | `southafricanorth` |
|
||||
| South Africa West | `southafricawest` |
|
||||
| Qatar Central | `qatarcentral` |
|
||||
|
||||
## Conversion Rules
|
||||
|
||||
1. Remove all spaces
|
||||
2. Convert to lowercase
|
||||
3. Examples:
|
||||
- "East US" → `eastus`
|
||||
- "West Europe" → `westeurope`
|
||||
- "Southeast Asia" → `southeastasia`
|
||||
- "South Central US" → `southcentralus`
|
||||
|
||||
## Common Aliases
|
||||
|
||||
Users may refer to regions informally. Map these to the correct `armRegionName`:
|
||||
|
||||
| User Says | Maps To |
|
||||
|-----------|---------|
|
||||
| "US East", "Virginia" | `eastus` |
|
||||
| "US West", "California" | `westus` |
|
||||
| "Europe", "EU" | `westeurope` (default) |
|
||||
| "UK", "London" | `uksouth` |
|
||||
| "Asia", "Singapore" | `southeastasia` |
|
||||
| "Japan", "Tokyo" | `japaneast` |
|
||||
| "Australia", "Sydney" | `australiaeast` |
|
||||
| "India", "Mumbai" | `centralindia` |
|
||||
| "Korea", "Seoul" | `koreacentral` |
|
||||
| "Brazil", "São Paulo" | `brazilsouth` |
|
||||
| "Canada", "Toronto" | `canadacentral` |
|
||||
| "Germany", "Frankfurt" | `germanywestcentral` |
|
||||
| "France", "Paris" | `francecentral` |
|
||||
| "Sweden", "Stockholm" | `swedencentral` |
|
||||
@@ -0,0 +1,106 @@
|
||||
# Azure Service Names Reference
|
||||
|
||||
The `serviceName` field in the Azure Retail Prices API is **case-sensitive**. Use this reference to find the exact service name to use in filters.
|
||||
|
||||
## Compute
|
||||
|
||||
| Service | `serviceName` Value |
|
||||
|---------|-------------------|
|
||||
| Virtual Machines | `Virtual Machines` |
|
||||
| Azure Functions | `Functions` |
|
||||
| Azure App Service | `Azure App Service` |
|
||||
| Azure Container Apps | `Azure Container Apps` |
|
||||
| Azure Container Instances | `Container Instances` |
|
||||
| Azure Kubernetes Service | `Azure Kubernetes Service` |
|
||||
| Azure Batch | `Azure Batch` |
|
||||
| Azure Spring Apps | `Azure Spring Apps` |
|
||||
| Azure VMware Solution | `Azure VMware Solution` |
|
||||
|
||||
## Storage
|
||||
|
||||
| Service | `serviceName` Value |
|
||||
|---------|-------------------|
|
||||
| Azure Storage (Blob, Files, Queues, Tables) | `Storage` |
|
||||
| Azure NetApp Files | `Azure NetApp Files` |
|
||||
| Azure Backup | `Backup` |
|
||||
| Azure Data Box | `Data Box` |
|
||||
|
||||
> **Note**: Blob Storage, Files, Disk Storage, and Data Lake Storage are all under the single `Storage` service name. Use `meterName` or `productName` to distinguish between them (e.g., `contains(meterName, 'Blob')`).
|
||||
|
||||
## Databases
|
||||
|
||||
| Service | `serviceName` Value |
|
||||
|---------|-------------------|
|
||||
| Azure Cosmos DB | `Azure Cosmos DB` |
|
||||
| Azure SQL Database | `SQL Database` |
|
||||
| Azure SQL Managed Instance | `SQL Managed Instance` |
|
||||
| Azure Database for PostgreSQL | `Azure Database for PostgreSQL` |
|
||||
| Azure Database for MySQL | `Azure Database for MySQL` |
|
||||
| Azure Cache for Redis | `Redis Cache` |
|
||||
|
||||
## AI + Machine Learning
|
||||
|
||||
| Service | `serviceName` Value |
|
||||
|---------|-------------------|
|
||||
| Azure AI Foundry Models (incl. OpenAI) | `Foundry Models` |
|
||||
| Azure AI Foundry Tools | `Foundry Tools` |
|
||||
| Azure Machine Learning | `Azure Machine Learning` |
|
||||
| Azure Cognitive Search (AI Search) | `Azure Cognitive Search` |
|
||||
| Azure Bot Service | `Azure Bot Service` |
|
||||
|
||||
> **Note**: Azure OpenAI pricing is now under `Foundry Models`. Use `contains(productName, 'OpenAI')` or `contains(meterName, 'GPT')` to filter for OpenAI-specific models.
|
||||
|
||||
## Networking
|
||||
|
||||
| Service | `serviceName` Value |
|
||||
|---------|-------------------|
|
||||
| Azure Load Balancer | `Load Balancer` |
|
||||
| Azure Application Gateway | `Application Gateway` |
|
||||
| Azure Front Door | `Azure Front Door Service` |
|
||||
| Azure CDN | `Azure CDN` |
|
||||
| Azure DNS | `Azure DNS` |
|
||||
| Azure Virtual Network | `Virtual Network` |
|
||||
| Azure VPN Gateway | `VPN Gateway` |
|
||||
| Azure ExpressRoute | `ExpressRoute` |
|
||||
| Azure Firewall | `Azure Firewall` |
|
||||
|
||||
## Analytics
|
||||
|
||||
| Service | `serviceName` Value |
|
||||
|---------|-------------------|
|
||||
| Azure Synapse Analytics | `Azure Synapse Analytics` |
|
||||
| Azure Data Factory | `Azure Data Factory v2` |
|
||||
| Azure Stream Analytics | `Azure Stream Analytics` |
|
||||
| Azure Databricks | `Azure Databricks` |
|
||||
| Azure Event Hubs | `Event Hubs` |
|
||||
|
||||
## Integration
|
||||
|
||||
| Service | `serviceName` Value |
|
||||
|---------|-------------------|
|
||||
| Azure Service Bus | `Service Bus` |
|
||||
| Azure Logic Apps | `Logic Apps` |
|
||||
| Azure API Management | `API Management` |
|
||||
| Azure Event Grid | `Event Grid` |
|
||||
|
||||
## Management & Monitoring
|
||||
|
||||
| Service | `serviceName` Value |
|
||||
|---------|-------------------|
|
||||
| Azure Monitor | `Azure Monitor` |
|
||||
| Azure Log Analytics | `Log Analytics` |
|
||||
| Azure Key Vault | `Key Vault` |
|
||||
| Azure Backup | `Backup` |
|
||||
|
||||
## Web
|
||||
|
||||
| Service | `serviceName` Value |
|
||||
|---------|-------------------|
|
||||
| Azure Static Web Apps | `Azure Static Web Apps` |
|
||||
| Azure SignalR | `Azure SignalR Service` |
|
||||
|
||||
## Tips
|
||||
|
||||
- If you're unsure about a service name, **filter by `serviceFamily` first** to discover valid `serviceName` values in the response.
|
||||
- Example: `serviceFamily eq 'Databases' and armRegionName eq 'eastus'` will return all database service names.
|
||||
- Some services have multiple `serviceName` entries for different tiers or generations.
|
||||
Reference in New Issue
Block a user