[
  {
    "id": "declarative-agent-basic",
    "name": "copilot-gpt-basic",
    "alias": "declarative-agent",
    "language": "common",
    "displayName": "Declarative Agent",
    "description": "Basic Declarative Agent without action"
  },
  {
    "id": "declarative-agent-basic-csharp",
    "name": "copilot-gpt-basic",
    "alias": "declarative-agent",
    "language": "csharp",
    "displayName": "Declarative Agent",
    "description": "Basic Declarative Agent without action"
  },
  {
    "id": "declarative-agent-with-action-from-scratch-ts",
    "name": "api-plugin-from-scratch",
    "alias": "declarative-agent-action",
    "language": "typescript",
    "displayName": "Declarative Agent with Action from Scratch",
    "description": "Declarative Agent with a new action built from scratch"
  },
  {
    "id": "declarative-agent-with-action-from-scratch-js",
    "name": "api-plugin-from-scratch",
    "alias": "declarative-agent-action",
    "language": "javascript",
    "displayName": "Declarative Agent with Action from Scratch",
    "description": "Declarative Agent with a new action built from scratch"
  },
  {
    "id": "declarative-agent-with-action-from-scratch-csharp",
    "name": "api-plugin-from-scratch",
    "alias": "declarative-agent-action",
    "language": "csharp",
    "displayName": "Declarative Agent with Action from Scratch",
    "description": "Declarative Agent with a new action built from scratch"
  },
  {
    "id": "declarative-agent-with-action-from-scratch-bearer-ts",
    "name": "api-plugin-from-scratch-bearer",
    "alias": "declarative-agent-action-bearer",
    "language": "typescript",
    "displayName": "Declarative Agent with Action from Scratch (Bearer Token)",
    "description": "Declarative Agent with a new action built from scratch using Bearer Token authentication"
  },
  {
    "id": "declarative-agent-with-action-from-scratch-bearer-js",
    "name": "api-plugin-from-scratch-bearer",
    "alias": "declarative-agent-action-bearer",
    "language": "javascript",
    "displayName": "Declarative Agent with Action from Scratch (Bearer Token)",
    "description": "Declarative Agent with a new action built from scratch using Bearer Token authentication"
  },
  {
    "id": "declarative-agent-with-action-from-scratch-bearer-csharp",
    "name": "api-plugin-from-scratch-bearer",
    "alias": "declarative-agent-action-bearer",
    "language": "csharp",
    "displayName": "Declarative Agent with Action from Scratch (Bearer Token)",
    "description": "Declarative Agent with a new action built from scratch using Bearer Token authentication"
  },
  {
    "id": "declarative-agent-with-action-from-scratch-oauth-ts",
    "name": "api-plugin-from-scratch-oauth",
    "alias": "declarative-agent-action-oauth",
    "language": "typescript",
    "displayName": "Declarative Agent with Action from Scratch (OAuth)",
    "description": "Declarative Agent with a new action built from scratch using OAuth authentication"
  },
  {
    "id": "declarative-agent-with-action-from-scratch-oauth-js",
    "name": "api-plugin-from-scratch-oauth",
    "alias": "declarative-agent-action-oauth",
    "language": "javascript",
    "displayName": "Declarative Agent with Action from Scratch (OAuth)",
    "description": "Declarative Agent with a new action built from scratch using OAuth authentication"
  },
  {
    "id": "declarative-agent-with-action-from-scratch-oauth-csharp",
    "name": "api-plugin-from-scratch-oauth",
    "alias": "declarative-agent-action-oauth",
    "language": "csharp",
    "displayName": "Declarative Agent with Action from Scratch (OAuth)",
    "description": "Declarative Agent with a new action built from scratch using OAuth authentication"
  },
  {
    "id": "declarative-agent-with-action-from-existing-api",
    "name": "api-plugin-from-existing-api",
    "alias": "declarative-agent-action-from-existing-api",
    "language": "none",
    "displayName": "Declarative Agent with Action from Existing API",
    "description": "Declarative Agent with action from an existing API specification"
  },
  {
    "id": "declarative-agent-with-action-from-existing-api-csharp",
    "name": "api-plugin-from-existing-api",
    "alias": "declarative-agent-action-from-existing-api",
    "language": "csharp",
    "displayName": "Declarative Agent with Action from Existing API",
    "description": "Declarative Agent with action from an existing API specification"
  },
  {
    "id": "declarative-agent-meta-os-new-project",
    "name": "declarative-agent-meta-os-new-project",
    "language": "common",
    "displayName": "Declarative Agent for MetaOS (New Project)",
    "description": "Declarative Agent for MetaOS - new project"
  },
  {
    "id": "declarative-agent-meta-os-upgrade-project",
    "name": "declarative-agent-meta-os-upgrade-project",
    "language": "common",
    "displayName": "Declarative Agent for MetaOS (Upgrade Project)",
    "description": "Declarative Agent for MetaOS - upgrade existing project"
  },
  {
    "id": "declarative-agent-with-action-from-mcp",
    "name": "declarative-agent-with-action-from-mcp",
    "language": "common",
    "displayName": "Declarative Agent with Action from MCP Server",
    "description": "Declarative Agent with action from Model Context Protocol (MCP)"
  },
  {
    "id": "declarative-agent-with-graph-connector-ts",
    "name": "declarative-agent-with-graph-connector",
    "language": "typescript",
    "displayName": "Declarative Agent with Copilot Connector",
    "description": "Declarative Agent with Microsoft Copilot Connector integration"
  },
  {
    "id": "declarative-agent-typespec",
    "name": "declarative-agent-typespec",
    "language": "common",
    "displayName": "Declarative Agent from TypeSpec",
    "description": "Declarative Agent with or without an action using TypeSpec"
  },
  {
    "id": "basic-custom-engine-agent-ts",
    "name": "basic-custom-engine-agent",
    "language": "typescript",
    "displayName": "Basic Custom Engine Agent",
    "description": "Intelligent agent that is built with Microsoft 365 Agents SDK and connects to your LLM"
  },
  {
    "id": "basic-custom-engine-agent-js",
    "name": "basic-custom-engine-agent",
    "language": "javascript",
    "displayName": "Basic Custom Engine Agent",
    "description": "Intelligent agent that is built with Microsoft 365 Agents SDK and connects to your LLM"
  },
  {
    "id": "basic-custom-engine-agent-python",
    "name": "basic-custom-engine-agent",
    "language": "python",
    "displayName": "Basic Custom Engine Agent",
    "description": "Intelligent agent that is built with Microsoft 365 Agents SDK and connects to your LLM"
  },
  {
    "id": "weather-agent-ts",
    "name": "weather-agent",
    "language": "typescript",
    "displayName": "Weather Agent",
    "description": "A weather forecast agent that is built with Microsoft 365 Agents SDK and LangChain"
  },
  {
    "id": "weather-agent-js",
    "name": "weather-agent",
    "language": "javascript",
    "displayName": "Weather Agent",
    "description": "A weather forecast agent that is built with Microsoft 365 Agents SDK and LangChain"
  },
  {
    "id": "custom-copilot-weather-agent-csharp",
    "name": "weather-agent",
    "language": "csharp",
    "displayName": "Weather Agent",
    "description": "A weather forecast agent that is built with Microsoft 365 Agents SDK and LangChain"
  },
  {
    "id": "custom-copilot-travel-agent-csharp",
    "name": "travel-agent",
    "language": "csharp",
    "displayName": "Travel Agent",
    "description": "A travel planning agent, which is built with Microsoft 365 Agents SDK, Microsoft 365 Retrieval API and Agent Framework"
  },
  {
    "id": "graph-connector-ts",
    "name": "graph-connector",
    "alias": "copilot-connector",
    "language": "typescript",
    "displayName": "Copilot Connector",
    "description": "Embed your organization data to make it searchable in Microsoft 365 Copilot"
  },
  {
    "id": "custom-copilot-basic-ts",
    "name": "custom-copilot-basic",
    "alias": "teams-agent",
    "language": "typescript",
    "displayName": "General Teams Agent",
    "description": "Agent that chats with users in Teams built with Teams AI Library and connects to LLMs"
  },
  {
    "id": "custom-copilot-basic-js",
    "name": "custom-copilot-basic",
    "alias": "teams-agent",
    "language": "javascript",
    "displayName": "General Teams Agent",
    "description": "Agent that chats with users in Teams built with Teams AI Library and connects to LLMs"
  },
  {
    "id": "custom-copilot-basic-csharp",
    "name": "custom-copilot-basic",
    "alias": "teams-agent",
    "language": "csharp",
    "displayName": "General Teams Agent",
    "description": "Agent that chats with users in Teams built with Teams AI Library and connects to LLMs"
  },
  {
    "id": "custom-copilot-basic-python",
    "name": "custom-copilot-basic",
    "alias": "teams-agent",
    "language": "python",
    "displayName": "General Teams Agent",
    "description": "Agent that chats with users in Teams built with Teams AI Library and connects to LLMs"
  },
  {
    "id": "custom-copilot-rag-customize-ts",
    "name": "custom-copilot-rag-customize",
    "alias": "teams-agent-rag-customize",
    "language": "typescript",
    "displayName": "Teams Agent with Data from Customized Source",
    "description": "Agent that uses your content and knowledge to accurately answer domain-specific questions"
  },
  {
    "id": "custom-copilot-rag-customize-js",
    "name": "custom-copilot-rag-customize",
    "alias": "teams-agent-rag-customize",
    "language": "javascript",
    "displayName": "Teams Agent with Data from Customized Source",
    "description": "Agent that uses your content and knowledge to accurately answer domain-specific questions"
  },
  {
    "id": "custom-copilot-rag-customize-csharp",
    "name": "custom-copilot-rag-customize",
    "alias": "teams-agent-rag-customize",
    "language": "csharp",
    "displayName": "Teams Agent with Data from Customized Source",
    "description": "Agent that uses your content and knowledge to accurately answer domain-specific questions"
  },
  {
    "id": "custom-copilot-rag-customize-python",
    "name": "custom-copilot-rag-customize",
    "alias": "teams-agent-rag-customize",
    "language": "python",
    "displayName": "Teams Agent with Data from Customized Source",
    "description": "Agent that uses your content and knowledge to accurately answer domain-specific questions"
  },
  {
    "id": "custom-copilot-rag-azure-ai-search-ts",
    "name": "custom-copilot-rag-azure-ai-search",
    "alias": "teams-agent-rag-azure-ai-search",
    "language": "typescript",
    "displayName": "Teams Agent with Data from Azure AI Search",
    "description": "Agent that uses your content and knowledge to accurately answer domain-specific questions"
  },
  {
    "id": "custom-copilot-rag-azure-ai-search-js",
    "name": "custom-copilot-rag-azure-ai-search",
    "alias": "teams-agent-rag-azure-ai-search",
    "language": "javascript",
    "displayName": "Teams Agent with Data from Azure AI Search",
    "description": "Agent that uses your content and knowledge to accurately answer domain-specific questions"
  },
  {
    "id": "custom-copilot-rag-azure-ai-search-csharp",
    "name": "custom-copilot-rag-azure-ai-search",
    "alias": "teams-agent-rag-azure-ai-search",
    "language": "csharp",
    "displayName": "Teams Agent with Data from Azure AI Search",
    "description": "Agent that uses your content and knowledge to accurately answer domain-specific questions"
  },
  {
    "id": "custom-copilot-rag-azure-ai-search-python",
    "name": "custom-copilot-rag-azure-ai-search",
    "alias": "teams-agent-rag-azure-ai-search",
    "language": "python",
    "displayName": "Teams Agent with Data from Azure AI Search",
    "description": "Agent that uses your content and knowledge to accurately answer domain-specific questions"
  },
  {
    "id": "custom-copilot-rag-custom-api-ts",
    "name": "custom-copilot-rag-custom-api",
    "alias": "teams-agent-rag-custom-api",
    "language": "typescript",
    "displayName": "Teams Agent with Data from Custom API using OpenAPI Spec",
    "description": "Agent that uses your content and knowledge to accurately answer domain-specific questions"
  },
  {
    "id": "custom-copilot-rag-custom-api-js",
    "name": "custom-copilot-rag-custom-api",
    "alias": "teams-agent-rag-custom-api",
    "language": "javascript",
    "displayName": "Teams Agent with Data from Custom API using OpenAPI Spec",
    "description": "Agent that uses your content and knowledge to accurately answer domain-specific questions"
  },
  {
    "id": "teams-agent-with-data-custom-api-v2-csharp",
    "name": "custom-copilot-rag-custom-api",
    "alias": "teams-agent-rag-custom-api",
    "language": "csharp",
    "displayName": "Teams Agent with Data from Custom API using OpenAPI Spec",
    "description": "Agent that uses your content and knowledge to accurately answer domain-specific questions"
  },
  {
    "id": "teams-agent-with-data-custom-api-v2-python",
    "name": "custom-copilot-rag-custom-api",
    "alias": "teams-agent-rag-custom-api",
    "language": "python",
    "displayName": "Teams Agent with Data from Custom API using OpenAPI Spec",
    "description": "Agent that uses your content and knowledge to accurately answer domain-specific questions"
  },
  {
    "id": "teams-collaborator-agent-ts",
    "name": "teams-collaborator-agent",
    "language": "typescript",
    "displayName": "Teams Collaborator Agent",
    "description": "Agent that enhances collaboration in group chat, channels or meetings through summarization, task management, and conversation search"
  },
  {
    "id": "teams-collaborator-agent-csharp",
    "name": "teams-collaborator-agent",
    "language": "csharp",
    "displayName": "Teams Collaborator Agent",
    "description": "Agent that enhances collaboration in group chat, channels or meetings through summarization, task management, and conversation search"
  },
  {
    "id": "basic-tab-ts",
    "name": "non-sso-tab",
    "alias": "tab",
    "language": "typescript",
    "displayName": "Tab",
    "description": "A simple implementation of a web app that's ready to customize"
  },
  {
    "id": "default-bot-ts",
    "name": "default-bot",
    "alias": "bot",
    "language": "typescript",
    "displayName": "Simple Bot",
    "description": "A simple implementation of an echo bot that's ready for customization"
  },
  {
    "id": "default-bot-js",
    "name": "default-bot",
    "alias": "bot",
    "language": "javascript",
    "displayName": "Simple Bot",
    "description": "A simple implementation of an echo bot that's ready for customization"
  },
  {
    "id": "default-bot-python",
    "name": "default-bot",
    "alias": "bot",
    "language": "python",
    "displayName": "Simple Bot",
    "description": "A simple implementation of an echo bot that's ready for customization"
  },
  {
    "id": "message-extension-v2-ts",
    "name": "default-message-extension",
    "alias": "message-extension",
    "language": "typescript",
    "displayName": "Message Extension",
    "description": "Receive user input, process it, and send customized results"
  },
  {
    "id": "message-extension-v2-python",
    "name": "default-message-extension",
    "alias": "message-extension",
    "language": "python",
    "displayName": "Message Extension",
    "description": "Receive user input, process it, and send customized results"
  },
  {
    "id": "office-addin-outlook-taskpane-ts",
    "name": "office-addin-outlook-taskpane",
    "language": "typescript",
    "displayName": "Outlook Task Pane Add-in",
    "description": "Build a task pane add-in for Outlook"
  },
  {
    "id": "office-addin-wxpo-taskpane-ts",
    "name": "office-addin-wxpo-taskpane",
    "language": "typescript",
    "displayName": "Office Task Pane Add-in",
    "description": "Build a task pane add-in for Word, Excel, or PowerPoint"
  },
  {
    "id": "office-addin-excel-cfshortcut-ts",
    "name": "office-addin-excel-cfshortcut",
    "language": "typescript",
    "displayName": "Excel Custom Functions",
    "description": "Create custom functions in Excel with keyboard shortcuts"
  },
  {
    "id": "office-addin-config-ts",
    "name": "office-addin-config",
    "language": "typescript",
    "displayName": "Office Add-in Common Configuration",
    "description": "Common configuration for Office Add-ins"
  },
  {
    "id": "non-sso-tab-ssr-cs",
    "name": "non-sso-tab-ssr",
    "language": "csharp",
    "displayName": "Tab (Server-Side Rendering)",
    "description": "Simple Teams Tab App"
  },
  {
    "id": "sso-tab-ssr-cs",
    "name": "sso-tab-ssr",
    "language": "csharp",
    "displayName": "Tab with SSO (Server-Side Rendering)",
    "description": "Simple Teams Tab App with SSO"
  },
  {
    "id": "empty-csharp",
    "name": "empty",
    "language": "csharp",
    "displayName": "Empty Project",
    "description": "Start with a minimal Teams app project"
  },
  {
    "id": "message-extension-search-csharp",
    "name": "message-extension-search",
    "language": "csharp",
    "displayName": "Message Extension (Search)",
    "description": "Search-based message extension for Teams"
  },
  {
    "id": "basic-tab-csharp",
    "name": "non-sso-tab",
    "language": "csharp",
    "displayName": "Basic Tab",
    "description": "Simple Teams Tab App"
  },
  {
    "id": "default-bot-csharp",
    "name": "default-bot",
    "language": "csharp",
    "displayName": "Echo Bot",
    "description": "A simple implementation of an echo bot that's ready for customization"
  },
  {
    "id": "message-extension-v2-csharp",
    "name": "default-message-extension",
    "language": "csharp",
    "displayName": "Message Extension",
    "description": "Receive user input, process it, and send customized results"
  },
  {
    "id": "foundry-proxy-agent-csharp",
    "name": "foundry-proxy-agent",
    "language": "csharp",
    "displayName": "Microsoft Foundry Proxy Agent",
    "description": "An agent that proxies requests to Microsoft Azure AI Foundry agents, enabling Teams and M365 Copilot integration"
  },
  {
    "id": "foundry-agent-to-m365-ts",
    "name": "foundry-agent-to-m365",
    "language": "typescript",
    "displayName": "Foundry Agent",
    "description": "An Microsoft 365 Agent that connects to Microsoft AI Foundry Agent."
  }
]