16 KiB
| description | model | tools | |
|---|---|---|---|
| Comprehensive Microsoft 365 Copilot declarative agents development workflows: basic creation, advanced design, and validation using schema v1.5 with Microsoft 365 Agents Toolkit integration | GPT-4.1 |
|
Microsoft 365 Copilot Declarative Agents Development
A comprehensive prompt for creating, designing, and validating Microsoft 365 Copilot declarative agents using schema v1.5 specification with Microsoft 365 Agents Toolkit integration.
Workflow Selection
Choose your workflow based on your needs:
Type workflow:basic - For quick agent creation with essential capabilities
Type workflow:advanced - For complex agents with multiple capabilities and enterprise features
Type workflow:validation - For reviewing and validating existing agent manifests
Basic Agent Creation Workflow
Objective: Create a functional declarative agent quickly with essential capabilities
Step 1: Agent Concept Definition
Analyze the user's requirements and define:
- Primary purpose: What specific problem does this agent solve?
- Target audience: Who will use this agent?
- Key scenarios: 3-5 main use cases
- Success metrics: How will effectiveness be measured?
Step 2: Capability Selection
Choose from the 5 available capability types:
- WebSearch: For real-time information retrieval
- OneDriveAndSharePoint: For file operations and content management
- GraphConnectors: For custom data source integration
- Function: For custom API integrations and business logic
- MicrosoftGraph: For Microsoft 365 service integration
Step 3: Basic TypeSpec Definition
Generate a TypeSpec template:
import "@typespec/http";
import "@microsoft/declarative-agent-manifest";
using Microsoft.DeclarativeAgent;
@DeclarativeAgent
model MyAgent {
/** Agent name (max 100 characters) */
@maxLength(100)
name: string;
/** Agent description (max 1000 characters) */
@maxLength(1000)
description: string;
/** Agent instructions (max 8000 characters) */
@maxLength(8000)
instructions: string;
/** Agent capabilities */
capabilities: Capability[];
/** Conversation starters */
conversation_starters?: ConversationStarter[];
}
Step 4: Manifest Generation
Compile TypeSpec to JSON and validate against schema v1.5:
{
"$schema": "https://raw.githubusercontent.com/microsoft/copilot-studio-schemas/main/schemas/v1.5/declarative-copilot.schema.json",
"version": "v1.0",
"name": "[Agent Name]",
"description": "[Agent Description]",
"instructions": "[Detailed Instructions]",
"capabilities": [],
"conversation_starters": []
}
Step 5: Microsoft 365 Agents Toolkit Setup
- Install the Microsoft 365 Agents Toolkit VS Code extension
- Configure development environment:
npm install -g @microsoft/teamsapp-cli - Initialize agent project:
teamsapp new declarative-agent
Step 6: Local Testing
Use the Agents Playground for validation:
- Load manifest in toolkit
- Test conversation starters
- Validate capability responses
- Check character limits and constraints
Advanced Agent Design Workflow
Objective: Create sophisticated agents with multiple capabilities and enterprise-grade features
Step 1: Enterprise Requirements Analysis
Conduct comprehensive requirements gathering:
- Stakeholder interviews: Identify all user personas and their needs
- Business process mapping: Document current workflows and pain points
- Technical constraints: Identify security, compliance, and integration requirements
- Performance requirements: Define response time, throughput, and availability needs
Step 2: Multi-Capability Architecture
Design complex capability interactions:
model AdvancedAgent extends Agent {
/** Multi-capability workflow orchestration */
capability_workflows: CapabilityWorkflow[];
/** Advanced configuration options */
advanced_config: {
/** Token usage optimization */
token_optimization: boolean;
/** Response time targets */
performance_targets: PerformanceConfig;
/** Localization settings */
localization: LocalizationConfig;
};
}
model CapabilityWorkflow {
/** Workflow identifier */
id: string;
/** Workflow steps with capability orchestration */
steps: WorkflowStep[];
/** Error handling strategy */
error_handling: ErrorHandlingConfig;
}
Step 3: Advanced TypeSpec Patterns
Implement sophisticated TypeSpec patterns:
/** Function capability with custom authentication */
model CustomFunctionCapability extends Capability {
type: "Function";
function_definition: {
name: string;
description: string;
parameters: FunctionParameters;
/** Custom authentication configuration */
auth_config: {
type: "OAuth2" | "ApiKey" | "Custom";
scopes?: string[];
endpoints?: AuthEndpoints;
};
};
}
/** Graph Connector with advanced filtering */
model AdvancedGraphConnector extends Capability {
type: "GraphConnectors";
configuration: {
connection_id: string;
/** Advanced query capabilities */
query_enhancements: {
semantic_search: boolean;
result_ranking: RankingConfig;
content_filtering: FilterConfig;
};
};
}
Step 4: Enterprise Integration Patterns
Implement enterprise-grade integration patterns:
{
"capabilities": [
{
"type": "Function",
"function_definition": {
"name": "enterprise_data_integration",
"description": "Integrate with enterprise data systems",
"parameters": {
"type": "object",
"properties": {
"data_source": {
"type": "string",
"enum": ["crm", "erp", "custom_api"]
},
"query_parameters": {
"type": "object",
"additionalProperties": true
}
}
}
}
},
{
"type": "MicrosoftGraph",
"configuration": {
"scopes": [
"https://graph.microsoft.com/User.Read",
"https://graph.microsoft.com/Files.ReadWrite"
]
}
}
]
}
Step 5: Advanced Toolkit Integration
Leverage advanced toolkit features:
-
Environment Management:
{ "environments": { "development": { "manifest_path": "./manifests/dev-manifest.json", "test_data": "./test-data/dev-scenarios.json" }, "staging": { "manifest_path": "./manifests/staging-manifest.json", "test_data": "./test-data/staging-scenarios.json" }, "production": { "manifest_path": "./manifests/prod-manifest.json" } } } -
Performance Monitoring:
interface PerformanceConfig { response_time_target: number; // milliseconds token_usage_limit: number; concurrent_conversations: number; monitoring_endpoints: string[]; }
Step 6: Comprehensive Testing Strategy
Implement thorough testing protocols:
- Unit Testing: Test individual capability responses
- Integration Testing: Test capability interactions
- Performance Testing: Validate response times and token usage
- Security Testing: Verify authentication and authorization
- User Acceptance Testing: Validate against business requirements
Validation and Optimization Workflow
Objective: Review, validate, and optimize existing declarative agent manifests
Step 1: Manifest Analysis
Perform comprehensive manifest review:
interface ValidationChecklist {
/** Schema compliance validation */
schema_validation: {
version_compatibility: boolean;
required_fields: boolean;
character_limits: boolean;
array_constraints: boolean;
};
/** Best practices assessment */
best_practices: {
instruction_clarity: "poor" | "good" | "excellent";
capability_selection: "inefficient" | "adequate" | "optimal";
conversation_starters: "missing" | "basic" | "comprehensive";
error_handling: "none" | "basic" | "robust";
};
/** Performance optimization opportunities */
optimization_opportunities: OptimizationRecommendation[];
}
Step 2: Schema Validation
Validate against official schema v1.5:
# Using Microsoft 365 Agents Toolkit validation
teamsapp validate --manifest-path ./manifest.json
Common validation issues to check:
- Character limit violations (name: 100, description: 1000, instructions: 8000)
- Missing required fields
- Invalid capability configurations
- Malformed conversation starters
- Schema version compatibility
Step 3: Performance Optimization
Analyze and optimize for performance:
interface PerformanceOptimization {
/** Token usage optimization */
token_optimization: {
instruction_efficiency: number; // tokens saved
capability_consolidation: string[]; // redundant capabilities
response_optimization: string[]; // optimization suggestions
};
/** Response time optimization */
response_time: {
capability_ordering: string[]; // optimal execution order
parallel_execution: string[]; // parallelizable operations
caching_opportunities: string[]; // cacheable responses
};
}
Step 4: Security and Compliance Review
Conduct thorough security assessment:
{
"security_checklist": {
"authentication": {
"oauth_implementation": "required",
"scope_minimization": "required",
"token_management": "required"
},
"data_protection": {
"pii_handling": "compliant",
"data_encryption": "enforced",
"audit_logging": "enabled"
},
"compliance_frameworks": [
"GDPR",
"SOC2",
"ISO27001"
]
}
}
Step 5: User Experience Optimization
Enhance user interaction patterns:
{
"ux_improvements": {
"conversation_starters": [
{
"text": "Help me analyze sales data",
"context": "business_intelligence",
"expected_capabilities": ["Function", "MicrosoftGraph"]
}
],
"instruction_clarity": {
"role_definition": "clear",
"behavior_guidelines": "specific",
"limitation_awareness": "explicit"
},
"error_handling": {
"graceful_degradation": true,
"user_guidance": true,
"fallback_options": true
}
}
}
Step 6: Deployment Readiness Assessment
Evaluate production readiness:
interface DeploymentReadiness {
technical_requirements: {
schema_compliance: boolean;
performance_benchmarks: boolean;
security_validation: boolean;
integration_testing: boolean;
};
business_requirements: {
user_acceptance: boolean;
stakeholder_approval: boolean;
documentation_complete: boolean;
training_materials: boolean;
};
operational_requirements: {
monitoring_setup: boolean;
incident_response: boolean;
maintenance_procedures: boolean;
rollback_plan: boolean;
};
}
Microsoft 365 Agents Toolkit Integration Guide
Development Environment Setup
-
Install Prerequisites:
# Install Node.js and Teams Toolkit npm install -g @microsoft/teamsapp-cli # Install VS Code extension code --install-extension teamsdevapp.ms-teams-vscode-extension -
Project Initialization:
# Create new declarative agent project teamsapp new declarative-agent --name "MyAgent" # Navigate to project directory cd MyAgent # Install dependencies npm install
TypeSpec Development Workflow
-
Create TypeSpec Definition:
// models/agent.tsp import "@typespec/http"; import "@microsoft/declarative-agent-manifest"; using Microsoft.DeclarativeAgent; @DeclarativeAgent model MyBusinessAgent { name: "Business Intelligence Assistant"; description: "AI assistant for business data analysis and reporting"; instructions: `You are a business intelligence assistant specialized in data analysis...`; capabilities: [ { type: "Function", function_definition: { name: "analyze_sales_data", description: "Analyze sales performance data", parameters: SalesAnalysisParameters } } ]; } -
Compile to JSON:
# Compile TypeSpec to JSON manifest tsp compile models/agent.tsp --emit @microsoft/declarative-agent-manifest
Local Testing and Debugging
-
Agents Playground:
- Open VS Code with Microsoft 365 Agents Toolkit
- Load compiled manifest
- Test conversation flows
- Validate capability responses
-
Environment Variables:
{ "AGENT_MANIFEST_PATH": "./dist/manifest.json", "TEST_DATA_PATH": "./test-data/scenarios.json", "LOG_LEVEL": "debug" }
Production Deployment
-
Validation Pipeline:
# .github/workflows/validate-agent.yml name: Validate Declarative Agent on: [push, pull_request] jobs: validate: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Setup Node.js uses: actions/setup-node@v3 with: node-version: '18' - name: Install dependencies run: npm install - name: Validate manifest run: teamsapp validate --manifest-path ./dist/manifest.json -
Deployment Configuration:
{ "deployment": { "target": "microsoft365", "manifest_path": "./dist/manifest.json", "validation_required": true, "rollback_enabled": true } }
Best Practices and Guidelines
Character Limit Management
- Name: Maximum 100 characters - be concise and descriptive
- Description: Maximum 1000 characters - clear value proposition
- Instructions: Maximum 8000 characters - comprehensive but efficient
Capability Selection Strategy
- Start minimal: Begin with one primary capability
- Add strategically: Only add capabilities that provide unique value
- Test thoroughly: Validate each capability individually and in combination
- Monitor performance: Track token usage and response times
Conversation Starter Optimization
{
"conversation_starters": [
{
"text": "Analyze this quarter's sales performance",
"metadata": {
"category": "analysis",
"complexity": "medium",
"expected_tokens": 150
}
}
]
}
Error Handling Patterns
Implement robust error handling:
{
"error_handling": {
"capability_failures": {
"strategy": "graceful_degradation",
"fallback_message": "I encountered an issue with that request. Let me try a different approach."
},
"authentication_errors": {
"strategy": "user_guidance",
"message": "Please sign in to access this functionality."
}
}
}
Performance Optimization
- Token efficiency: Optimize instructions for clarity and brevity
- Capability ordering: Place most likely capabilities first
- Caching strategy: Implement appropriate caching for repeated queries
- Response time: Target sub-3-second response times for user queries
Security Considerations
- Minimal scopes: Request only necessary permissions
- Data validation: Validate all inputs and outputs
- Audit logging: Implement comprehensive audit trails
- Compliance: Ensure adherence to organizational policies
Ready to build your Microsoft 365 Copilot declarative agent? Choose your workflow and let's get started!