Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
69 changes: 69 additions & 0 deletions .config/samples-config-v3.json
Original file line number Diff line number Diff line change
Expand Up @@ -893,6 +893,75 @@
"thumbnailPath": "assets/sampleResponse.png",
"gifPath": "assets/sampleResponse.png",
"suggested": false
},
{
"id": "coffee-agent",
"shortId": "coffee-agent",
"onboardDate": "2025-10-31",
"title": "Coffee Agent",
"shortDescription": "Originally from our Build 2025 Lab - simple coffee agent demonstration.",
"fullDescription": "This sample is built with the Microsoft Teams SDK, and showcases how easy it is to use activity handlers, adaptive cards, and AI to create a fun, interactive bot with just a few building blocks.",
"types": [
"Custom Engine Agent"
],
"tags": [
"TS",
"Custom Engine Agent",
"Adaptive Cards",
"Microsoft Teams SDK"
],
"time": "5 mins to run",
"configuration": "Manual configurations required",
"thumbnailPath": "assets/coffee-agent-thumbnail.png",
"gifPath": "assets/coffee-agent-thumbnail.png",
"suggested": false
},
{
"id": "collaborator-agent",
"shortId": "collaborator-agent",
"onboardDate": "2025-10-31",
"title": "Collaborator Agent",
"shortDescription": "Collaboration agent with advanced conversation analysis and task management capabilities.",
"fullDescription": "This sample is built with the Microsoft Teams SDK, and showcases how to create an intelligent collaboration assistant that can analyze conversations, manage action items, and search through chat history using natural language processing and time-based queries.",
"types": [
"Custom Engine Agent"
],
"tags": [
"TS",
"Custom Engine Agent",
"Conversation Analysis",
"Task Management",
"Microsoft Teams SDK"
],
"time": "10 mins to run",
"configuration": "Manual configurations required",
"thumbnailPath": "assets/collaborator-agent-thumbnail.png",
"gifPath": "assets/collaborator-agent-thumbnail.png",
"suggested": false
},
{
"id": "data-analyst-agent-v2",
"shortId": "data-analyst-v2",
"onboardDate": "2025-10-31",
"title": "Data Analyst Agent v2",
"shortDescription": "Natural language interface for data exploration and visualization.",
"fullDescription": "This sample demonstrates how to build an AI-powered data analyst agent using Microsoft Teams SDK that can be integrated into Microsoft Teams. It helps users explore and visualize data through natural language conversations and Adaptive Cards charts.",
"types": [
"Custom Engine Agent"
],
"tags": [
"TS",
"Custom Engine Agent",
"Data Visualization",
"Adaptive Cards",
"LLM SQL",
"Microsoft Teams SDK"
],
"time": "10 mins to run",
"configuration": "Manual configurations required",
"thumbnailPath": "assets/demo.gif",
"gifPath": "assets/demo.gif",
"suggested": false
}
]
}
6 changes: 6 additions & 0 deletions coffee-agent/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
env
node_modules/
.env
appPackage/build
.localConfigs
.localConfigs.playground
95 changes: 95 additions & 0 deletions coffee-agent/.vscode/launch.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
{
"version": "0.2.0",
"configurations": [
{
"name": "Launch Remote (Edge)",
"type": "msedge",
"request": "launch",
"url": "https://teams.microsoft.com/l/app/${{TEAMS_APP_ID}}?installAppPackage=true&webjoin=true&${account-hint}",
"presentation": {
"group": "remote",
"order": 1
},
"internalConsoleOptions": "neverOpen"
},
{
"name": "Launch Remote (Chrome)",
"type": "chrome",
"request": "launch",
"url": "https://teams.microsoft.com/l/app/${{TEAMS_APP_ID}}?installAppPackage=true&webjoin=true&${account-hint}",
"presentation": {
"group": "remote",
"order": 2
},
"internalConsoleOptions": "neverOpen"
},
{
"name": "Launch App (Edge)",
"type": "msedge",
"request": "launch",
"url": "https://teams.microsoft.com/l/app/${{local:TEAMS_APP_ID}}?installAppPackage=true&webjoin=true&${account-hint}",
"cascadeTerminateToConfigurations": ["Attach to Local Service"],
"presentation": {
"group": "all",
"hidden": true
},
"internalConsoleOptions": "neverOpen"
},
{
"name": "Launch App (Chrome)",
"type": "chrome",
"request": "launch",
"url": "https://teams.microsoft.com/l/app/${{local:TEAMS_APP_ID}}?installAppPackage=true&webjoin=true&${account-hint}",
"cascadeTerminateToConfigurations": ["Attach to Local Service"],
"presentation": {
"group": "all",
"hidden": true
},
"internalConsoleOptions": "neverOpen"
},
{
"name": "Attach to Local Service",
"type": "node",
"request": "attach",
"port": 9239,
"restart": true,
"presentation": {
"group": "all",
"hidden": true
},
"internalConsoleOptions": "neverOpen"
}
],
"compounds": [
{
"name": "Debug (Edge)",
"configurations": ["Launch App (Edge)", "Attach to Local Service"],
"preLaunchTask": "Start App Locally",
"presentation": {
"group": "all",
"order": 1
},
"stopAll": true
},
{
"name": "Debug (Chrome)",
"configurations": ["Launch App (Chrome)", "Attach to Local Service"],
"preLaunchTask": "Start App Locally",
"presentation": {
"group": "all",
"order": 2
},
"stopAll": true
},
{
"name": "Debug in Microsoft 365 Agents Playground",
"configurations": ["Attach to Local Service"],
"preLaunchTask": "Start App in Microsoft 365 Agents Playground",
"presentation": {
"group": "local",
"order": 1
},
"stopAll": true
}
]
}
204 changes: 204 additions & 0 deletions coffee-agent/.vscode/tasks.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,204 @@
// This file is automatically generated by Teams Toolkit.
// The teamsfx tasks defined in this file require Teams Toolkit version >= 5.0.0.
// See https://aka.ms/teamsfx-tasks for details on how to customize each task.
{
"version": "2.0.0",
"tasks": [
{
"label": "Start App Locally",
"dependsOn": [
"Validate prerequisites",
"Start local tunnel",
"Provision",
"Deploy",
"Start application"
],
"dependsOrder": "sequence"
},
{
// Check all required prerequisites.
// See https://aka.ms/teamsfx-tasks/check-prerequisites to know the details and how to customize the args.
"label": "Validate prerequisites",
"type": "teamsfx",
"command": "debug-check-prerequisites",
"args": {
"prerequisites": [
"nodejs", // Validate if Node.js is installed.
"m365Account", // Sign-in prompt for Microsoft 365 account, then validate if the account enables the sideloading permission.
"portOccupancy" // Validate available ports to ensure those debug ones are not occupied.
],
"portOccupancy": [
3978, // app service port
9239 // app inspector port for Node.js debugger
]
}
},
{
// Start the local tunnel service to forward public URL to local port and inspect traffic.
// See https://aka.ms/teamsfx-tasks/local-tunnel for the detailed args definitions.
"label": "Start local tunnel",
"type": "teamsfx",
"command": "debug-start-local-tunnel",
"args": {
"type": "dev-tunnel",
"ports": [
{
"portNumber": 3978,
"protocol": "http",
"access": "public",
"writeToEnvironmentFile": {
"endpoint": "BOT_ENDPOINT", // output tunnel endpoint as BOT_ENDPOINT
"domain": "BOT_DOMAIN" // output tunnel domain as BOT_DOMAIN
}
}
],
"env": "local"
},
"isBackground": true,
"problemMatcher": "$teamsfx-local-tunnel-watch"
},
{
// Create the debug resources.
// See https://aka.ms/teamsfx-tasks/provision to know the details and how to customize the args.
"label": "Provision",
"type": "teamsfx",
"command": "provision",
"args": {
"env": "local"
}
},
{
// Build project.
// See https://aka.ms/teamsfx-tasks/deploy to know the details and how to customize the args.
"label": "Deploy",
"type": "teamsfx",
"command": "deploy",
"args": {
"env": "local"
}
},
{
"label": "Start application",
"type": "shell",
"command": "npm run dev:teamsfx",
"isBackground": true,
"options": {
"cwd": "${workspaceFolder}"
},
"problemMatcher": {
"pattern": [
{
"regexp": "^.*$",
"file": 0,
"location": 1,
"message": 2
}
],
"background": {
"activeOnStart": true,
"beginsPattern": "[nodemon] starting",
"endsPattern": "listening|[nodemon] app crashed"
}
}
},
{
"label": "Start App in Microsoft 365 Agents Playground",
"dependsOn": [
"Validate prerequisites (Microsoft 365 Agents Playground)",
"Deploy (Microsoft 365 Agents Playground)",
"Start application (Microsoft 365 Agents Playground)",
"Start Microsoft 365 Agents Playground"
],
"dependsOrder": "sequence"
},
{
// Check all required prerequisites.
// See https://aka.ms/teamsfx-tasks/check-prerequisites to know the details and how to customize the args.
"label": "Validate prerequisites (Microsoft 365 Agents Playground)",
"type": "teamsfx",
"command": "debug-check-prerequisites",
"args": {
"prerequisites": [
"nodejs", // Validate if Node.js is installed.
"portOccupancy" // Validate available ports to ensure those debug ones are not occupied.
],
"portOccupancy": [
3978, // app service port
9239, // app inspector port for Node.js debugger
56150 // Microsoft 365 Agents Playground port
]
}
},
{
// Build project.
// See https://aka.ms/teamsfx-tasks/deploy to know the details and how to customize the args.
"label": "Deploy (Microsoft 365 Agents Playground)",
"type": "teamsfx",
"command": "deploy",
"args": {
"env": "playground"
}
},
{
"label": "Start application (Microsoft 365 Agents Playground)",
"type": "shell",
"command": "npm run dev:teamsfx:playground",
"isBackground": true,
"options": {
"cwd": "${workspaceFolder}"
},
"problemMatcher": {
"pattern": [
{
"regexp": "^.*$",
"file": 0,
"location": 1,
"message": 2
}
],
"background": {
"activeOnStart": true,
"beginsPattern": "[nodemon] starting",
"endsPattern": "listening|[nodemon] app crashed"
}
}
},
{
"label": "Start Microsoft 365 Agents Playground",
"type": "shell",
"command": "npm run dev:teamsfx:launch-playground",
"isBackground": true,
"options": {
"env": {
"PATH": "${workspaceFolder}/devTools/playground/node_modules/.bin:${env:PATH}"
}
},
"windows": {
"options": {
"env": {
"PATH": "${workspaceFolder}/devTools/playground/node_modules/.bin;${env:PATH}"
}
}
},
"problemMatcher": {
"pattern": [
{
"regexp": "^.*$",
"file": 0,
"location": 1,
"message": 2
}
],
"background": {
"activeOnStart": true,
"beginsPattern": ".*",
"endsPattern": "Listening on"
}
},
"presentation": {
"panel": "dedicated",
"reveal": "silent"
}
}
]
}
Loading
Loading