@microsoft/teamsfx-core 3.0.6 → 3.0.7-alpha.bfab5b0bc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/build/{component/driver/aad/utility → client}/aadAppClient.d.ts +4 -4
  2. package/build/client/aadAppClient.d.ts.map +1 -0
  3. package/build/{component/driver/aad/utility → client}/aadAppClient.js +10 -10
  4. package/build/client/aadAppClient.js.map +1 -0
  5. package/build/client/interfaces/aad/IAADDefinition.d.ts.map +1 -0
  6. package/build/client/interfaces/aad/IAADDefinition.js.map +1 -0
  7. package/build/client/teamsDevPortalClient.d.ts +3 -0
  8. package/build/client/teamsDevPortalClient.d.ts.map +1 -1
  9. package/build/client/teamsDevPortalClient.js +34 -0
  10. package/build/client/teamsDevPortalClient.js.map +1 -1
  11. package/build/common/featureFlags.d.ts +5 -0
  12. package/build/common/featureFlags.d.ts.map +1 -1
  13. package/build/common/featureFlags.js +5 -0
  14. package/build/common/featureFlags.js.map +1 -1
  15. package/build/common/templates-config.json +2 -2
  16. package/build/common/wrappedAxiosClient.d.ts.map +1 -1
  17. package/build/common/wrappedAxiosClient.js +3 -0
  18. package/build/common/wrappedAxiosClient.js.map +1 -1
  19. package/build/component/configManager/validator.d.ts.map +1 -1
  20. package/build/component/configManager/validator.js +1 -0
  21. package/build/component/configManager/validator.js.map +1 -1
  22. package/build/component/driver/aad/create.d.ts.map +1 -1
  23. package/build/component/driver/aad/create.js +19 -3
  24. package/build/component/driver/aad/create.js.map +1 -1
  25. package/build/component/driver/aad/interface/createAadAppArgs.d.ts +1 -0
  26. package/build/component/driver/aad/interface/createAadAppArgs.d.ts.map +1 -1
  27. package/build/component/driver/aad/update.js +1 -1
  28. package/build/component/driver/aad/update.js.map +1 -1
  29. package/build/component/driver/aad/utility/constants.d.ts +1 -0
  30. package/build/component/driver/aad/utility/constants.d.ts.map +1 -1
  31. package/build/component/driver/aad/utility/constants.js +1 -0
  32. package/build/component/driver/aad/utility/constants.js.map +1 -1
  33. package/build/component/driver/botAadApp/create.js +1 -1
  34. package/build/component/driver/botAadApp/create.js.map +1 -1
  35. package/build/component/driver/botFramework/createOrUpdateBot.d.ts.map +1 -1
  36. package/build/component/driver/botFramework/createOrUpdateBot.js +1 -0
  37. package/build/component/driver/botFramework/createOrUpdateBot.js.map +1 -1
  38. package/build/component/driver/teamsApp/constants.d.ts +1 -0
  39. package/build/component/driver/teamsApp/constants.d.ts.map +1 -1
  40. package/build/component/driver/teamsApp/constants.js +1 -0
  41. package/build/component/driver/teamsApp/constants.js.map +1 -1
  42. package/build/component/feature/collaboration.js +1 -1
  43. package/build/component/feature/collaboration.js.map +1 -1
  44. package/build/component/generator/officeAddin/generator.d.ts.map +1 -1
  45. package/build/component/generator/officeAddin/generator.js +1 -0
  46. package/build/component/generator/officeAddin/generator.js.map +1 -1
  47. package/build/component/generator/openApiSpec/helper.d.ts.map +1 -1
  48. package/build/component/generator/openApiSpec/helper.js +60 -41
  49. package/build/component/generator/openApiSpec/helper.js.map +1 -1
  50. package/build/component/generator/templates/metadata/me.d.ts.map +1 -1
  51. package/build/component/generator/templates/metadata/me.js +6 -0
  52. package/build/component/generator/templates/metadata/me.js.map +1 -1
  53. package/build/component/generator/templates/metadata/special.js +1 -1
  54. package/build/component/generator/templates/metadata/special.js.map +1 -1
  55. package/build/component/generator/templates/metadata/tab.d.ts.map +1 -1
  56. package/build/component/generator/templates/metadata/tab.js +6 -0
  57. package/build/component/generator/templates/metadata/tab.js.map +1 -1
  58. package/build/component/generator/templates/metadata/wxp.d.ts.map +1 -1
  59. package/build/component/generator/templates/metadata/wxp.js +6 -0
  60. package/build/component/generator/templates/metadata/wxp.js.map +1 -1
  61. package/build/component/generator/templates/templateNames.d.ts +1 -0
  62. package/build/component/generator/templates/templateNames.d.ts.map +1 -1
  63. package/build/component/generator/templates/templateNames.js +1 -0
  64. package/build/component/generator/templates/templateNames.js.map +1 -1
  65. package/build/component/resource/botService/appStudio/interfaces/IBotRegistration.d.ts +1 -0
  66. package/build/component/resource/botService/appStudio/interfaces/IBotRegistration.d.ts.map +1 -1
  67. package/build/component/resource/botService/botRegistration/utils.d.ts.map +1 -1
  68. package/build/component/resource/botService/botRegistration/utils.js +1 -0
  69. package/build/component/resource/botService/botRegistration/utils.js.map +1 -1
  70. package/build/question/scaffold/vs/createRootNode.d.ts.map +1 -1
  71. package/build/question/scaffold/vs/createRootNode.js +10 -9
  72. package/build/question/scaffold/vs/createRootNode.js.map +1 -1
  73. package/build/question/scaffold/vsc/CapabilityOptions.d.ts +1 -0
  74. package/build/question/scaffold/vsc/CapabilityOptions.d.ts.map +1 -1
  75. package/build/question/scaffold/vsc/CapabilityOptions.js +8 -0
  76. package/build/question/scaffold/vsc/CapabilityOptions.js.map +1 -1
  77. package/build/question/scaffold/vsc/createRootNode.d.ts.map +1 -1
  78. package/build/question/scaffold/vsc/createRootNode.js +1 -0
  79. package/build/question/scaffold/vsc/createRootNode.js.map +1 -1
  80. package/build/question/scaffold/vsc/officeAddinProjectTypeNode.d.ts.map +1 -1
  81. package/build/question/scaffold/vsc/officeAddinProjectTypeNode.js +3 -0
  82. package/build/question/scaffold/vsc/officeAddinProjectTypeNode.js.map +1 -1
  83. package/build/tsconfig.tsbuildinfo +1 -1
  84. package/package.json +6 -5
  85. package/resource/package.nls.json +3 -0
  86. package/resource/template-info/vsc.json +536 -0
  87. package/resource/yaml-schema/v1.11/yaml.schema.json +2068 -0
  88. package/resource/yaml-schema/yaml.schema.json +12 -2
  89. package/templates/fallback/common.zip +0 -0
  90. package/templates/fallback/csharp.zip +0 -0
  91. package/templates/fallback/js.zip +0 -0
  92. package/templates/fallback/python.zip +0 -0
  93. package/templates/fallback/ts.zip +0 -0
  94. package/build/component/driver/aad/interface/IAADDefinition.d.ts.map +0 -1
  95. package/build/component/driver/aad/interface/IAADDefinition.js.map +0 -1
  96. package/build/component/driver/aad/utility/aadAppClient.d.ts.map +0 -1
  97. package/build/component/driver/aad/utility/aadAppClient.js.map +0 -1
  98. /package/build/{component/driver/aad/interface → client/interfaces/aad}/IAADDefinition.d.ts +0 -0
  99. /package/build/{component/driver/aad/interface → client/interfaces/aad}/IAADDefinition.js +0 -0
@@ -0,0 +1,536 @@
1
+ [
2
+ {
3
+ "nodes": [
4
+ {
5
+ "nodeId": "project-type",
6
+ "optionId": "copilot-agent-type",
7
+ "optionLabel": "Declarative Agent"
8
+ },
9
+ {
10
+ "nodeId": "with-plugin",
11
+ "optionId": "no",
12
+ "optionLabel": "No Action"
13
+ }
14
+ ],
15
+ "templateName": "copilot-gpt-basic",
16
+ "description": "Create your own agent by declaring instructions, actions, & knowledge to suit your needs. - Create declarative agent only",
17
+ "readme": "# Overview of the Declarative Agent template\n\nWith the declarative agent, you can build a custom version of Copilot that can be used for specific scenarios, such as for specialized knowledge, implementing specific processes, or simply to save time by reusing a set of AI prompts. For example, a grocery shopping Copilot declarative agent can be used to create a grocery list based on a meal plan that you send to Copilot.\n\n## Get started with the template\n\n> **Prerequisites**\n>\n> To run this app template in your local dev machine, you will need:\n>\n> - [Node.js](https://nodejs.org/), supported versions: 18, 20, 22\n> - A [Microsoft 365 account for development](https://docs.microsoft.com/microsoftteams/platform/toolkit/accounts).\n> - [Microsoft 365 Agents Toolkit Visual Studio Code Extension](https://aka.ms/teams-toolkit) version 5.0.0 and higher or [Microsoft 365 Agents Toolkit CLI](https://aka.ms/teamsfx-toolkit-cli)\n> - [Microsoft 365 Copilot license](https://learn.microsoft.com/microsoft-365-copilot/extensibility/prerequisites#prerequisites)\n\n![image](https://github.com/user-attachments/assets/51a221bb-a2c6-4dbf-8009-d2aa20a1638f)\n\n1. First, select the Microsoft 365 Agents Toolkit icon on the left in the VS Code toolbar.\n2. In the Account section, sign in with your [Microsoft 365 account](https://docs.microsoft.com/microsoftteams/platform/toolkit/accounts) if you haven't already.\n3. Create app by clicking `Provision` in \"Lifecycle\" section.\n4. Select `Preview in Copilot (Edge)` or `Preview in Copilot (Chrome)` from the launch configuration dropdown.\n5. Once the Copilot agent is loaded in the browser, click on the \"…\" menu and select \"Copilot chats\". You will see your declarative agent on the right rail. Clicking on it will change the experience to showcase the logo and name of your declarative agent.\n6. Ask a question to your declarative agent and it should respond based on the instructions provided.\n\n## What's included in the template\n\n| Folder | Contents |\n| ------------ | ---------------------------------------------------------------------------------------- |\n| `.vscode` | VSCode files for debugging |\n| `appPackage` | Templates for the application manifest, the GPT manifest and the API specification |\n| `env` | Environment files |\n\nThe following files can be customized and demonstrate an example implementation to get you started.\n\n| File | Contents |\n| ---------------------------------- | ---------------------------------------------------------------------------- |\n| `appPackage/declarativeAgent.json` | Define the behaviour and configurations of the declarative agent. |\n| `appPackage/manifest.json` | application manifest that defines metadata for your declarative agent. |\n\nThe following are Microsoft 365 Agents Toolkit specific project files. You can [visit a complete guide on Github](https://github.com/OfficeDev/TeamsFx/wiki/Teams-Toolkit-Visual-Studio-Code-v5-Guide#overview) to understand how Microsoft 365 Agents Toolkit works.\n\n| File | Contents |\n| -------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |\n| `m365agents.yml` | This is the main Microsoft 365 Agents Toolkit project file. The project file defines two primary things: Properties and configuration Stage definitions. |\n\n## Extend the template\n\n- [Add conversation starters](https://learn.microsoft.com/microsoft-365-copilot/extensibility/build-declarative-agents?tabs=ttk&tutorial-step=3): Conversation starters are hints that are displayed to the user to demonstrate how they can get started using the declarative agent.\n- [Add web content](https://learn.microsoft.com/microsoft-365-copilot/extensibility/build-declarative-agents?tabs=ttk&tutorial-step=4) for the ability to search web information.\n- [Add OneDrive and SharePoint content](https://learn.microsoft.com/microsoft-365-copilot/extensibility/build-declarative-agents?tabs=ttk&tutorial-step=5) as grounding knowledge for the agent.\n- [Add Microsoft Copilot connectors content](https://learn.microsoft.com/microsoft-365-copilot/extensibility/build-declarative-agents?tabs=ttk&tutorial-step=6) to ground agent with enterprise knowledge.\n- [Add API plugins](https://learn.microsoft.com/microsoft-365-copilot/extensibility/build-declarative-agents?tabs=ttk&tutorial-step=7) for agent to interact with REST APIs.\n\n## Addition information and references\n\n- [Declarative agents for Microsoft 365](https://aka.ms/teams-toolkit-declarative-agent)\n",
18
+ "supportedLanguages": [
19
+ "common"
20
+ ],
21
+ "templateIds": [
22
+ "declarative-agent-basic"
23
+ ]
24
+ },
25
+ {
26
+ "nodes": [
27
+ {
28
+ "nodeId": "project-type",
29
+ "optionId": "copilot-agent-type",
30
+ "optionLabel": "Declarative Agent"
31
+ },
32
+ {
33
+ "nodeId": "with-plugin",
34
+ "optionId": "yes",
35
+ "optionLabel": "Add an Action"
36
+ },
37
+ {
38
+ "nodeId": "api-plugin-type",
39
+ "optionId": "new-api",
40
+ "optionLabel": "Start with a New API"
41
+ },
42
+ {
43
+ "nodeId": "api-auth",
44
+ "optionId": "none",
45
+ "optionLabel": "None"
46
+ }
47
+ ],
48
+ "templateName": "api-plugin-from-scratch",
49
+ "description": "Create your own agent by declaring instructions, actions, & knowledge to suit your needs. - Create a declarative agent with an action - Create an action with a new API from Azure Functions",
50
+ "readme": "# Overview of the Declarative Agent with API Plugin template\n\n## Build a Declarative Agent with API Plugin from a new API with Azure Functions\n\nWith the declarative agent, you can build a custom version of Copilot that can be used for specific scenarios, such as for specialized knowledge, implementing specific processes, or simply to save time by reusing a set of AI prompts. For example, a grocery shopping Copilot declarative agent can be used to create a grocery list based on a meal plan that you send to Copilot.\n\nYou can extend declarative agents using plugins to retrieve data and execute tasks on external systems. A declarative agent can utilize multiple plugins at the same time.\n![image](https://github.com/user-attachments/assets/9939972e-0449-410c-b237-d9d748cd6628)\n\n## Get started with the template\n\n> **Prerequisites**\n>\n> To run this app template in your local dev machine, you will need:\n>\n> - [Node.js](https://nodejs.org/), supported versions: 18, 20, 22\n> - A [Microsoft 365 account for development](https://docs.microsoft.com/microsoftteams/platform/toolkit/accounts)\n> - [Microsoft 365 Agents Toolkit Visual Studio Code Extension](https://aka.ms/teams-toolkit) version 5.0.0 and higher or [Microsoft 365 Agents Toolkit CLI](https://aka.ms/teams-toolkit-cli)\n> - [Microsoft 365 Copilot license](https://learn.microsoft.com/microsoft-365-copilot/extensibility/prerequisites#prerequisites)\n\n1. First, select the Microsoft 365 Agents Toolkit icon on the left in the VS Code toolbar.\n2. In the Account section, sign in with your [Microsoft 365 account](https://docs.microsoft.com/microsoftteams/platform/toolkit/accounts) if you haven't already.\n3. Select `Debug in Copilot (Edge)` or `Debug in Copilot (Chrome)` from the launch configuration dropdown.\n4. Select your declarative agent from the `Copilot` app.\n5. Send a message to Copilot to find a repair record.\n\n## What's included in the template\n\n| Folder | Contents |\n| ------------ | ------------------------------------------------------------------------------------------- |\n| `.vscode` | VSCode files for debugging |\n| `appPackage` | Templates for the application manifest, the plugin manifest and the API specification |\n| `env` | Environment files |\n| `infra` | Templates for provisioning Azure resources |\n| `src` | The source code for the repair API |\n\nThe following files can be customized and demonstrate an example implementation to get you started.\n\n| File | Contents |\n| ----------------------------------------------- | ------------------------------------------------------------------------------------------------- |\n| `src/functions/repairs.js` | The main file of a function in Azure Functions. |\n| `src/repairsData.json` | The data source for the repair API. |\n| `appPackage/apiSpecificationFile/repair.yml` | A file that describes the structure and behavior of the repair API. |\n| `appPackage/manifest.json` | application manifest that defines metadata for your plugin inside Microsoft Teams. |\n| `appPackage/ai-plugin.json` | The manifest file for your API Plugin that contains information for your API and used by LLM. |\n| `appPackage/repairDeclarativeAgent.json` | Define the behaviour and configurations of the declarative agent. |\n| `appPackage/adaptiveCards/listRepairs.json` | Adaptive Card file used to render a result from the plugin response. |\n| `appPackage/adaptiveCards/listRepairs.data.json`| Sample mock data file for adaptive card. |\n\nThe following are Microsoft 365 Agents Toolkit specific project files. You can [visit a complete guide on Github](https://github.com/OfficeDev/TeamsFx/wiki/Teams-Toolkit-Visual-Studio-Code-v5-Guide#overview) to understand how Microsoft 365 Agents Toolkit works.\n\n| File | Contents |\n| -------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |\n| `m365agents.yml` | This is the main Microsoft 365 Agents Toolkit project file. The project file defines two primary things: Properties and configuration Stage definitions. |\n| `m365agents.local.yml` | This overrides `m365agents.yml` with actions that enable local execution and debugging. |\n\n## Extend the template\n\n- [Add conversation starters](https://learn.microsoft.com/microsoft-365-copilot/extensibility/build-declarative-agents?tabs=ttk&tutorial-step=3): Conversation starters are hints that are displayed to the user to demonstrate how they can get started using the declarative agent.\n- [Add web content](https://learn.microsoft.com/microsoft-365-copilot/extensibility/build-declarative-agents?tabs=ttk&tutorial-step=4) for the ability to search web information.\n- [Add OneDrive and SharePoint content](https://learn.microsoft.com/microsoft-365-copilot/extensibility/build-declarative-agents?tabs=ttk&tutorial-step=5) as grounding knowledge for the agent.\n- [Add Microsoft Copilot connectors content](https://learn.microsoft.com/microsoft-365-copilot/extensibility/build-declarative-agents?tabs=ttk&tutorial-step=6) to ground agent with enterprise knowledge.\n- [Add API plugins](https://learn.microsoft.com/microsoft-365-copilot/extensibility/build-declarative-agents?tabs=ttk&tutorial-step=7) for agent to interact with REST APIs.\n\n\n## Addition information and references\n\n- [Declarative agents for Microsoft 365](https://aka.ms/teams-toolkit-declarative-agent)\n- [Extend Microsoft 365 Copilot](https://aka.ms/teamsfx-copilot-plugin)\n- [Message extensions for Microsoft 365 Copilot](https://learn.microsoft.com/microsoft-365-copilot/extensibility/overview-message-extension-bot)\n- [Microsoft Copilot connectors for Microsoft 365 Copilot](https://learn.microsoft.com/microsoft-365-copilot/extensibility/overview-graph-connector)\n- [Microsoft 365 Copilot extensibility samples](https://learn.microsoft.com/microsoft-365-copilot/extensibility/samples)\n",
51
+ "supportedLanguages": [
52
+ "typescript",
53
+ "javascript"
54
+ ],
55
+ "templateIds": [
56
+ "declarative-agent-with-action-from-scratch-ts",
57
+ "declarative-agent-with-action-from-scratch-js"
58
+ ]
59
+ },
60
+ {
61
+ "nodes": [
62
+ {
63
+ "nodeId": "project-type",
64
+ "optionId": "copilot-agent-type",
65
+ "optionLabel": "Declarative Agent"
66
+ },
67
+ {
68
+ "nodeId": "with-plugin",
69
+ "optionId": "yes",
70
+ "optionLabel": "Add an Action"
71
+ },
72
+ {
73
+ "nodeId": "api-plugin-type",
74
+ "optionId": "new-api",
75
+ "optionLabel": "Start with a New API"
76
+ },
77
+ {
78
+ "nodeId": "api-auth",
79
+ "optionId": "api-key",
80
+ "optionLabel": "API Key"
81
+ }
82
+ ],
83
+ "templateName": "api-plugin-from-scratch-bearer",
84
+ "description": "Create your own agent by declaring instructions, actions, & knowledge to suit your needs. - Create a declarative agent with an action - Create an action with a new API from Azure Functions",
85
+ "readme": "# Overview of the Declarative Agent with API Plugin template\n\n## Build a Declarative Agent with API Plugin from a new API with Azure Functions\n\nWith the declarative agent, you can build a custom version of Copilot that can be used for specific scenarios, such as for specialized knowledge, implementing specific processes, or simply to save time by reusing a set of AI prompts. For example, a grocery shopping Copilot declarative agent can be used to create a grocery list based on a meal plan that you send to Copilot.\n\nYou can extend declarative agents using plugins to retrieve data and execute tasks on external systems. A declarative agent can utilize multiple plugins at the same time.\n![image](https://github.com/user-attachments/assets/9939972e-0449-410c-b237-d9d748cd6628)\n\n## Get started with the template\n\n> **Prerequisites**\n>\n> To run this app template in your local dev machine, you will need:\n>\n> - [Node.js](https://nodejs.org/), supported versions: 18, 20, 22\n> - A [Microsoft 365 account for development](https://docs.microsoft.com/microsoftteams/platform/toolkit/accounts)\n> - [Microsoft 365 Agents Toolkit Visual Studio Code Extension](https://aka.ms/teams-toolkit) version 5.0.0 and higher or [Microsoft 365 Agents Toolkit CLI](https://aka.ms/teams-toolkit-cli)\n> - [Microsoft 365 Copilot license](https://learn.microsoft.com/microsoft-365-copilot/extensibility/prerequisites#prerequisites)\n\n1. First, select the Microsoft 365 Agents Toolkit icon on the left in the VS Code toolbar.\n2. In the Account section, sign in with your [Microsoft 365 account](https://docs.microsoft.com/microsoftteams/platform/toolkit/accounts) if you haven't already.\n3. Select `Debug in Copilot (Edge)` or `Debug in Copilot (Chrome)` from the launch configuration dropdown.\n4. Select your declarative agent from the `Copilot` app.\n5. Send a message to Copilot to find a repair record.\n\n### How to add your own API Key\n\n1. Open terminal and run command `npm install` to install all dependency packages\n\n ```\n > npm install\n ```\n\n2. After `npm install` completed, run command `npm run keygen`\n ```\n > npm run keygen\n ```\n3. The above command will output something like \"Generated a new API Key: xxx...\"\n4. Fill in API Key into `env/.env.*.user`\n ```\n SECRET_API_KEY=<your-api-key>\n ```\n\n## What's included in the template\n\n| Folder | Contents |\n| ------------ | ------------------------------------------------------------------------------------------- |\n| `.vscode` | VSCode files for debugging |\n| `appPackage` | Templates for the application manifest, the plugin manifest and the API specification |\n| `env` | Environment files |\n| `infra` | Templates for provisioning Azure resources |\n| `src` | The source code for the repair API |\n\nThe following files can be customized and demonstrate an example implementation to get you started.\n\n| File | Contents |\n| ----------------------------------------------- | ------------------------------------------------------------------------------------------------- |\n| `src/functions/repairs.js` | The main file of a function in Azure Functions. |\n| `src/repairsData.json` | The data source for the repair API. |\n| `appPackage/apiSpecificationFile/repair.yml` | A file that describes the structure and behavior of the repair API. |\n| `appPackage/manifest.json` | application manifest that defines metadata for your plugin inside Microsoft Teams. |\n| `appPackage/ai-plugin.json` | The manifest file for your API Plugin that contains information for your API and used by LLM. |\n| `appPackage/adaptiveCards/listRepairs.json` | Adaptive Card file used to render a result from the plugin response. |\n| `appPackage/adaptiveCards/listRepairs.data.json`| Sample mock data file for adaptive card. |\n\nThe following are Microsoft 365 Agents Toolkit specific project files. You can [visit a complete guide on Github](https://github.com/OfficeDev/TeamsFx/wiki/Teams-Toolkit-Visual-Studio-Code-v5-Guide#overview) to understand how Microsoft 365 Agents Toolkit works.\n\n| File | Contents |\n| -------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |\n| `m365agents.yml` | This is the main Microsoft 365 Agents Toolkit project file. The project file defines two primary things: Properties and configuration Stage definitions. |\n| `m365agents.local.yml` | This overrides `m365agents.yml` with actions that enable local execution and debugging. |\n\n## Extend the template\n\n- [Add conversation starters](https://learn.microsoft.com/microsoft-365-copilot/extensibility/build-declarative-agents?tabs=ttk&tutorial-step=3): Conversation starters are hints that are displayed to the user to demonstrate how they can get started using the declarative agent.\n- [Add web content](https://learn.microsoft.com/microsoft-365-copilot/extensibility/build-declarative-agents?tabs=ttk&tutorial-step=4) for the ability to search web information.\n- [Add OneDrive and SharePoint content](https://learn.microsoft.com/microsoft-365-copilot/extensibility/build-declarative-agents?tabs=ttk&tutorial-step=5) as grounding knowledge for the agent.\n- [Add Microsoft Copilot connectors content](https://learn.microsoft.com/microsoft-365-copilot/extensibility/build-declarative-agents?tabs=ttk&tutorial-step=6) to ground agent with enterprise knowledge.\n- [Add API plugins](https://learn.microsoft.com/microsoft-365-copilot/extensibility/build-declarative-agents?tabs=ttk&tutorial-step=7) for agent to interact with REST APIs.\n\n## Addition information and references\n\n- [Declarative agents for Microsoft 365](https://aka.ms/teams-toolkit-declarative-agent)\n- [Extend Microsoft 365 Copilot](https://aka.ms/teamsfx-copilot-plugin)\n- [Message extensions for Microsoft 365 Copilot](https://learn.microsoft.com/microsoft-365-copilot/extensibility/overview-message-extension-bot)\n- [Microsoft CopilotcConnectors for Microsoft 365 Copilot](https://learn.microsoft.com/microsoft-365-copilot/extensibility/overview-graph-connector)\n- [Microsoft 365 Copilot extensibility samples](https://learn.microsoft.com/microsoft-365-copilot/extensibility/samples)\n",
86
+ "supportedLanguages": [
87
+ "typescript",
88
+ "javascript"
89
+ ],
90
+ "templateIds": [
91
+ "declarative-agent-with-action-from-scratch-bearer-ts",
92
+ "declarative-agent-with-action-from-scratch-bearer-js"
93
+ ]
94
+ },
95
+ {
96
+ "nodes": [
97
+ {
98
+ "nodeId": "project-type",
99
+ "optionId": "copilot-agent-type",
100
+ "optionLabel": "Declarative Agent"
101
+ },
102
+ {
103
+ "nodeId": "with-plugin",
104
+ "optionId": "yes",
105
+ "optionLabel": "Add an Action"
106
+ },
107
+ {
108
+ "nodeId": "api-plugin-type",
109
+ "optionId": "new-api",
110
+ "optionLabel": "Start with a New API"
111
+ },
112
+ {
113
+ "nodeId": "api-auth",
114
+ "optionId": "microsoft-entra",
115
+ "optionLabel": "Microsoft Entra"
116
+ }
117
+ ],
118
+ "templateName": "api-plugin-from-scratch-oauth",
119
+ "description": "Create your own agent by declaring instructions, actions, & knowledge to suit your needs. - Create a declarative agent with an action - Create an action with a new API from Azure Functions",
120
+ "readme": "# Overview of the Declarative Agent with API Plugin template\r\n\r\n## Build a Declarative Agent with API Plugin from a new API with Azure Functions\r\n\r\nWith the declarative agent, you can build a custom version of Copilot that can be used for specific scenarios, such as for specialized knowledge, implementing specific processes, or simply to save time by reusing a set of AI prompts. For example, a grocery shopping Copilot declarative agent can be used to create a grocery list based on a meal plan that you send to Copilot.\r\n\r\nYou can extend declarative agents using plugins to retrieve data and execute tasks on external systems. A declarative agent can utilize multiple plugins at the same time.\r\n![image](https://github.com/user-attachments/assets/9939972e-0449-410c-b237-d9d748cd6628)\r\n\r\n## Get started with the template\r\n\r\n> **Prerequisites**\r\n>\r\n> To run this app template in your local dev machine, you will need:\r\n>\r\n> - [Node.js](https://nodejs.org/), supported versions: 18, 20, 22\r\n> - A [Microsoft 365 account for development](https://docs.microsoft.com/microsoftteams/platform/toolkit/accounts)\r\n> - [Microsoft 365 Agents Toolkit Visual Studio Code Extension](https://aka.ms/teams-toolkit) version 5.0.0 and higher or [Microsoft 365 Agents Toolkit CLI](https://aka.ms/teams-toolkit-cli)\r\n> - [Microsoft 365 Copilot license](https://learn.microsoft.com/microsoft-365-copilot/extensibility/prerequisites#prerequisites)\r\n\r\n1. First, select the Microsoft 365 Agents Toolkit icon on the left in the VS Code toolbar.\r\n2. In the Account section, sign in with your [Microsoft 365 account](https://docs.microsoft.com/microsoftteams/platform/toolkit/accounts) if you haven't already.\r\n3. Select `Debug in Copilot (Edge)` or `Debug in Copilot (Chrome)` from the launch configuration dropdown.\r\n4. Select your declarative agent from the `Copilot` app.\r\n5. Send a message to Copilot to find a repair record.\r\n\r\n## What's included in the template\r\n\r\n| Folder | Contents |\r\n| ------------ | ------------------------------------------------------------------------------------------- |\r\n| `.vscode` | VSCode files for debugging |\r\n| `appPackage` | Templates for the application manifest, the plugin manifest and the API specification |\r\n| `env` | Environment files |\r\n| `infra` | Templates for provisioning Azure resources |\r\n| `src` | The source code for the repair API |\r\n\r\nThe following files can be customized and demonstrate an example implementation to get you started.\r\n\r\n| File | Contents |\r\n| ----------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |\r\n| `src/functions/repairs.ts` | The main file of a function in Azure Functions. |\r\n| `src/functions/middleware/tokenCacheWrapper.ts` | A wrapper class that handles caching of JWT signing keys to improve performance of token validation. |\r\n| `src/functions/middleware/tokenValidator.ts` | Core class for validating JWT tokens from Microsoft Entra, including checks for claims, scopes, roles and tenant validation. |\r\n| `src/functions/middleware/authMiddleware.ts` | Middleware function that handles authorization using JWT tokens, integrating with the token validator. |\r\n| `src/functions/middleware/utils.ts` | Utility functions for authentication, including retrieving JWKS URIs for different cloud environments. |\r\n| `src/functions/middleware/config.ts` | Configuration file that exports Microsoft Entra app settings from environment variables. |\r\n| `src/repairsData.json` | The data source for the repair API. |\r\n| `appPackage/apiSpecificationFile/repair.yml` | A file that describes the structure and behavior of the repair API. |\r\n| `appPackage/manifest.json` | application manifest that defines metadata for your plugin inside Microsoft Teams. |\r\n| `appPackage/ai-plugin.json` | The manifest file for your API plugin that contains information for your API and used by LLM. |\r\n| `appPackage/repairDeclarativeAgent.json` | Define the behaviour and configurations of the declarative agent. |\r\n| `appPackage/adaptiveCards/listRepairs.json` | Adaptive Card file used to render a result from the plugin response. |\r\n| `appPackage/adaptiveCards/listRepairs.data.json`| Sample mock data file for adaptive Card. |\r\n\r\nThe following are Microsoft 365 Agents Toolkit specific project files. You can [visit a complete guide on Github](https://github.com/OfficeDev/TeamsFx/wiki/Teams-Toolkit-Visual-Studio-Code-v5-Guide#overview) to understand how Microsoft 365 Agents Toolkit works.\r\n\r\n| File | Contents |\r\n| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\r\n| `m365agents.yml` | This is the main Microsoft 365 Agents Toolkit project file. The project file defines two primary things: Properties and configuration Stage definitions. |\r\n| `m365agents.local.yml` | This overrides `m365agents.yml` with actions that enable local execution and debugging. |\r\n| `aad.manifest.json` | This file defines the configuration of Microsoft Entra app. This template will only provision [single tenant](https://learn.microsoft.com/azure/active-directory/develop/single-and-multi-tenant-apps#who-can-sign-in-to-your-app) Microsoft Entra app. |\r\n{{^MicrosoftEntra}}\r\n\r\n## Extend the template\r\n\r\n- [Add conversation starters](https://learn.microsoft.com/microsoft-365-copilot/extensibility/build-declarative-agents?tabs=ttk&tutorial-step=3): Conversation starters are hints that are displayed to the user to demonstrate how they can get started using the declarative agent.\r\n- [Add web content](https://learn.microsoft.com/microsoft-365-copilot/extensibility/build-declarative-agents?tabs=ttk&tutorial-step=4) for the ability to search web information.\r\n- [Add OneDrive and SharePoint content](https://learn.microsoft.com/microsoft-365-copilot/extensibility/build-declarative-agents?tabs=ttk&tutorial-step=5) as grounding knowledge for the agent.\r\n- [Add Microsoft Copilot connectors content](https://learn.microsoft.com/microsoft-365-copilot/extensibility/build-declarative-agents?tabs=ttk&tutorial-step=6) to ground agent with enterprise knowledge.\r\n- [Add API plugins](https://learn.microsoft.com/microsoft-365-copilot/extensibility/build-declarative-agents?tabs=ttk&tutorial-step=7) for agent to interact with REST APIs.\r\n\r\n## How OAuth works in the API plugin\r\n\r\n![oauth-flow](https://github.com/OfficeDev/teams-toolkit/assets/107838226/f074abbe-d9e3-4a46-8e08-feb66b17a539)\r\n{{/MicrosoftEntra}}\r\n\r\n## Addition information and references\r\n\r\n- [Declarative agents for Microsoft 365](https://aka.ms/teams-toolkit-declarative-agent)\r\n- [Extend Microsoft 365 Copilot](https://aka.ms/teamsfx-copilot-plugin)\r\n- [Message extensions for Microsoft 365 Copilot](https://learn.microsoft.com/microsoft-365-copilot/extensibility/overview-message-extension-bot)\r\n- [Microsoft Copilot connectors for Microsoft 365 Copilot](https://learn.microsoft.com/microsoft-365-copilot/extensibility/overview-graph-connector)\r\n- [Microsoft 365 Copilot extensibility samples](https://learn.microsoft.com/microsoft-365-copilot/extensibility/samples)\r\n",
121
+ "supportedLanguages": [
122
+ "typescript",
123
+ "javascript"
124
+ ],
125
+ "templateIds": [
126
+ "declarative-agent-with-action-from-scratch-oauth-ts",
127
+ "declarative-agent-with-action-from-scratch-oauth-js"
128
+ ]
129
+ },
130
+ {
131
+ "nodes": [
132
+ {
133
+ "nodeId": "project-type",
134
+ "optionId": "copilot-agent-type",
135
+ "optionLabel": "Declarative Agent"
136
+ },
137
+ {
138
+ "nodeId": "with-plugin",
139
+ "optionId": "yes",
140
+ "optionLabel": "Add an Action"
141
+ },
142
+ {
143
+ "nodeId": "api-plugin-type",
144
+ "optionId": "new-api",
145
+ "optionLabel": "Start with a New API"
146
+ },
147
+ {
148
+ "nodeId": "api-auth",
149
+ "optionId": "oauth",
150
+ "optionLabel": "OAuth"
151
+ }
152
+ ],
153
+ "templateName": "api-plugin-from-scratch-oauth",
154
+ "description": "Create your own agent by declaring instructions, actions, & knowledge to suit your needs. - Create a declarative agent with an action - Create an action with a new API from Azure Functions",
155
+ "readme": "# Overview of the Declarative Agent with API Plugin template\r\n\r\n## Build a Declarative Agent with API Plugin from a new API with Azure Functions\r\n\r\nWith the declarative agent, you can build a custom version of Copilot that can be used for specific scenarios, such as for specialized knowledge, implementing specific processes, or simply to save time by reusing a set of AI prompts. For example, a grocery shopping Copilot declarative agent can be used to create a grocery list based on a meal plan that you send to Copilot.\r\n\r\nYou can extend declarative agents using plugins to retrieve data and execute tasks on external systems. A declarative agent can utilize multiple plugins at the same time.\r\n![image](https://github.com/user-attachments/assets/9939972e-0449-410c-b237-d9d748cd6628)\r\n\r\n## Get started with the template\r\n\r\n> **Prerequisites**\r\n>\r\n> To run this app template in your local dev machine, you will need:\r\n>\r\n> - [Node.js](https://nodejs.org/), supported versions: 18, 20, 22\r\n> - A [Microsoft 365 account for development](https://docs.microsoft.com/microsoftteams/platform/toolkit/accounts)\r\n> - [Microsoft 365 Agents Toolkit Visual Studio Code Extension](https://aka.ms/teams-toolkit) version 5.0.0 and higher or [Microsoft 365 Agents Toolkit CLI](https://aka.ms/teams-toolkit-cli)\r\n> - [Microsoft 365 Copilot license](https://learn.microsoft.com/microsoft-365-copilot/extensibility/prerequisites#prerequisites)\r\n\r\n1. First, select the Microsoft 365 Agents Toolkit icon on the left in the VS Code toolbar.\r\n2. In the Account section, sign in with your [Microsoft 365 account](https://docs.microsoft.com/microsoftteams/platform/toolkit/accounts) if you haven't already.\r\n3. Select `Debug in Copilot (Edge)` or `Debug in Copilot (Chrome)` from the launch configuration dropdown.\r\n4. Select your declarative agent from the `Copilot` app.\r\n5. Send a message to Copilot to find a repair record.\r\n\r\n## What's included in the template\r\n\r\n| Folder | Contents |\r\n| ------------ | ------------------------------------------------------------------------------------------- |\r\n| `.vscode` | VSCode files for debugging |\r\n| `appPackage` | Templates for the application manifest, the plugin manifest and the API specification |\r\n| `env` | Environment files |\r\n| `infra` | Templates for provisioning Azure resources |\r\n| `src` | The source code for the repair API |\r\n\r\nThe following files can be customized and demonstrate an example implementation to get you started.\r\n\r\n| File | Contents |\r\n| ----------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |\r\n| `src/functions/repairs.ts` | The main file of a function in Azure Functions. |\r\n| `src/functions/middleware/tokenCacheWrapper.ts` | A wrapper class that handles caching of JWT signing keys to improve performance of token validation. |\r\n| `src/functions/middleware/tokenValidator.ts` | Core class for validating JWT tokens from Microsoft Entra, including checks for claims, scopes, roles and tenant validation. |\r\n| `src/functions/middleware/authMiddleware.ts` | Middleware function that handles authorization using JWT tokens, integrating with the token validator. |\r\n| `src/functions/middleware/utils.ts` | Utility functions for authentication, including retrieving JWKS URIs for different cloud environments. |\r\n| `src/functions/middleware/config.ts` | Configuration file that exports Microsoft Entra app settings from environment variables. |\r\n| `src/repairsData.json` | The data source for the repair API. |\r\n| `appPackage/apiSpecificationFile/repair.yml` | A file that describes the structure and behavior of the repair API. |\r\n| `appPackage/manifest.json` | application manifest that defines metadata for your plugin inside Microsoft Teams. |\r\n| `appPackage/ai-plugin.json` | The manifest file for your API plugin that contains information for your API and used by LLM. |\r\n| `appPackage/repairDeclarativeAgent.json` | Define the behaviour and configurations of the declarative agent. |\r\n| `appPackage/adaptiveCards/listRepairs.json` | Adaptive Card file used to render a result from the plugin response. |\r\n| `appPackage/adaptiveCards/listRepairs.data.json`| Sample mock data file for adaptive Card. |\r\n\r\nThe following are Microsoft 365 Agents Toolkit specific project files. You can [visit a complete guide on Github](https://github.com/OfficeDev/TeamsFx/wiki/Teams-Toolkit-Visual-Studio-Code-v5-Guide#overview) to understand how Microsoft 365 Agents Toolkit works.\r\n\r\n| File | Contents |\r\n| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\r\n| `m365agents.yml` | This is the main Microsoft 365 Agents Toolkit project file. The project file defines two primary things: Properties and configuration Stage definitions. |\r\n| `m365agents.local.yml` | This overrides `m365agents.yml` with actions that enable local execution and debugging. |\r\n| `aad.manifest.json` | This file defines the configuration of Microsoft Entra app. This template will only provision [single tenant](https://learn.microsoft.com/azure/active-directory/develop/single-and-multi-tenant-apps#who-can-sign-in-to-your-app) Microsoft Entra app. |\r\n{{^MicrosoftEntra}}\r\n\r\n## Extend the template\r\n\r\n- [Add conversation starters](https://learn.microsoft.com/microsoft-365-copilot/extensibility/build-declarative-agents?tabs=ttk&tutorial-step=3): Conversation starters are hints that are displayed to the user to demonstrate how they can get started using the declarative agent.\r\n- [Add web content](https://learn.microsoft.com/microsoft-365-copilot/extensibility/build-declarative-agents?tabs=ttk&tutorial-step=4) for the ability to search web information.\r\n- [Add OneDrive and SharePoint content](https://learn.microsoft.com/microsoft-365-copilot/extensibility/build-declarative-agents?tabs=ttk&tutorial-step=5) as grounding knowledge for the agent.\r\n- [Add Microsoft Copilot connectors content](https://learn.microsoft.com/microsoft-365-copilot/extensibility/build-declarative-agents?tabs=ttk&tutorial-step=6) to ground agent with enterprise knowledge.\r\n- [Add API plugins](https://learn.microsoft.com/microsoft-365-copilot/extensibility/build-declarative-agents?tabs=ttk&tutorial-step=7) for agent to interact with REST APIs.\r\n\r\n## How OAuth works in the API plugin\r\n\r\n![oauth-flow](https://github.com/OfficeDev/teams-toolkit/assets/107838226/f074abbe-d9e3-4a46-8e08-feb66b17a539)\r\n{{/MicrosoftEntra}}\r\n\r\n## Addition information and references\r\n\r\n- [Declarative agents for Microsoft 365](https://aka.ms/teams-toolkit-declarative-agent)\r\n- [Extend Microsoft 365 Copilot](https://aka.ms/teamsfx-copilot-plugin)\r\n- [Message extensions for Microsoft 365 Copilot](https://learn.microsoft.com/microsoft-365-copilot/extensibility/overview-message-extension-bot)\r\n- [Microsoft Copilot connectors for Microsoft 365 Copilot](https://learn.microsoft.com/microsoft-365-copilot/extensibility/overview-graph-connector)\r\n- [Microsoft 365 Copilot extensibility samples](https://learn.microsoft.com/microsoft-365-copilot/extensibility/samples)\r\n",
156
+ "supportedLanguages": [
157
+ "typescript",
158
+ "javascript"
159
+ ],
160
+ "templateIds": [
161
+ "declarative-agent-with-action-from-scratch-oauth-ts",
162
+ "declarative-agent-with-action-from-scratch-oauth-js"
163
+ ]
164
+ },
165
+ {
166
+ "nodes": [
167
+ {
168
+ "nodeId": "project-type",
169
+ "optionId": "copilot-agent-type",
170
+ "optionLabel": "Declarative Agent"
171
+ },
172
+ {
173
+ "nodeId": "with-plugin",
174
+ "optionId": "yes",
175
+ "optionLabel": "Add an Action"
176
+ },
177
+ {
178
+ "nodeId": "api-plugin-type",
179
+ "optionId": "api-spec",
180
+ "optionLabel": "Start with an OpenAPI Description Document"
181
+ }
182
+ ],
183
+ "templateName": "api-plugin-from-existing-api",
184
+ "description": "Create your own agent by declaring instructions, actions, & knowledge to suit your needs. - Create a declarative agent with an action - Create an action from your existing API",
185
+ "readme": "# Overview of the basic declarative agent with API plugin template\r\n\r\n## Build a basic declarative agent with API plugin\r\n\r\nWith the declarative agent, you can build a custom version of Copilot that can be used for specific scenarios, such as for specialized knowledge, implementing specific processes, or simply to save time by reusing a set of AI prompts. For example, a grocery shopping Copilot declarative agent can be used to create a grocery list based on a meal plan that you send to Copilot.\r\n\r\nYou can extend declarative agents using plugins to retrieve data and execute tasks on external systems. A declarative agent can utilize multiple plugins at the same time.\r\n\r\n![image](https://github.com/user-attachments/assets/9939972e-0449-410c-b237-d9d748cd6628)\r\n\r\n\r\n## Get started with the template\r\n\r\n> **Prerequisites**\r\n>\r\n> To run this app template in your local dev machine, you will need:\r\n>\r\n> - [Node.js](https://nodejs.org/), supported versions: 18, 20, 22\r\n> - A [Microsoft 365 account for development](https://docs.microsoft.com/microsoftteams/platform/toolkit/accounts).\r\n> - [Microsoft 365 Agents Toolkit Visual Studio Code Extension](https://aka.ms/teams-toolkit) version 5.0.0 and higher or [Microsoft 365 Agents Toolkit CLI](https://aka.ms/teamsfx-toolkit-cli)\r\n> - [Microsoft 365 Copilot license](https://learn.microsoft.com/microsoft-365-copilot/extensibility/prerequisites#prerequisites)\r\n\r\n1. First, select the Microsoft 365 Agents Toolkit icon on the left in the VS Code toolbar.\r\n2. In the Account section, sign in with your [Microsoft 365 account](https://docs.microsoft.com/microsoftteams/platform/toolkit/accounts) if you haven't already.\r\n3. Create app by clicking `Provision` in \"Lifecycle\" section.\r\n4. Select `Preview in Copilot (Edge)` or `Preview in Copilot (Chrome)` from the launch configuration dropdown.\r\n5. Select your declarative agent from the `Copilot` app.\r\n6. Send a prompt.\r\n\r\n{{#ApiKey}}\r\n> [!NOTE]\r\n> Microsoft 365 Agents Toolkit will ask you for your API key during provision. The API key will be securely stored with [Developer Portal](https://dev.teams.microsoft.com/home) and used by Teams client to access your API in runtime. Microsoft 365 Agents Toolkit will not store your API key.\r\n{{/ApiKey}}\r\n\r\n{{#OAuth}}\r\n> [!NOTE]\r\n> If your identity server needs Proof of Key Code Exchange (PKCE) for token exchange, uncomment the `isPKCEEnabled` property in the` oauth/register` section of the `m365agents.yml` file shown as below:\r\n```yaml\r\n - uses: oauth/register\r\n with:\r\n name: {{ApiSpecAuthName}}\r\n flow: authorizationCode\r\n # app ID\r\n appId: ${{TEAMS_APP_ID}}\r\n # Path to OpenAPI description document\r\n apiSpecPath: {{{ApiSpecPath}}}\r\n # Uncomment below property to use proof key for code exchange (PKCE)\r\n isPKCEEnabled: true\r\n writeToEnvironmentFile:\r\n configurationId: {{ApiSpecAuthRegistrationIdEnvName}}\r\n```\r\n> Microsoft 365 Agents Toolkit will ask you for your Client ID and Client Secret for Oauth2 during provision. These information will be securely stored with [Developer Portal](https://dev.teams.microsoft.com/home) and used by Teams client to access your API in runtime. Microsoft 365 Agents Toolkit will not store your Client ID and Client Secret.\r\n{{/OAuth}}\r\n\r\n## What's included in the template\r\n\r\n| Folder | Contents |\r\n| ------------ | -------------------------------------------- |\r\n| `.vscode` | VSCode files for debugging |\r\n| `appPackage` | Templates for the application manifest, the plugin manifest and the API specification |\r\n| `env` | Environment files |\r\n\r\nThe following files can be customized and demonstrate an example implementation to get you started.\r\n\r\n| File | Contents |\r\n| ------------------------------------ | ------------------------------------------------------------------------------ |\r\n| `appPackage/declarativeCopilot.json` | Define the behaviour and configurations of the declarative agent. |\r\n| `appPackage/manifest.json` | application manifest that defines metadata for your declarative agent. |\r\n\r\nThe following are Microsoft 365 Agents Toolkit specific project files. You can [visit a complete guide on Github](https://github.com/OfficeDev/TeamsFx/wiki/Teams-Toolkit-Visual-Studio-Code-v5-Guide#overview) to understand how Microsoft 365 Agents Toolkit works.\r\n\r\n| File | Contents |\r\n| -------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |\r\n| `m365agents.yml` | This is the main Microsoft 365 Agents Toolkit project file. The project file defines two primary things: Properties and configuration Stage definitions. |\r\n\r\n## Addition information and references\r\n\r\n- [Declarative agents for Microsoft 365](https://aka.ms/teams-toolkit-declarative-agent)\r\n- [Extend Microsoft 365 Copilot](https://aka.ms/teamsfx-copilot-plugin)\r\n- [Message extensions for Microsoft 365 Copilot](https://learn.microsoft.com/microsoft-365-copilot/extensibility/overview-message-extension-bot)\r\n- [Microsoft Copilot connectors for Microsoft 365 Copilot](https://learn.microsoft.com/microsoft-365-copilot/extensibility/overview-graph-connector)\r\n- [Microsoft 365 Copilot extensibility samples](https://learn.microsoft.com/microsoft-365-copilot/extensibility/samples)",
186
+ "supportedLanguages": [
187
+ "none"
188
+ ],
189
+ "templateIds": [
190
+ "declarative-agent-with-action-from-existing-api"
191
+ ]
192
+ },
193
+ {
194
+ "nodes": [
195
+ {
196
+ "nodeId": "project-type",
197
+ "optionId": "copilot-agent-type",
198
+ "optionLabel": "Declarative Agent"
199
+ },
200
+ {
201
+ "nodeId": "with-plugin",
202
+ "optionId": "gc",
203
+ "optionLabel": "Add a Copilot connector"
204
+ }
205
+ ],
206
+ "templateName": "declarative-agent-with-graph-connector",
207
+ "description": "Create your own agent by declaring instructions, actions, & knowledge to suit your needs. - Create a declarative agent with a Copilot connector",
208
+ "readme": "",
209
+ "supportedLanguages": [
210
+ "typescript"
211
+ ],
212
+ "templateIds": [
213
+ "declarative-agent-with-graph-connector-ts"
214
+ ]
215
+ },
216
+ {
217
+ "nodes": [
218
+ {
219
+ "nodeId": "project-type",
220
+ "optionId": "copilot-agent-type",
221
+ "optionLabel": "Declarative Agent"
222
+ },
223
+ {
224
+ "nodeId": "with-plugin",
225
+ "optionId": "type-spec",
226
+ "optionLabel": "Start with TypeSpec for Microsoft 365 Copilot"
227
+ }
228
+ ],
229
+ "templateName": "declarative-agent-typespec",
230
+ "description": "Create your own agent by declaring instructions, actions, & knowledge to suit your needs. - Create a declarative agent with or without an action using TypeSpec for Microsoft 365 Copilot",
231
+ "readme": "# Overview of the Declarative Agent with TypeSpec for Microsoft 365 template\n\nWith the declarative agent, you can build a custom version of Copilot that can be used for specific scenarios, such as for specialized knowledge, implementing specific processes, or simply to save time by reusing a set of AI prompts. For example, a grocery shopping Copilot declarative agent can be used to create a grocery list based on a meal plan that you send to Copilot.\n\n## Get started with the template\n\n> **Prerequisites**\n>\n> To run this app template in your local dev machine, you will need:\n>\n> - [Node.js](https://nodejs.org/), supported versions: 18, 20, 22\n> - A [Microsoft 365 account for development](https://docs.microsoft.com/microsoftteams/platform/toolkit/accounts).\n> - [Microsoft 365 Agents Toolkit Visual Studio Code Extension](https://aka.ms/teams-toolkit) version 5.0.0 and higher or [Microsoft 365 Agents Toolkit CLI](https://aka.ms/teamsfx-toolkit-cli)\n> - [Microsoft 365 Copilot license](https://learn.microsoft.com/microsoft-365-copilot/extensibility/prerequisites#prerequisites)\n\n![image](./assets/image.png)\n\n1. First, select the Microsoft 365 Agents Toolkit icon on the left in the VS Code toolbar.\n2. In the Account section, sign in with your [Microsoft 365 account](https://docs.microsoft.com/microsoftteams/platform/toolkit/accounts) if you haven't already.\n3. Run `npm install` to install dependencies before working with TypeSpec files.\n4. Update the [`main.tsp`](./main.tsp) to configure your agent and its plugins. This is the default entry point for TypeSpec files. \n5. Create app by clicking `Provision` in \"Lifecycle\" section.\n6. Select `Preview in Copilot (Edge)` or `Preview in Copilot (Chrome)` from the launch configuration dropdown.\n7. Once the Copilot agent is loaded in the browser, click on the \"…\" menu and select \"Copilot chats\". You will see your declarative agent on the right rail. Clicking on it will change the experience to showcase the logo and name of your declarative agent.\n8. Ask a question to your declarative agent and it should respond based on the instructions provided.\n\n## What's included in the template\n\n| Folder | Contents |\n| ------------ | ---------------------------------------------------------------------------------------- |\n| `.vscode` | VSCode files for debugging |\n| `appPackage` | Templates for the application manifest, the GPT manifest and the API specification |\n| `env` | Environment files |\n\nThe following files can be customized and demonstrate an example implementation to get you started.\n\n| File | Contents |\n| ---------------------------------- | ---------------------------------------------------------------------------- |\n| `appPackage/manifest.json` | application manifest that defines metadata for your declarative agent. |\n\nThe following are Microsoft 365 Agents Toolkit specific project files. You can [visit a complete guide on Github](https://github.com/OfficeDev/TeamsFx/wiki/Teams-Toolkit-Visual-Studio-Code-v5-Guide#overview) to understand how Microsoft 365 Agents Toolkit works.\n\n| File | Contents |\n| -------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |\n| `m365agents.yml` | This is the main Microsoft 365 Agents Toolkit project file. The project file defines two primary things: Properties and configuration Stage definitions. |\n\nThe following are TypeSpec template files. You need to customize these files to configure your agent.\n\n| File | Contents |\n| ------------- | ------------------------------------------------------------------------------------------- |\n| `main.tsp` | This is the root file of TSP files. Please manually update this file to add your own agent. |\n| `actions.tsp` | This is the actions file containing API endpoints to extend your declarative agent. |\n\n## Extend the template\n\n- [Add conversation starters](https://learn.microsoft.com/microsoft-365-copilot/extensibility/build-declarative-agents?tabs=ttk&tutorial-step=3): Conversation starters are hints that are displayed to the user to demonstrate how they can get started using the declarative agent.\n- [Add web content](https://learn.microsoft.com/microsoft-365-copilot/extensibility/build-declarative-agents?tabs=ttk&tutorial-step=4) for the ability to search web information.\n- [Add OneDrive and SharePoint content](https://learn.microsoft.com/microsoft-365-copilot/extensibility/build-declarative-agents?tabs=ttk&tutorial-step=5) as grounding knowledge for the agent.\n- [Add Microsoft Copilot Connectors content](https://learn.microsoft.com/microsoft-365-copilot/extensibility/build-declarative-agents?tabs=ttk&tutorial-step=6) to ground agent with enterprise knowledge.\n\n## Addition information and references\n\n- [Declarative agents for Microsoft 365](https://aka.ms/teams-toolkit-declarative-agent)\n",
232
+ "supportedLanguages": [
233
+ "common"
234
+ ],
235
+ "templateIds": [
236
+ "declarative-agent-typespec"
237
+ ]
238
+ },
239
+ {
240
+ "nodes": [
241
+ {
242
+ "nodeId": "project-type",
243
+ "optionId": "custom-engine-agent-type",
244
+ "optionLabel": "Custom Engine Agent"
245
+ },
246
+ {
247
+ "nodeId": "capabilities",
248
+ "optionId": "basic-custom-engine-agent",
249
+ "optionLabel": "Basic Custom Engine Agent"
250
+ }
251
+ ],
252
+ "templateName": "basic-custom-engine-agent",
253
+ "description": "Build intelligent agent where you manage orchestration and provide your own LLM - Intelligent agent that is built with Microsoft 365 Agents SDK and connects to your LLM",
254
+ "readme": "# Overview of the Basic Custom Engine Agent template\r\n\r\nThis app template is built on top of [Microsoft 365 Agents SDK](https://github.com/Microsoft/Agents).\r\nIt showcases an agent that responds to user questions like ChatGPT. This enables your users to talk with the agent using your custome engine.\r\n\r\n## Get started with the template\r\n\r\n> **Prerequisites**\r\n>\r\n> To run the template in your local dev machine, you will need:\r\n>\r\n> - [Node.js](https://nodejs.org/), supported versions: 18, 20, 22.\r\n{{^enableTestToolByDefault}}\r\n> - A [Microsoft 365 account for development](https://docs.microsoft.com/microsoftteams/platform/toolkit/accounts).\r\n{{/enableTestToolByDefault}}\r\n> - [Microsoft 365 Agents Toolkit Visual Studio Code Extension](https://aka.ms/teams-toolkit) latest version or [Microsoft 365 Agents Toolkit CLI](https://aka.ms/teamsfx-toolkit-cli).\r\n{{#useOpenAI}}\r\n> - An account with [OpenAI](https://platform.openai.com/).\r\n{{/useOpenAI}}\r\n{{#useAzureOpenAI}}\r\n> - Prepare your own [Azure OpenAI](https://aka.ms/oai/access) resource.\r\n{{/useAzureOpenAI}}\r\n\r\n> For local debugging using Microsoft 365 Agents Toolkit CLI, you need to do some extra steps described in [Set up your Microsoft 365 Agents Toolkit CLI for local debugging](https://aka.ms/teamsfx-cli-debugging).\r\n\r\n1. First, select the Microsoft 365 Agents Toolkit icon on the left in the VS Code toolbar.\r\n{{#enableTestToolByDefault}}\r\n{{#useOpenAI}}\r\n1. In file *env/.env.playground.user*, fill in your OpenAI key `SECRET_OPENAI_API_KEY=<your-key>`.\r\n{{/useOpenAI}}\r\n{{#useAzureOpenAI}}\r\n1. In file *env/.env.playground.user*, fill in your Azure OpenAI key `SECRET_AZURE_OPENAI_API_KEY=<your-key>`, endpoint `AZURE_OPENAI_ENDPOINT=<your-endpoint>`, and deployment name `AZURE_OPENAI_DEPLOYMENT_NAME=<your-deployment>`.\r\n{{/useAzureOpenAI}}\r\n1. Press F5 to start debugging which launches your agent in Microsoft 365 Agents Playground using a web browser. Select `Debug in Microsoft 365 Agents Playground`.\r\n1. You can send any message to get a response from the agent.\r\n\r\n**Congratulations**! You are running an agent that can now interact with users in Microsoft 365 Agents Playground:\r\n\r\n![Basic AI Agent](https://github.com/user-attachments/assets/984af126-222b-4c98-9578-0744790b103a)\r\n{{/enableTestToolByDefault}}\r\n{{^enableTestToolByDefault}}\r\n1. In the Account section, sign in with your [Microsoft 365 account](https://docs.microsoft.com/microsoftteams/platform/toolkit/accounts) if you haven't yet.\r\n{{#useOpenAI}}\r\n1. In file *env/.env.local.user*, fill in your OpenAI key `SECRET_OPENAI_API_KEY=<your-key>`.\r\n{{/useOpenAI}}\r\n{{#useAzureOpenAI}}\r\n1. In file *env/.env.local.user*, fill in your Azure OpenAI key `SECRET_AZURE_OPENAI_API_KEY=<your-key>`, endpoint `AZURE_OPENAI_ENDPOINT=<your-endpoint>`, and deployment name `AZURE_OPENAI_DEPLOYMENT_NAME=<your-deployment>`.\r\n{{/useAzureOpenAI}}\r\n1. Press F5 to start debugging which launches your agent in Teams using a web browser. Select `Debug in Teams (Edge)` or `Debug in Teams (Chrome)`.\r\n1. When Teams launches in the browser, select the Add button in the dialog to install your agent to Teams.\r\n1. You can send any message to get a response from the agent.\r\n\r\n**Congratulations**! You are running an agent that can now interact with users in Teams:\r\n\r\n![Basic Custom Engine Agent](https://user-images.githubusercontent.com/7642967/258726187-8306610b-579e-4301-872b-1b5e85141eff.png)\r\n{{/enableTestToolByDefault}}\r\n\r\n## What's included in the template\r\n\r\n| Folder | Contents |\r\n| - | - |\r\n| `.vscode` | VSCode files for debugging |\r\n| `appPackage` | Templates for the application manifest |\r\n| `env` | Environment files |\r\n| `infra` | Templates for provisioning Azure resources |\r\n| `src` | The source code for the application |\r\n\r\nThe following files can be customized and demonstrate an example implementation to get you started.\r\n\r\n| File | Contents |\r\n| - | - |\r\n|`src/index.ts`| Sets up the agent server.|\r\n|`src/adapter.ts`| Sets up the agent adapter.|\r\n|`src/config.ts`| Defines the environment variables.|\r\n|`src/agent.ts`| Handles business logics for the Basic Custom Engine Agent.|\r\n\r\nThe following are Microsoft 365 Agents Toolkit specific project files. You can [visit a complete guide on Github](https://github.com/OfficeDev/TeamsFx/wiki/Teams-Toolkit-Visual-Studio-Code-v5-Guide#overview) to understand how Microsoft 365 Agents Toolkit works.\r\n\r\n| File | Contents |\r\n| - | - |\r\n|`m365agents.yml`|This is the main Microsoft 365 Agents Toolkit project file. The project file defines two primary things: Properties and configuration Stage definitions. |\r\n|`m365agents.local.yml`|This overrides `m365agents.yml` with actions that enable local execution and debugging.|\r\n|`m365agents.playground.yml`| This overrides `m365agents.yml` with actions that enable local execution and debugging in Microsoft 365 Agents Playground.|\r\n\r\n## Additional information and references\r\n\r\n- [Microsoft 365 Agents Toolkit Documentations](https://docs.microsoft.com/microsoftteams/platform/toolkit/teams-toolkit-fundamentals)\r\n- [Microsoft 365 Agents Toolkit CLI](https://aka.ms/teamsfx-toolkit-cli)\r\n- [Microsoft 365 Agents Toolkit Samples](https://github.com/OfficeDev/TeamsFx-Samples)\r\n\r\n## Known issue\r\n- The agent is currently not working in any Teams group chats or Teams channels when the stream response is enabled.\r\n",
255
+ "supportedLanguages": [
256
+ "typescript",
257
+ "javascript"
258
+ ],
259
+ "templateIds": [
260
+ "basic-custom-engine-agent-ts",
261
+ "basic-custom-engine-agent-js"
262
+ ]
263
+ },
264
+ {
265
+ "nodes": [
266
+ {
267
+ "nodeId": "project-type",
268
+ "optionId": "custom-engine-agent-type",
269
+ "optionLabel": "Custom Engine Agent"
270
+ },
271
+ {
272
+ "nodeId": "capabilities",
273
+ "optionId": "weather-agent",
274
+ "optionLabel": "Weather Agent"
275
+ }
276
+ ],
277
+ "templateName": "weather-agent",
278
+ "description": "Build intelligent agent where you manage orchestration and provide your own LLM - A weather forecast agent that is built with Microsoft 365 Agents SDK and LangChain",
279
+ "readme": "# Overview of the Weather Agent template\r\n\r\nThis agent template is built on top of [Microsoft 365 Agents SDK](https://github.com/Microsoft/Agents).\r\nIt showcases a simple Weather Forecast Agent that is hosted on a express core web service. This Agent is configured to accept a request asking for information about a weather forecast and respond to the caller with an Adaptive Card.\r\n\r\nThis agent template is intended to introduce you the basics of integrating LangChain with the Microsoft 365 Agents SDK in order to build powerful Agents. It can also be used as a the base for a Custom Engine Agent that you choose to develop.\r\n\r\nNote: This template requires JSON output from the model which works best from newer versions of the model such as gpt-4o-mini.\r\n\r\n## Get started with the template\r\n\r\n> **Prerequisites**\r\n>\r\n> To run the template in your local dev machine, you will need:\r\n>\r\n> - [Node.js](https://nodejs.org/), supported versions: 18, 20, 22.\r\n{{^enableTestToolByDefault}}\r\n> - A [Microsoft 365 account for development](https://docs.microsoft.com/microsoftteams/platform/toolkit/accounts).\r\n{{/enableTestToolByDefault}}\r\n> - [Microsoft 365 Agents Toolkit Visual Studio Code Extension](https://aka.ms/teams-toolkit) latest version or [Microsoft 365 Agents Toolkit CLI](https://aka.ms/teamsfx-toolkit-cli).\r\n{{#useOpenAI}}\r\n> - An account with [OpenAI](https://platform.openai.com/).\r\n{{/useOpenAI}}\r\n{{#useAzureOpenAI}}\r\n> - Prepare your own [Azure OpenAI](https://aka.ms/oai/access) resource.\r\n{{/useAzureOpenAI}}\r\n\r\n> For local debugging using Microsoft 365 Agents Toolkit CLI, you need to do some extra steps described in [Set up your Microsoft 365 Agents Toolkit CLI for local debugging](https://aka.ms/teamsfx-cli-debugging).\r\n\r\n1. First, select the Microsoft 365 Agents Toolkit icon on the left in the VS Code toolbar.\r\n{{#enableTestToolByDefault}}\r\n{{#useOpenAI}}\r\n1. In file *env/.env.playground.user*, fill in your OpenAI key `SECRET_OPENAI_API_KEY=<your-key>`.\r\n{{/useOpenAI}}\r\n{{#useAzureOpenAI}}\r\n1. In file *env/.env.playground.user*, fill in your Azure OpenAI key `SECRET_AZURE_OPENAI_API_KEY=<your-key>`, endpoint `AZURE_OPENAI_ENDPOINT=<your-endpoint>`, and deployment name `AZURE_OPENAI_DEPLOYMENT_NAME=<your-deployment>`.\r\n{{/useAzureOpenAI}}\r\n1. Press F5 to start debugging which launches your agent in Microsoft 365 Agents Playground using a web browser. Select `Debug in Microsoft 365 Agents Playground`.\r\n1. You can send any message to get a response from the agent.\r\n\r\n**Congratulations**! You are running an agent that can now interact with users in Microsoft 365 Agents Playground.\r\n\r\n{{/enableTestToolByDefault}}\r\n{{^enableTestToolByDefault}}\r\n1. In the Account section, sign in with your [Microsoft 365 account](https://docs.microsoft.com/microsoftteams/platform/toolkit/accounts) if you haven't yet.\r\n{{#useOpenAI}}\r\n1. In file *env/.env.local.user*, fill in your OpenAI key `SECRET_OPENAI_API_KEY=<your-key>`.\r\n{{/useOpenAI}}\r\n{{#useAzureOpenAI}}\r\n1. In file *env/.env.local.user*, fill in your Azure OpenAI key `SECRET_AZURE_OPENAI_API_KEY=<your-key>`, endpoint `AZURE_OPENAI_ENDPOINT=<your-endpoint>`, and deployment name `AZURE_OPENAI_DEPLOYMENT_NAME=<your-deployment>`.\r\n{{/useAzureOpenAI}}\r\n1. Press F5 to start debugging which launches your agent in Teams using a web browser. Select `Debug in Teams (Edge)` or `Debug in Teams (Chrome)`.\r\n1. When Teams launches in the browser, select the Add button in the dialog to install your agent to Teams.\r\n1. You can send any message to get a response from the agent.\r\n\r\n**Congratulations**! You are running an agent that can now interact with users in Teams.\r\n\r\n{{/enableTestToolByDefault}}\r\n\r\n## What's included in the template\r\n\r\n| Folder | Contents |\r\n| - | - |\r\n| `.vscode` | VSCode files for debugging |\r\n| `appPackage` | Templates for the application manifest |\r\n| `env` | Environment files |\r\n| `infra` | Templates for provisioning Azure resources |\r\n| `src` | The source code for the application |\r\n\r\nThe following files can be customized and demonstrate an example implementation to get you started.\r\n\r\n| File | Contents |\r\n| - | - |\r\n|`src/index.ts`| Sets up the agent server.|\r\n|`src/tools/*.ts`| Tools that can be utilized by model.|\r\n|`src/agent.ts`| Handles business logics for the Weather Agent.|\r\n\r\nThe following are Microsoft 365 Agents Toolkit specific project files. You can [visit a complete guide on Github](https://github.com/OfficeDev/TeamsFx/wiki/Teams-Toolkit-Visual-Studio-Code-v5-Guide#overview) to understand how Microsoft 365 Agents Toolkit works.\r\n\r\n| File | Contents |\r\n| - | - |\r\n|`m365agents.yml`|This is the main Microsoft 365 Agents Toolkit project file. The project file defines two primary things: Properties and configuration Stage definitions. |\r\n|`m365agents.local.yml`|This overrides `m365agents.yml` with actions that enable local execution and debugging.|\r\n|`m365agents.playground.yml`| This overrides `m365agents.yml` with actions that enable local execution and debugging in Microsoft 365 Agents Playground.|\r\n\r\n## Additional information and references\r\n\r\n- [Microsoft 365 Agents Toolkit Documentations](https://docs.microsoft.com/microsoftteams/platform/toolkit/teams-toolkit-fundamentals)\r\n- [Microsoft 365 Agents Toolkit CLI](https://aka.ms/teamsfx-toolkit-cli)\r\n- [Microsoft 365 Agents Toolkit Samples](https://github.com/OfficeDev/TeamsFx-Samples)\r\n\r\n## Known issue\r\n- The agent is currently not working in any Teams group chats or Teams channels when the stream response is enabled.\r\n",
280
+ "supportedLanguages": [
281
+ "typescript",
282
+ "javascript"
283
+ ],
284
+ "templateIds": [
285
+ "weather-agent-ts",
286
+ "weather-agent-js"
287
+ ]
288
+ },
289
+ {
290
+ "nodes": [
291
+ {
292
+ "nodeId": "project-type",
293
+ "optionId": "teams-agent-and-app-type",
294
+ "optionLabel": "Teams Agents and Apps"
295
+ },
296
+ {
297
+ "nodeId": "teams-app-type",
298
+ "optionId": "custom-copilot-basic",
299
+ "optionLabel": "General Teams Agent"
300
+ }
301
+ ],
302
+ "templateName": "custom-copilot-basic",
303
+ "description": "Create agent, chat bot, web pages or other apps in Microsoft Teams using Teams AI library. - Agent that chats with users in Teams built with Teams AI Library and connects to LLMs",
304
+ "readme": "# Overview of the Basic AI Chatbot template\r\n\r\nThis app template is built on top of [Teams AI library V2](https://aka.ms/teams-ai-library-v2).\r\nIt showcases an agent app that responds to user questions like ChatGPT. This enables your users to talk with the AI agent in Teams.\r\n\r\n## Get started with the template\r\n\r\n> **Prerequisites**\r\n>\r\n> To run the template in your local dev machine, you will need:\r\n>\r\n> - [Node.js](https://nodejs.org/), supported versions: 20, 22.\r\n{{^enableTestToolByDefault}}\r\n> - A [Microsoft 365 account for development](https://docs.microsoft.com/microsoftteams/platform/toolkit/accounts).\r\n{{/enableTestToolByDefault}}\r\n> - [Microsoft 365 Agents Toolkit Visual Studio Code Extension](https://aka.ms/teams-toolkit) latest version or [Microsoft 365 Agents Toolkit CLI](https://aka.ms/teamsfx-toolkit-cli).\r\n{{#useOpenAI}}\r\n> - An account with [OpenAI](https://platform.openai.com/).\r\n{{/useOpenAI}}\r\n{{#useAzureOpenAI}}\r\n> - Prepare your own [Azure OpenAI](https://aka.ms/oai/access) resource.\r\n{{/useAzureOpenAI}}\r\n\r\n> For local debugging using Microsoft 365 Agents Toolkit CLI, you need to do some extra steps described in [Set up your Microsoft 365 Agents Toolkit CLI for local debugging](https://aka.ms/teamsfx-cli-debugging).\r\n\r\n1. First, select the Microsoft 365 Agents Toolkit icon on the left in the VS Code toolbar.\r\n{{#enableTestToolByDefault}}\r\n{{#useOpenAI}}\r\n1. In file *env/.env.playground.user*, fill in your OpenAI key `SECRET_OPENAI_API_KEY=<your-key>`.\r\n{{/useOpenAI}}\r\n{{#useAzureOpenAI}}\r\n1. In file *env/.env.playground.user*, fill in your Azure OpenAI key `SECRET_AZURE_OPENAI_API_KEY=<your-key>`, endpoint `AZURE_OPENAI_ENDPOINT=<your-endpoint>`, and deployment name `AZURE_OPENAI_DEPLOYMENT_NAME=<your-deployment>`.\r\n{{/useAzureOpenAI}}\r\n1. Press F5 to start debugging which launches your app in Microsoft 365 Agents Playground using a web browser. Select `Debug in Microsoft 365 Agents Playground`.\r\n1. You can send any message to get a response from the agent.\r\n\r\n**Congratulations**! You are running an application that can now interact with users in Microsoft 365 Agents Playground:\r\n\r\n![Basic AI Chatbot](https://github.com/user-attachments/assets/984af126-222b-4c98-9578-0744790b103a)\r\n{{/enableTestToolByDefault}}\r\n{{^enableTestToolByDefault}}\r\n1. In the Account section, sign in with your [Microsoft 365 account](https://docs.microsoft.com/microsoftteams/platform/toolkit/accounts) if you haven't yet.\r\n{{#useOpenAI}}\r\n1. In file *env/.env.local.user*, fill in your OpenAI key `SECRET_OPENAI_API_KEY=<your-key>`.\r\n{{/useOpenAI}}\r\n{{#useAzureOpenAI}}\r\n1. In file *env/.env.local.user*, fill in your Azure OpenAI key `SECRET_AZURE_OPENAI_API_KEY=<your-key>`, endpoint `AZURE_OPENAI_ENDPOINT=<your-endpoint>`, and deployment name `AZURE_OPENAI_DEPLOYMENT_NAME=<your-deployment>`.\r\n{{/useAzureOpenAI}}\r\n1. Press F5 to start debugging which launches your app in Teams using a web browser. Select `Debug in Teams (Edge)` or `Debug in Teams (Chrome)`.\r\n1. When Teams launches in the browser, select the Add button in the dialog to install your app to Teams.\r\n1. You can send any message to get a response from the agent.\r\n\r\n**Congratulations**! You are running an application that can now interact with users in Teams:\r\n\r\n![Basic AI Chatbot](https://user-images.githubusercontent.com/7642967/258726187-8306610b-579e-4301-872b-1b5e85141eff.png)\r\n{{/enableTestToolByDefault}}\r\n\r\n## What's included in the template\r\n\r\n| Folder | Contents |\r\n| - | - |\r\n| `.vscode` | VSCode files for debugging |\r\n| `appPackage` | Templates for the application manifest |\r\n| `env` | Environment files |\r\n| `infra` | Templates for provisioning Azure resources |\r\n| `src` | The source code for the application |\r\n\r\nThe following files can be customized and demonstrate an example implementation to get you started.\r\n\r\n| File | Contents |\r\n| - | - |\r\n|`src/index.ts`| Application entry point. |\r\n|`src/config.ts`| Defines the environment variables.|\r\n|`src/app/instructions.txt`| Defines the prompt.|\r\n|`src/app/app.ts`| Handles business logics for the Basic AI Chatbot.|\r\n\r\nThe following are Microsoft 365 Agents Toolkit specific project files. You can [visit a complete guide on Github](https://github.com/OfficeDev/TeamsFx/wiki/Teams-Toolkit-Visual-Studio-Code-v5-Guide#overview) to understand how Microsoft 365 Agents Toolkit works.\r\n\r\n| File | Contents |\r\n| - | - |\r\n|`m365agents.yml`|This is the main Microsoft 365 Agents Toolkit project file. The project file defines two primary things: Properties and configuration Stage definitions. |\r\n|`m365agents.local.yml`|This overrides `m365agents.yml` with actions that enable local execution and debugging.|\r\n|`m365agents.playground.yml`| This overrides `m365agents.yml` with actions that enable local execution and debugging in Microsoft 365 Agents Playground.|\r\n\r\n## Extend the template\r\n\r\nTo extend the Basic AI Chatbot template with more AI capabilities, explore [Teams AI library V2 documentation](https://aka.ms/m365-agents-toolkit/teams-agent-extend-ai).\r\n\r\n## Additional information and references\r\n\r\n- [Microsoft 365 Agents Toolkit Documentations](https://docs.microsoft.com/microsoftteams/platform/toolkit/teams-toolkit-fundamentals)\r\n- [Microsoft 365 Agents Toolkit CLI](https://aka.ms/teamsfx-toolkit-cli)\r\n- [Microsoft 365 Agents Toolkit Samples](https://github.com/OfficeDev/TeamsFx-Samples)\r\n{{#CEAEnabled}}\r\n\r\n## Known issue\r\n- Streaming is only currently supported for single 1:1 chats, and not for groups or channels.\r\n{{/CEAEnabled}}",
305
+ "supportedLanguages": [
306
+ "typescript",
307
+ "javascript"
308
+ ],
309
+ "templateIds": [
310
+ "custom-copilot-basic-ts",
311
+ "custom-copilot-basic-js"
312
+ ]
313
+ },
314
+ {
315
+ "nodes": [
316
+ {
317
+ "nodeId": "project-type",
318
+ "optionId": "teams-agent-and-app-type",
319
+ "optionLabel": "Teams Agents and Apps"
320
+ },
321
+ {
322
+ "nodeId": "teams-app-type",
323
+ "optionId": "custom-copilot-rag",
324
+ "optionLabel": "Teams Agent with Data"
325
+ },
326
+ {
327
+ "nodeId": "custom-copilot-rag",
328
+ "optionId": "custom-copilot-rag-customize",
329
+ "optionLabel": "Customize"
330
+ }
331
+ ],
332
+ "templateName": "custom-copilot-rag-customize",
333
+ "description": "Create agent, chat bot, web pages or other apps in Microsoft Teams using Teams AI library. - Agent that uses your content and knowledge to accurately answer domain-specific questions - Decide how to load your data",
334
+ "readme": "# Overview of the Chat With Your Data (Custom Data Source) template\r\n\r\nThis app template showcases how to build one of the most powerful applications enabled by LLM - sophisticated question-answering (Q&A) chat bots that can answer questions about specific source information right in the Microsoft Teams.\r\nThis app template also demonstrates usage of techniques like: \r\n- [Retrieval Augmented Generation](https://python.langchain.com/docs/use_cases/question_answering/#what-is-rag), or RAG.\r\n- [Teams AI Library V2](https://aka.ms/teams-ai-library-v2)\r\n\r\n## Get started with the template\r\n\r\n> **Prerequisites**\r\n>\r\n> To run the template in your local dev machine, you will need:\r\n>\r\n> - [Node.js](https://nodejs.org/), supported versions: 20, 22\r\n> - [Microsoft 365 Agents Toolkit Visual Studio Code Extension](https://aka.ms/teams-toolkit) version 5.0.0 and higher or [Microsoft 365 Agents Toolkit CLI](https://aka.ms/teamsfx-toolkit-cli)\r\n{{#useOpenAI}}\r\n> - An account with [OpenAI](https://platform.openai.com/).\r\n{{/useOpenAI}}\r\n{{#useAzureOpenAI}}\r\n> - Prepare your own [Azure OpenAI](https://aka.ms/oai/access) resource.\r\n{{/useAzureOpenAI}}\r\n\r\n> For local debugging using Microsoft 365 Agents Toolkit CLI, you need to do some extra steps described in [Set up your Microsoft 365 Agents Toolkit CLI for local debugging](https://aka.ms/teamsfx-cli-debugging).\r\n\r\n1. First, select the Microsoft 365 Agents Toolkit icon on the left in the VS Code toolbar.\r\n{{#useOpenAI}}\r\n1. In file *env/.env.playground.user*, fill in your OpenAI key `SECRET_OPENAI_API_KEY=<your-key>`.\r\n{{/useOpenAI}}\r\n{{#useAzureOpenAI}}\r\n1. In file *env/.env.playground.user*, fill in your Azure OpenAI key `SECRET_AZURE_OPENAI_API_KEY=<your-key>`, endpoint `AZURE_OPENAI_ENDPOINT=<your-endpoint>` and deployment name `AZURE_OPENAI_DEPLOYMENT_NAME=<your-deployment>`.\r\n{{/useAzureOpenAI}}\r\n1. Press F5 to start debugging which launches your app in Microsoft 365 Agents Playground using a web browser. Select `Debug in Microsoft 365 Agents Playground`.\r\n1. You can send any message to get a response from the agent.\r\n\r\n**Congratulations**! You are running an application that can now interact with users in Microsoft 365 Agents Playground:\r\n\r\n![RAG Bot](https://github.com/user-attachments/assets/464fe1b0-d8c6-4ecf-a410-8dde7d9ca9b3)\r\n\r\n## What's included in the template\r\n\r\n| Folder | Contents |\r\n| - | - |\r\n| `.vscode` | VSCode files for debugging |\r\n| `appPackage` | Templates for the application manifest |\r\n| `env` | Environment files |\r\n| `infra` | Templates for provisioning Azure resources |\r\n| `src` | The source code for the application |\r\n\r\nThe following files can be customized and demonstrate an example implementation to get you started.\r\n\r\n| File | Contents |\r\n| - | - |\r\n|`src/index.ts`| Application entry point.|\r\n|`src/config.ts`| Defines the environment variables.|\r\n|`src/app/app.ts`| Main application code.|\r\n|`src/app/myDataSource.ts`| Defines the data source.|\r\n|`src/data/*.md`| Raw text data sources.|\r\n\r\nThe following are Microsoft 365 Agents Toolkit specific project files. You can [visit a complete guide on Github](https://github.com/OfficeDev/TeamsFx/wiki/Teams-Toolkit-Visual-Studio-Code-v5-Guide#overview) to understand how Microsoft 365 Agents Toolkit works.\r\n\r\n| File | Contents |\r\n| - | - |\r\n|`m365agents.yml`|This is the main Microsoft 365 Agents Toolkit project file. The project file defines two primary things: Properties and configuration Stage definitions. |\r\n|`m365agents.local.yml`|This overrides `m365agents.yml` with actions that enable local execution and debugging.|\r\n|`m365agents.playground.yml`| This overrides `m365agents.yml` with actions that enable local execution and debugging in Microsoft 365 Agents Playground.|\r\n\r\n## Extend the template\r\n\r\nTo extend the Basic AI Chatbot template with more AI capabilities, explore [Teams AI library V2 documentation](https://aka.ms/m365-agents-toolkit/teams-agent-extend-ai).\r\n\r\n## Additional information and references\r\n\r\n- [Microsoft 365 Agents Toolkit Documentations](https://docs.microsoft.com/microsoftteams/platform/toolkit/teams-toolkit-fundamentals)\r\n- [Microsoft 365 Agents Toolkit CLI](https://aka.ms/teamsfx-toolkit-cli)\r\n- [Microsoft 365 Agents Toolkit Samples](https://github.com/OfficeDev/TeamsFx-Samples)",
335
+ "supportedLanguages": [
336
+ "typescript",
337
+ "javascript"
338
+ ],
339
+ "templateIds": [
340
+ "custom-copilot-rag-customize-ts",
341
+ "custom-copilot-rag-customize-js"
342
+ ]
343
+ },
344
+ {
345
+ "nodes": [
346
+ {
347
+ "nodeId": "project-type",
348
+ "optionId": "teams-agent-and-app-type",
349
+ "optionLabel": "Teams Agents and Apps"
350
+ },
351
+ {
352
+ "nodeId": "teams-app-type",
353
+ "optionId": "custom-copilot-rag",
354
+ "optionLabel": "Teams Agent with Data"
355
+ },
356
+ {
357
+ "nodeId": "custom-copilot-rag",
358
+ "optionId": "custom-copilot-rag-azureAISearch",
359
+ "optionLabel": "Azure AI Search"
360
+ }
361
+ ],
362
+ "templateName": "custom-copilot-rag-azure-ai-search",
363
+ "description": "Create agent, chat bot, web pages or other apps in Microsoft Teams using Teams AI library. - Agent that uses your content and knowledge to accurately answer domain-specific questions - Load your data from Azure AI Search service",
364
+ "readme": "# Overview of the Chat With Your Data (Using Azure AI Search) template\r\n\r\nThis app template showcases how to build one of the most powerful applications enabled by LLM - sophisticated question-answering (Q&A) chat bots that can answer questions about specific source information right in the Microsoft Teams.\r\nThis app template also demonstrates usage of techniques like: \r\n- [Retrieval Augmented Generation](https://python.langchain.com/docs/use_cases/question_answering/#what-is-rag), or RAG.\r\n- [Azure AI Search](https://learn.microsoft.com/azure/search/search-what-is-azure-search)\r\n- [Teams AI library V2](https://aka.ms/teams-ai-library-v2)\r\n\r\n## Get started with the template\r\n\r\n> **Prerequisites**\r\n>\r\n> To run the template in your local dev machine, you will need:\r\n>\r\n> - [Node.js](https://nodejs.org/), supported versions: 20, 22\r\n> - [Microsoft 365 Agents Toolkit Visual Studio Code Extension](https://aka.ms/teams-toolkit) version 5.0.0 and higher or [Microsoft 365 Agents Toolkit CLI](https://aka.ms/teamsfx-toolkit-cli)\r\n{{#useOpenAI}}\r\n> - An account with [OpenAI](https://platform.openai.com/) and [Azure AI Search](https://azure.microsoft.com/en-us/products/ai-services/ai-search).\r\n{{/useOpenAI}}\r\n{{#useAzureOpenAI}}\r\n> - Prepare your own [Azure OpenAI](https://aka.ms/oai/access) resource and [Azure AI Search](https://azure.microsoft.com/en-us/products/ai-services/ai-search).\r\n{{/useAzureOpenAI}}\r\n\r\n> For local debugging using Microsoft 365 Agents Toolkit CLI, you need to do some extra steps described in [Set up your Microsoft 365 Agents Toolkit CLI for local debugging](https://aka.ms/teamsfx-cli-debugging).\r\n\r\n1. First, select the Microsoft 365 Agents Toolkit icon on the left in the VS Code toolbar.\r\n{{#useOpenAI}}\r\n1. In file *env/.env.playground.user*, fill in your OpenAI key `SECRET_OPENAI_API_KEY=<your-key>`. And fill in your Azure AI search key `SECRET_AZURE_SEARCH_KEY=<your-ai-search-key>` and endpoint `AZURE_SEARCH_ENDPOINT=<your-ai-search-endpoint>`.\r\n{{/useOpenAI}}\r\n{{#useAzureOpenAI}}\r\n1. In file *env/.env.playground.user*, fill in your Azure OpenAI key `SECRET_AZURE_OPENAI_API_KEY=<your-key>`, endpoint `AZURE_OPENAI_ENDPOINT=<your-endpoint>`, deployment name `AZURE_OPENAI_DEPLOYMENT_NAME=<your-deployment>`, and embedding deployment name `AZURE_OPENAI_EMBEDDING_DEPLOYMENT_NAME=<your-embedding-deployment>`. And fill in your Azure AI search key `SECRET_AZURE_SEARCH_KEY=<your-ai-search-key>` and endpoint `AZURE_SEARCH_ENDPOINT=<your-ai-search-endpoint>`.\r\n{{/useAzureOpenAI}}\r\n{{#useOpenAI}}\r\n1. Do `npm install` and `npm run indexer:create -- <your-ai-search-key> <your-openai-api-key>` to create the my documents index. Once you're done using the sample it's good practice to delete the index. You can do so with the `npm run indexer:delete -- <your-ai-search-key>` command.\r\n{{/useOpenAI}}\r\n{{#useAzureOpenAI}}\r\n1. Do `npm install` and `npm run indexer:create -- <your-ai-search-key> <your-azure-openai-api-key>` to create the my documents index. Once you're done using the sample it's good practice to delete the index. You can do so with the `npm run indexer:delete -- <your-ai-search-key>` command.\r\n{{/useAzureOpenAI}}\r\n1. Press F5 to start debugging which launches your app in Microsoft 365 Agents Playground using a web browser. Select `Debug in Microsoft 365 Agents Playground`.\r\n1. You can send any message to get a response from the agent.\r\n\r\n**Congratulations**! You are running an application that can now interact with users in Microsoft 365 Agents Playground:\r\n\r\n![AI Search Bot](https://github.com/user-attachments/assets/464fe1b0-d8c6-4ecf-a410-8dde7d9ca9b3)\r\n\r\n## What's included in the template\r\n\r\n| Folder | Contents |\r\n| - | - |\r\n| `.vscode` | VSCode files for debugging |\r\n| `appPackage` | Templates for the application manifest |\r\n| `env` | Environment files |\r\n| `infra` | Templates for provisioning Azure resources |\r\n| `src` | The source code for the application |\r\n\r\nThe following files can be customized and demonstrate an example implementation to get you started.\r\n\r\n| File | Contents |\r\n| - | - |\r\n|`src/index.ts`| Application entry point.|\r\n|`src/config.ts`| Defines the environment variables.|\r\n|`src/app/app.ts`| Main application code|\r\n|`src/app/azureAISearchDataSource.ts`| Defines the Azure AI search data source.|\r\n|`src/indexers/data/*.md`| Raw text data sources.|\r\n|`src/indexers/utils.ts`| Basic index tools. |\r\n|`src/indexers/setup.ts`| A script to create index and upload documents. |\r\n|`src/indexers/delete.ts`| A script to delete index and documents. |\r\n\r\nThe following are Microsoft 365 Agents Toolkit specific project files. You can [visit a complete guide on Github](https://github.com/OfficeDev/TeamsFx/wiki/Teams-Toolkit-Visual-Studio-Code-v5-Guide#overview) to understand how Microsoft 365 Agents Toolkit works.\r\n\r\n| File | Contents |\r\n| - | - |\r\n|`m365agents.yml`|This is the main Microsoft 365 Agents Toolkit project file. The project file defines two primary things: Properties and configuration Stage definitions. |\r\n|`m365agents.local.yml`|This overrides `m365agents.yml` with actions that enable local execution and debugging.|\r\n|`m365agents.playground.yml`| This overrides `m365agents.yml` with actions that enable local execution and debugging in Microsoft 365 Agents Playground.|\r\n\r\n## Extend the template\r\n\r\nTo extend the Basic AI Chatbot template with more AI capabilities, explore [Teams AI library V2 documentation](https://aka.ms/m365-agents-toolkit/teams-agent-extend-ai).\r\n\r\n## Additional information and references\r\n\r\n- [Microsoft 365 Agents Toolkit Documentations](https://docs.microsoft.com/microsoftteams/platform/toolkit/teams-toolkit-fundamentals)\r\n- [Microsoft 365 Agents Toolkit CLI](https://aka.ms/teamsfx-toolkit-cli)\r\n- [Microsoft 365 Agents Toolkit Samples](https://github.com/OfficeDev/TeamsFx-Samples)",
365
+ "supportedLanguages": [
366
+ "typescript",
367
+ "javascript"
368
+ ],
369
+ "templateIds": [
370
+ "custom-copilot-rag-azure-ai-search-ts",
371
+ "custom-copilot-rag-azure-ai-search-js"
372
+ ]
373
+ },
374
+ {
375
+ "nodes": [
376
+ {
377
+ "nodeId": "project-type",
378
+ "optionId": "teams-agent-and-app-type",
379
+ "optionLabel": "Teams Agents and Apps"
380
+ },
381
+ {
382
+ "nodeId": "teams-app-type",
383
+ "optionId": "custom-copilot-rag",
384
+ "optionLabel": "Teams Agent with Data"
385
+ },
386
+ {
387
+ "nodeId": "custom-copilot-rag",
388
+ "optionId": "custom-copilot-rag-customApi",
389
+ "optionLabel": "Custom API"
390
+ }
391
+ ],
392
+ "templateName": "custom-copilot-rag-custom-api",
393
+ "description": "Create agent, chat bot, web pages or other apps in Microsoft Teams using Teams AI library. - Agent that uses your content and knowledge to accurately answer domain-specific questions - Load your data from custom APIs based on OpenAPI description document",
394
+ "readme": "# Overview of the Chat With Your Data (Using Custom API) template\r\n\r\nThis template showcases how to build an AI-powered intelligent chatbot that can understand natural language to invoke the API defined in the OpenAPI description document, so you can enable your users to chat with the data provided through API service.\r\nThis app template is built on top of [Teams AI library V2](https://aka.ms/teams-ai-library-v2), which provides the capabilities to build AI-based applications.\r\n\r\n## Get started with the template\r\n\r\n> **Prerequisites**\r\n>\r\n> To run the template in your local dev machine, you will need:\r\n>\r\n> - [Node.js](https://nodejs.org/), supported versions: 20, 22\r\n{{^enableTestToolByDefault}}\r\n> - A [Microsoft 365 account for development](https://docs.microsoft.com/microsoftteams/platform/toolkit/accounts)\r\n{{/enableTestToolByDefault}}\r\n> - [Microsoft 365 Agents Toolkit Visual Studio Code Extension](https://aka.ms/teams-toolkit) version 5.0.0 and higher or [Microsoft 365 Agents Toolkit CLI](https://aka.ms/teamsfx-toolkit-cli)\r\n{{#useOpenAI}}\r\n> - An account with [OpenAI](https://platform.openai.com/)\r\n{{/useOpenAI}}\r\n{{#useAzureOpenAI}}\r\n> - Prepare your own [Azure OpenAI](https://aka.ms/oai/access) resource.\r\n{{/useAzureOpenAI}}\r\n\r\n> For local debugging using Microsoft 365 Agents Toolkit CLI, you need to do some extra steps described in [Set up your Microsoft 365 Agents Toolkit CLI for local debugging](https://aka.ms/teamsfx-cli-debugging).\r\n\r\n1. First, select the Microsoft 365 Agents Toolkit icon on the left in the VS Code toolbar.\r\n{{#enableTestToolByDefault}}\r\n{{#useOpenAI}}\r\n1. In file *env/.env.playground.user*, fill in your OpenAI key `SECRET_OPENAI_API_KEY=<your-key>`.\r\n{{/useOpenAI}}\r\n{{#useAzureOpenAI}}\r\n1. In file *env/.env.playground.user*, fill in your Azure OpenAI key `SECRET_AZURE_OPENAI_ENDPOINT=<your-key>`, endpoint `SECRET_AZURE_OPENAI_ENDPOINT=<your-endpoint>` and deployment name `AZURE_OPENAI_MODEL_DEPLOYMENT_NAME=<your-deployment-name>`.\r\n{{/useAzureOpenAI}}\r\n1. Press F5 to start debugging which launches your app in Microsoft 365 Agents Playground using a web browser. Select `Debug in Microsoft 365 Agents Playground`.\r\n1. You can send any message to get a response from the agent.\r\n\r\n**Congratulations**! You are running an application that can now interact with users in Microsoft 365 Agents Playground:\r\n\r\n![custom api template](https://github.com/user-attachments/assets/8dcc7c2d-3438-4270-b91f-0693155fa8e0)\r\n{{/enableTestToolByDefault}}\r\n{{^enableTestToolByDefault}}\r\n1. In the Account section, sign in with your [Microsoft 365 account](https://docs.microsoft.com/microsoftteams/platform/toolkit/accounts) if you haven't yet.\r\n{{#useOpenAI}}\r\n1. In file *env/.env.local.user*, fill in your OpenAI key `SECRET_OPENAI_API_KEY=<your-key>`.\r\n{{/useOpenAI}}\r\n{{#useAzureOpenAI}}\r\n1. In file *env/.env.local.user*, fill in your Azure OpenAI key `SECRET_AZURE_OPENAI_ENDPOINT=<your-key>`, endpoint `SECRET_AZURE_OPENAI_ENDPOINT=<your-endpoint> and deployment name `AZURE_OPENAI_MODEL_DEPLOYMENT_NAME=<your-deployment-name>`.\r\n{{/useAzureOpenAI}}\r\n1. Press F5 to start debugging which launches your app in Teams using a web browser. Select `Debug in Teams (Edge)` or `Debug in Teams (Chrome)`.\r\n1. When Teams launches in the browser, select the Add button in the dialog to install your app to Teams.\r\n1. You can send any message to get a response from the agent.\r\n\r\n**Congratulations**! You are running an application that can now interact with users in Teams:\r\n\r\n![custom api template](https://github.com/OfficeDev/TeamsFx/assets/63089166/19f4c825-c296-4d29-a957-bedb88b6aa5b)\r\n{{/enableTestToolByDefault}}\r\n\r\n## What's included in the template\r\n\r\n| Folder | Contents |\r\n| - | - |\r\n| `.vscode` | VSCode files for debugging |\r\n| `appPackage` | Templates for the application manifest |\r\n| `appPackage/apiSpecificationFile` | Generated API spec file |\r\n| `env` | Environment files |\r\n| `infra` | Templates for provisioning Azure resources |\r\n| `src` | The source code for the application |\r\n\r\nThe following files can be customized and demonstrate an example implementation to get you started.\r\n\r\n| File | Contents |\r\n| - | - |\r\n|`src/index.ts`| Application entry point.|\r\n|`src/config.ts`| Defines the environment variables.|\r\n|`src/app/instructions.txt`| Defines the prompt.|\r\n|`src/app/handlers.ts`| Function handlers.|\r\n|`src/app/functions.json`| Defines the functions.|\r\n|`src/app/utility.ts`| Utility methods for the AI agent.|\r\n\r\nThe following are Microsoft 365 Agents Toolkit specific project files. You can [visit a complete guide on Github](https://github.com/OfficeDev/TeamsFx/wiki/Teams-Toolkit-Visual-Studio-Code-v5-Guide#overview) to understand how Microsoft 365 Agents Toolkit works.\r\n\r\n| File | Contents |\r\n| - | - |\r\n|`m365agents.yml`|This is the main Microsoft 365 Agents Toolkit project file. The project file defines two primary things: Properties and configuration Stage definitions. |\r\n|`m365agents.local.yml`|This overrides `m365agents.yml` with actions that enable local execution and debugging.|\r\n|`m365agents.playground.yml`| This overrides `m365agents.yml` with actions that enable local execution and debugging in Microsoft 365 Agents Playground.|\r\n\r\n## Extend the template\r\n\r\nTo extend the Basic AI Chatbot template with more AI capabilities, explore [Teams AI library V2 documentation](https://aka.ms/m365-agents-toolkit/teams-agent-extend-ai).\r\n\r\n## Additional information and references\r\n\r\n- [Microsoft 365 Agents Toolkit Documentations](https://docs.microsoft.com/microsoftteams/platform/toolkit/teams-toolkit-fundamentals)\r\n- [Microsoft 365 Agents Toolkit CLI](https://aka.ms/teamsfx-toolkit-cli)\r\n- [Microsoft 365 Agents Toolkit Samples](https://github.com/OfficeDev/TeamsFx-Samples)\r\n",
395
+ "supportedLanguages": [
396
+ "typescript",
397
+ "javascript"
398
+ ],
399
+ "templateIds": [
400
+ "custom-copilot-rag-custom-api-ts",
401
+ "custom-copilot-rag-custom-api-js"
402
+ ]
403
+ },
404
+ {
405
+ "nodes": [
406
+ {
407
+ "nodeId": "project-type",
408
+ "optionId": "teams-agent-and-app-type",
409
+ "optionLabel": "Teams Agents and Apps"
410
+ },
411
+ {
412
+ "nodeId": "teams-app-type",
413
+ "optionId": "others",
414
+ "optionLabel": "Other Teams Capabilities"
415
+ },
416
+ {
417
+ "nodeId": "teams-capability",
418
+ "optionId": "tab-non-sso",
419
+ "optionLabel": "Tab"
420
+ }
421
+ ],
422
+ "templateName": "non-sso-tab",
423
+ "description": "Create agent, chat bot, web pages or other apps in Microsoft Teams using Teams AI library. - App that uses tab, bot and message extension - A simple implementation of a web app that's ready to customize",
424
+ "readme": "# Overview of the Basic Tab template\n\nThis template showcases how Microsoft Teams supports the ability to run web-based UI inside \"custom tabs\" that users can install either for just themselves (personal tabs) or within a team or group chat context.\n\n## Get started with the Basic Tab template\n\n> **Prerequisites**\n>\n> To run the basic tab template in your local dev machine, you will need:\n>\n> - [Node.js](https://nodejs.org/), supported versions: >=20.\n> - A [Microsoft 365 account for development](https://docs.microsoft.com/microsoftteams/platform/toolkit/accounts)\n> Please note that after you enrolled your developer tenant in Office 365 Target Release, it may take couple days for the enrollment to take effect.\n> - [Microsoft 365 Agents Toolkit Visual Studio Code Extension](https://aka.ms/teams-toolkit) version 6.0.0 and higher or [Microsoft 365 Agents Toolkit CLI](https://aka.ms/teamsfx-toolkit-cli)\n\n1. First, select the Microsoft 365 Agents Toolkit icon on the left in the VS Code toolbar.\n2. In the Account section, sign in with your [Microsoft 365 account](https://docs.microsoft.com/microsoftteams/platform/toolkit/accounts) if you haven't already.\n3. Press F5 to start debugging which launches your app in Teams using a web browser. Select `Debug in Teams (Edge)` or `Debug in Teams (Chrome)`.\n4. When Teams launches in the browser, select the Add button in the dialog to install your app to Teams.\n\n**Congratulations**! You are running an application that can now show a basic web page in Teams, Outlook and the Microsoft 365 app.\n\n![Basic Tab](https://github.com/user-attachments/assets/d87fa70b-238b-4f9f-bde8-cf16c086332d)\n\n## What's included in the template\n\n| Folder | Contents |\n| ------------ | -------------------------------------------- |\n| `.vscode` | VSCode files for debugging |\n| `appPackage` | Templates for the application manifest |\n| `env` | Environment files |\n| `infra` | Templates for provisioning Azure resources |\n| `src` | The source code for the application |\n\nThe following files can be customized and demonstrate an example implementation to get you started.\n\n| File | Contents |\n| -------------------------------- | --------------------------------------------------------------------------------------------------------------- |\n| `index.html` | HTML file. |\n| `src/Tab/App.css` | CSS file for the app. |\n| `src/Tab/App.tsx` | Tab source file. It calls `teamsjs` SDK to get the context of on which Microsoft 365 application your app is running. |\n| `src/index.ts` | Starting the app using [Teams AI(v2)](https://microsoft.github.io/teams-ai). |\n| `vite.config.js` | Configuration for Vite build tool. | \n| `nodemon.json` | Configuration for Nodemon to watch and restart the server. |\n\nThe following are Microsoft 365 Agents Toolkit specific project files. You can [visit a complete guide on Github](https://github.com/OfficeDev/TeamsFx/wiki/Teams-Toolkit-Visual-Studio-Code-v5-Guide#overview) to understand how Microsoft 365 Agents Toolkit works.\n\n| File | Contents |\n| -------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |\n| `m365agents.yml` | This is the main Microsoft 365 Agents Toolkit project file. The project file defines two primary things: Properties and configuration Stage definitions. |\n| `m365agents.local.yml` | This overrides `m365agents.yml` with actions that enable local execution and debugging. |\n\n## Extend the Basic Tab template\n\nFollowing documentation will help you to extend the Basic Tab template.\n\n- [Add or manage the environment](https://learn.microsoft.com/microsoftteams/platform/toolkit/teamsfx-multi-env)\n- [Create multi-capability app](https://learn.microsoft.com/microsoftteams/platform/toolkit/add-capability)\n- [Access data in Microsoft Graph](https://learn.microsoft.com/microsoftteams/platform/toolkit/teamsfx-sdk#microsoft-graph-scenarios)\n- [Use an existing Microsoft Entra application](https://learn.microsoft.com/microsoftteams/platform/toolkit/use-existing-aad-app)\n- [Customize the app manifest](https://learn.microsoft.com/microsoftteams/platform/toolkit/teamsfx-preview-and-customize-app-manifest)\n- Host your app in Azure by [provision cloud resources](https://learn.microsoft.com/microsoftteams/platform/toolkit/provision) and [deploy the code to cloud](https://learn.microsoft.com/microsoftteams/platform/toolkit/deploy)\n- [Collaborate on app development](https://learn.microsoft.com/microsoftteams/platform/toolkit/teamsfx-collaboration)\n- [Set up the CI/CD pipeline](https://learn.microsoft.com/microsoftteams/platform/toolkit/use-cicd-template)\n- [Publish the app to your organization or the Microsoft app store](https://learn.microsoft.com/microsoftteams/platform/toolkit/publish)\n- [Enable the app for multi-tenant](https://github.com/OfficeDev/TeamsFx/wiki/Multi-tenancy-Support-for-Azure-AD-app)\n- [Preview the app on mobile clients](https://aka.ms/teamsfx-mobile)\n",
425
+ "supportedLanguages": [
426
+ "typescript"
427
+ ],
428
+ "templateIds": [
429
+ "basic-tab-ts"
430
+ ]
431
+ },
432
+ {
433
+ "nodes": [
434
+ {
435
+ "nodeId": "project-type",
436
+ "optionId": "teams-agent-and-app-type",
437
+ "optionLabel": "Teams Agents and Apps"
438
+ },
439
+ {
440
+ "nodeId": "teams-app-type",
441
+ "optionId": "others",
442
+ "optionLabel": "Other Teams Capabilities"
443
+ },
444
+ {
445
+ "nodeId": "teams-capability",
446
+ "optionId": "basic-message-extension",
447
+ "optionLabel": "Message Extension"
448
+ }
449
+ ],
450
+ "templateName": "default-message-extension",
451
+ "description": "Create agent, chat bot, web pages or other apps in Microsoft Teams using Teams AI library. - App that uses tab, bot and message extension - Receive user input, process it, and send customized results",
452
+ "readme": "# Overview of Message Extensions template\n\nA Teams app that show cases three message extensions features:\n\n- action commands: allows users to interact with your app through buttons and forms in the compose message area in Microsoft Teams.\n- search commands: allows users to search for information or perform actions within the context of the message.\n- link unfurling: unfurls a link into an adaptive card when URLs with a particular domain are pasted into the compose message area in Microsoft Teams.\n\n## Get Started\n\n> **Prerequisites**\n>\n> - [Node.js](https://nodejs.org/), supported versions: 20, 22\n> - [Microsoft 365 Agents Toolkit Visual Studio Code Extension](https://aka.ms/teams-toolkit) version 5.0.0 and higher or [Microsoft 365 Agents Toolkit CLI](https://aka.ms/teamsfx-toolkit-cli)\n\n> For local debugging using Microsoft 365 Agents Toolkit CLI, you need to do some extra steps described in [Set up your Microsoft 365 Agents Toolkit CLI for local debugging](https://aka.ms/teamsfx-cli-debugging).\n\n1. First, select the Microsoft 365 Agents Toolkit icon on the left in the VS Code toolbar.\n2. Press F5 to start debugging which launches your app in Microsoft 365 Agents Playground using a web browser.\n3. The browser will pop up to open Microsoft 365 Agents Playground.\n4. Click the \"+\" button in the input box, select \"Action Command\" and input \"createCard\" into \"Command Id\" field. Select \"Static list of parameters\" and then click \"Create\". Fill out the form and click `Submit` to send an adaptive card to the current chat or channel.\n5. Click the \"+\" button in the input box, select \"Search Command\" and input \"searchQuery\" into \"Command Id\" field. Input a search query. Select one of the search results to send an adaptive card to the current chat or channel.\n6. Click the \"+\" button in the input box, select \"Link Unfurling\" and paste a link ending with `.botframework.com`. You should see an adaptive card unfurled. Click `Send to Conversation` to send it to the current chat or channel.\n\n## What's included in the template\n\n| Folder / File | Contents |\n| --------------------------- | -------------------------------------------------------------------------------------------------------------------------- |\n| `m365agents.yml` | Main project file describes your application configuration and defines the set of actions to run in each lifecycle stages |\n| `m365agents.local.yml` | This overrides `m365agents.yml` with actions that enable local execution and debugging |\n| `m365agents.playground.yml` | This overrides `m365agents.yml` with actions that enable local execution and debugging in Microsoft 365 Agents Playground. |\n| `.vscode/` | VSCode files for local debug |\n| `src/` | The source code for the link unfurling application |\n| `appPackage/` | Templates for the application manifest |\n| `infra/` | Templates for provisioning Azure resources |\n\nThe following files can be customized and demonstrate an example implementation to get you started.\n\n| File | Contents |\n| -------------- | ------------------------------------- |\n| `src/index.ts` | Application entry point |\n| `src/card.ts` | Adaptive card creation and management |\n",
453
+ "supportedLanguages": [
454
+ "typescript"
455
+ ],
456
+ "templateIds": [
457
+ "message-extension-v2-ts"
458
+ ]
459
+ },
460
+ {
461
+ "nodes": [
462
+ {
463
+ "nodeId": "project-type",
464
+ "optionId": "teams-agent-and-app-type",
465
+ "optionLabel": "Teams Agents and Apps"
466
+ },
467
+ {
468
+ "nodeId": "teams-app-type",
469
+ "optionId": "others",
470
+ "optionLabel": "Other Teams Capabilities"
471
+ },
472
+ {
473
+ "nodeId": "teams-capability",
474
+ "optionId": "bot",
475
+ "optionLabel": "Simple Bot"
476
+ }
477
+ ],
478
+ "templateName": "default-bot",
479
+ "description": "Create agent, chat bot, web pages or other apps in Microsoft Teams using Teams AI library. - App that uses tab, bot and message extension - A simple implementation of an echo bot that's ready for customization",
480
+ "readme": "# Overview of the Basic Bot template\r\n\r\nExamples of Microsoft Teams bots in everyday use include:\r\n\r\n- Bots that notify about build failures.\r\n- Bots that provide information about the weather or bus schedules.\r\n- Bots that provide travel information.\r\n\r\nA bot interaction can be a quick question and answer, or it can be a complex conversation. Being a cloud application, a bot can provide valuable and secure access to cloud services and corporate resources. \r\nThis app template is built on top of [Teams AI library V2](https://aka.ms/teams-ai-library-v2).\r\n## Get started with the Basic Bot template\r\n\r\n> **Prerequisites**\r\n>\r\n> To run the Basic Bot template in your local dev machine, you will need:\r\n>\r\n> - [Node.js](https://nodejs.org/), supported versions: 20, 22\r\n{{^enableTestToolByDefault}}\r\n> - A [Microsoft 365 account for development](https://docs.microsoft.com/microsoftteams/platform/toolkit/accounts)\r\n{{/enableTestToolByDefault}}\r\n> - [Microsoft 365 Agents Toolkit Visual Studio Code Extension](https://aka.ms/teams-toolkit) version 5.0.0 and higher or [Microsoft 365 Agents Toolkit CLI](https://aka.ms/teamsfx-toolkit-cli)\r\n\r\n> For local debugging using Microsoft 365 Agents Toolkit CLI, you need to do some extra steps described in [Set up your Microsoft 365 Agents Toolkit CLI for local debugging](https://aka.ms/teamsfx-cli-debugging).\r\n\r\n1. First, select the Microsoft 365 Agents Toolkit icon on the left in the VS Code toolbar.\r\n{{#enableTestToolByDefault}}\r\n2. Press F5 to start debugging which launches your app in Microsoft 365 Agents Playground using a web browser. Select `Debug in Microsoft 365 Agents Playground`.\r\n3. The browser will pop up to open Microsoft 365 Agents Playground.\r\n4. You will receive a welcome message from the bot, and you can send anything to the bot to get an echoed response.\r\n\r\n**Congratulations**! You are running an application that can now interact with users in Microsoft 365 Agents Playground:\r\n\r\n![basic bot](./img/echo-bot.png)\r\n\r\n{{/enableTestToolByDefault}}\r\n{{^enableTestToolByDefault}}\r\n2. In the Account section, sign in with your [Microsoft 365 account](https://docs.microsoft.com/microsoftteams/platform/toolkit/accounts) if you haven't already.\r\n3. Press F5 to start debugging which launches your app in Teams using a web browser. Select `Debug in Teams (Edge)` or `Debug in Teams (Chrome)`.\r\n4. When Teams launches in the browser, select the Add button in the dialog to install your app to Teams.\r\n5. You will receive a welcome message from the bot, and you can send anything to the bot to get an echoed response.\r\n\r\n**Congratulations**! You are running an application that can now interact with users in Teams:\r\n\r\n![basic bot](https://github.com/OfficeDev/TeamsFx/assets/25220706/170096d2-b353-4d4e-b55a-2c8ae4d97514)\r\n{{/enableTestToolByDefault}}\r\n\r\n## What's included in the template\r\n\r\n| Folder | Contents |\r\n| - | - |\r\n| `.vscode` | VSCode files for debugging |\r\n| `appPackage` | Templates for the application manifest |\r\n| `env` | Environment files |\r\n| `infra` | Templates for provisioning Azure resources |\r\n\r\nThe following files can be customized and demonstrate an example implementation to get you started.\r\n\r\n| File | Contents |\r\n| - | - |\r\n|`app.ts`| Handles business logics for the echo bot.|\r\n|`index.ts`|`index.ts` is used to setup and configure the echo bot.|\r\n\r\nThe following are Microsoft 365 Agents Toolkit specific project files. You can [visit a complete guide on Github](https://github.com/OfficeDev/TeamsFx/wiki/Teams-Toolkit-Visual-Studio-Code-v5-Guide#overview) to understand how Microsoft 365 Agents Toolkit works.\r\n\r\n| File | Contents |\r\n| - | - |\r\n|`m365agents.yml`|This is the main Microsoft 365 Agents Toolkit project file. The project file defines two primary things: Properties and configuration Stage definitions. |\r\n|`m365agents.local.yml`|This overrides `m365agents.yml` with actions that enable local execution and debugging.|\r\n|`m365agents.playground.yml`| This overrides `m365agents.yml` with actions that enable local execution and debugging in Microsoft 365 Agents Playground.|\r\n\r\n## Extend the Basic Bot template\r\n\r\nFollowing documentation will help you to extend the Basic Bot template.\r\n\r\n- [Add or manage the environment](https://learn.microsoft.com/microsoftteams/platform/toolkit/teamsfx-multi-env)\r\n- [Create multi-capability app](https://learn.microsoft.com/microsoftteams/platform/toolkit/add-capability)\r\n- [Add single sign on to your app](https://learn.microsoft.com/microsoftteams/platform/toolkit/add-single-sign-on)\r\n- [Access data in Microsoft Graph](https://learn.microsoft.com/microsoftteams/platform/toolkit/teamsfx-sdk#microsoft-graph-scenarios)\r\n- [Use an existing Microsoft Entra application](https://learn.microsoft.com/microsoftteams/platform/toolkit/use-existing-aad-app)\r\n- [Customize the app manifest](https://learn.microsoft.com/microsoftteams/platform/toolkit/teamsfx-preview-and-customize-app-manifest)\r\n- Host your app in Azure by [provision cloud resources](https://learn.microsoft.com/microsoftteams/platform/toolkit/provision) and [deploy the code to cloud](https://learn.microsoft.com/microsoftteams/platform/toolkit/deploy)\r\n- [Collaborate on app development](https://learn.microsoft.com/microsoftteams/platform/toolkit/teamsfx-collaboration)\r\n- [Set up the CI/CD pipeline](https://learn.microsoft.com/microsoftteams/platform/toolkit/use-cicd-template)\r\n- [Publish the app to your organization or the Microsoft app store](https://learn.microsoft.com/microsoftteams/platform/toolkit/publish)\r\n- [Develop with Microsoft 365 Agents Toolkit CLI](https://aka.ms/teams-toolkit-cli/debug)\r\n- [Preview the app on mobile clients](https://aka.ms/teamsfx-mobile)\r\n",
481
+ "supportedLanguages": [
482
+ "typescript",
483
+ "javascript"
484
+ ],
485
+ "templateIds": [
486
+ "default-bot-ts",
487
+ "default-bot-js"
488
+ ]
489
+ },
490
+ {
491
+ "nodes": [
492
+ {
493
+ "nodeId": "project-type",
494
+ "optionId": "office-meta-os-type",
495
+ "optionLabel": "Office Add-in"
496
+ },
497
+ {
498
+ "nodeId": "capabilities",
499
+ "optionId": "wxp-json-taskpane",
500
+ "optionLabel": "Task pane"
501
+ }
502
+ ],
503
+ "templateName": "office-addin-wxpo-taskpane",
504
+ "description": "Extend Office applications to interact with content in Office documents and Outlook items - Customize the ribbon with a button and embed content in the task pane",
505
+ "readme": "# Build Office add-ins using Microsoft 365 Agents Toolkit\nOffice add-ins are integrations built by third parties into Office by using our web-based platform. This add-in template supports: Word, Excel, PowerPoint, Outlook.\nNow you have the ability to create a single unit of distribution for all your Microsoft 365 extensions by using the same manifest format and schema, based on the current JSON-formatted Teams manifest.\n\n> Note:\n> The unified app manifest for Word, Excel, and PowerPoint is in preview. Visit [this link](https://aka.ms/officeversions) to check the required Office Versions. Also, publishing a unified add-in for Word, Excel, PowerPoint is not supported currently.\n\n## Prerequisites\n\n- [Node.js](https://nodejs.org/), supported versions: 18, 20, 22.\n- Word/Excel/PowerPoint for Windows: Beta Channel, Build 18514 or higher. Outlook For Windows, Build 16425 or higher. Follow [this link](https://github.com/OfficeDev/TeamsFx/wiki/How-to-switch-Outlook-client-update-channel-and-verify-Outlook-client-build-version) for switching update channels and check your Office client build version.\n- Edge installed for debugging Office add-in.\n- A M365 account. If you do not have M365 account, apply one from [M365 developer program](https://developer.microsoft.com/en-us/microsoft-365/dev-program)\n- [Microsoft 365 Agents Toolkit Visual Studio Code Extension](https://aka.ms/teams-toolkit) version 5.0.0 and higher.\n\n## Debug Office add-in\n- Please note that the same M365 account should be used both in Microsoft 365 Agents Toolkit and Office.\n- From Visual Studio Code: Start debugging the project by choosing launch profile (default value is Word) in `Run and Debug` pane and hitting the `F5` key in Visual Studio Code. Please run VSCode as administrator if localhost loopback for Microsoft Edge Webview hasn't been enabled. Once enbaled, administrator priviledge is no longer required.\n\n## Edit the manifest\n\nYou can find the app manifest in `./appPackage` folder. The folder contains one manifest file:\n* `manifest.json`: Manifest file for Office add-in running locally or running remotely (After deployed to Azure).\nYou may add any extra properties or permissions you require to this file. See the [schema reference](https://raw.githubusercontent.com/OfficeDev/microsoft-teams-app-schema/preview/op/extensions/MicrosoftTeams.schema.json) for more information.\n\n## Deploy to Azure\n\nDeploy your project to Azure by following these steps:\n\n| From Visual Studio Code | From Microsoft 365 Agents Toolkit CLI |\n| :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| <ul><li>Open Microsoft 365 Agents Toolkit, and sign into Azure by clicking the `Sign in to Azure` under the `ACCOUNTS` section from sidebar.</li> <li>After you signed in, select a subscription under your account.</li><li>Open the Microsoft 365 Agents Toolkit and click `Provision` from LIFECYCLE section or open the command palette and select: `Microsoft 365 Agents: Provision`.</li><li>Open the Microsoft 365 Agents Toolkit and click `Deploy` or open the command palette and select: `Microsoft 365 Agents: Deploy`.</li></ul> | <ul> <li>Run command `atk auth login azure`.</li> <li>(Optional)Set environment variable AZURE_SUBSCRIPTION_ID to your subscription id in env/.env.dev or in your current shell envrionment if you are using non-interactive mode of `teamsfx` CLI.</li> <li> Run command `atk provision`.</li> <li>Run command: `atk deploy`. </li></ul> |\n> Note: Provisioning and deployment may incur charges to your Azure Subscription.\n\nTo sideload the deployed add-in:\n\n- Copy the production URL from the `ADDIN_ENDPOINT` in env/.env.dev file.\n- Edit webpack.config.js file and change `urlProd` to the value you just copied. Please note to add a '/' at the end of the URL.\n- Run `npm run build`.\n- Run `npx office-addin-dev-settings sideload ./dist/manifest.json`.\n\n## Validate manifest file\n\nTo check that your manifest file is valid:\n\n- From Visual Studio Code: open the command palette and select: `Microsoft 365 Agents: Validate Application` and select `Validate using manifest schema`.\n- From Microsoft 365 Agents Toolkit CLI: run command `atk validate` in your project directory.\n\n## Known Issues\n- Publish is not supported for an Office add-in project now.",
506
+ "supportedLanguages": [
507
+ "typescript"
508
+ ],
509
+ "templateIds": [
510
+ "office-addin-wxpo-taskpane-ts"
511
+ ]
512
+ },
513
+ {
514
+ "nodes": [
515
+ {
516
+ "nodeId": "project-type",
517
+ "optionId": "office-meta-os-type",
518
+ "optionLabel": "Office Add-in"
519
+ },
520
+ {
521
+ "nodeId": "capabilities",
522
+ "optionId": "office-addin-import",
523
+ "optionLabel": "Upgrade an Existing Office Add-in"
524
+ }
525
+ ],
526
+ "templateName": "office-addin-config",
527
+ "description": "Extend Office applications to interact with content in Office documents and Outlook items - Upgrade an add-in project to the latest app manifest and project structure",
528
+ "readme": "",
529
+ "supportedLanguages": [
530
+ "typescript"
531
+ ],
532
+ "templateIds": [
533
+ "office-addin-config-ts"
534
+ ]
535
+ }
536
+ ]