Chalk Labs
Need help deploying m365-agents-ts?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/nous-hermeshub-m365-agents-ts
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/m365-agents-ts
What's inside
- Skill name
m365-agents-ts- Description
- Microsoft 365 Agents SDK for TypeScript/Node.js.
- License
- MIT
- Instructions
- 184 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# Microsoft 365 Agents SDK (TypeScript)
Build enterprise agents for Microsoft 365, Teams, and Copilot Studio using the Microsoft 365 Agents SDK with Express hosting, AgentApplication routing, streaming responses, and Copilot Studio client integrations.
## Before implementation
- Use the microsoft-docs MCP to verify the latest API signatures for AgentApplication, startServer, and CopilotStudioClient.
- Confirm package versions on npm before wiring up samples or templates.
## Installation
```bash
npm install @microsoft/agents-hosting @microsoft/agents-hosting-express @microsoft/agents-activity
npm install @microsoft/agents-copilotstudio-client
```
## Environment Variables
```bash
PORT=3978
AZURE_RESOURCE_NAME=<azure-openai-resource>
AZURE_API_KEY=<azure-openai-key>
AZURE_OPENAI_DEPLOYMENT_NAME=gpt-4o-mini
TENANT_ID=<tenant-id>
CLIENT_ID=<client-id>
CLIENT_SECRET=<client-secret>
COPILOT_ENVIRONMENT_ID=<environment-id>
COPILOT_SCHEMA_NAME=<schema-name>
COPILOT_CLIENT_ID=<copilot-app-client-id>
COPILOT_BEARER_TOKEN=<copilot-jwt>
```
## Core Workflow: Express-hosted AgentApplication
```typescript
import { AgentApplication, TurnContext, TurnState } from "@microsoft/agents-hosting";
import { startServer } from "@microsoft/agents-hosting-express";
const agent = new AgentApplication<TurnState>();
agent.onConversationUpdate("membersAdded", async (context: TurnContext) => {
await context.sendActivity("Welcome to the agent.");
});
agent.onMessage("hello", async (context: TurnContext) => {
await context.sendActivity(`Echo: ${context.activity.text}`);
});
startServer(agent);
```
## Streaming responses with Azure OpenAI
```typescript
import { azure } from "@ai-sdk/azure";
import { AgentApplication, TurnContext, TurnState } from "@microsoft/agents-hosting";
import { startServer } from "@microsoft/agents-hosting-express";
import { streamText } from "ai";
const agent = new AgentApplication<TurnState>();
agent.onMessage("poem", async (context: TurnContext) => {
context.streamingResponse.setFeedbackLoop(true);
context.streamingResponse.setGeneratedByAILabel(true);
context.streamingResponse.setSensitivityLabel({
type: "https://schema.org/Message",
"@type": "CreativeWork",
name: "Internal",
});
await context.streamingResponse.queueInformativeUpdate("starting a poem...");
const { fullStream } = streamText({
model: azure(process.env.AZURE_OPENAI_DEPLOYMENT_NAME || "gpt-4o-mini"),
system: "You are a creative assistant.",
prompt: "Write a poem about Apollo.",
});
try {
for await (const part of fullStream) {
if (part.type === "text-delta" && part.text.length > 0) {
await context.streamingResponse.queueTextChunk(part.text);
}
if (part.type === "error") {
throw new Error(`Streaming error: ${part.error}`);
}
}
} finally {
await context.streamingResponse.endStream();
}
});
startServer(agent);
```
## Invoke activity handling
```typescript
import { Activity, ActivityTypes } from "@microsoft/agents-activity";
import { AgentApplication, TurnContext, TurnState } from "@microsoft/agents-hosting";
const agent = new AgentApplication<TurnState>();
agent.onActivity("invoke", async (context: TurnContext) => {
const invokeResponse = Activity.fromObject({
type: ActivityTypes.InvokeResponse,
value: { status: 200 },
});
await context.sendActivity(invokeResponse);
await context.sendActivity("Thanks for submitting your feedback.");
});
```
## Copilot Studio client (Direct to Engine)
```typescript
import { CopilotStudioClient } from "@microsoft/agents-copilotstudio-client";From nous-hermeshub/hermes-community-hub, MIT.
More from nous-hermeshub/hermes-community-hub
- 0.497score
mcp-builder-ms
nous-hermeshub
Use this skill when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node/TypeScript (MCP SDK).
SkillCFreshness: C★ 1Claude Code +9 - 0.494score
codex-fable5
nous-hermeshub
Apply Fable-inspired discipline to Codex work: inspect first, track goals and findings, ground conclusions in evidence, verify before completion, and adapt…
SkillCFreshness: C★ 1Claude Code +9 - 0.494score
accint-solve
nous-hermeshub
Route agent work through AccInt's MCP memory loop: retrieve prior outcomes, resolve frames, and close commitments with evidence.
SkillCFreshness: C★ 1Claude Code +9 - 0.494score
hosted-agents
nous-hermeshub
Build background agents in sandboxed environments.
SkillCFreshness: C★ 1Claude Code +9 - 0.494score
lambda-lang
nous-hermeshub
Native agent-to-agent language for compact multi-agent messaging.
SkillCFreshness: C★ 1Claude Code +9 - 0.494score
m365-agents-dotnet
nous-hermeshub
Microsoft 365 Agents SDK for .NET.
SkillCFreshness: C★ 1Claude Code +9 - 0.494score
multi-advisor
nous-hermeshub
Conselho de especialistas — consulta multiplos agentes do ecossistema em paralelo para analise multi-perspectiva de qualquer topico.
SkillCFreshness: C★ 1Claude Code +9 - 0.494score
mcp-builder
nous-hermeshub
Create MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools.
SkillCFreshness: C★ 1Claude Code +9 - 0.491score
langgraph
nous-hermeshub
Expert in LangGraph - the production-grade framework for building
SkillCFreshness: C★ 1Claude Code +9 - 0.491score
open-dynamic-workflows
nous-hermeshub
Plan, orchestrate, and adversarially verify parallel AI coding agents with a dynamic multi-agent workflow engine.
SkillCFreshness: C★ 1Claude Code +9 - 0.491score
multi-agent-task-orchestrator
nous-hermeshub
Route tasks to specialized AI agents with anti-duplication, quality gates, and 30-minute heartbeat monitoring
SkillCFreshness: C★ 1Claude Code +9 - 0.491score
zipai-optimizer
nous-hermeshub
Ultra-dense token optimizer skill for prompt caching, log pruning, AST-based inspection, and minified JSON payloads.
SkillCFreshness: C★ 1Claude Code +9
Signals
- Stars
- 1
- Forks
- 1
- Open issues
- 0
- Last commit (this folder)
- Jun 18, 2026 (4 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from nous-hermeshub
- 0.497score
mcp-builder-ms
nous-hermeshub
Use this skill when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node/TypeScript (MCP SDK).
SkillCFreshness: C★ 1Claude Code +9 - 0.494score
m365-agents-dotnet
nous-hermeshub
Microsoft 365 Agents SDK for .NET.
SkillCFreshness: C★ 1Claude Code +9 - 0.494score
accint-solve
nous-hermeshub
Route agent work through AccInt's MCP memory loop: retrieve prior outcomes, resolve frames, and close commitments with evidence.
SkillCFreshness: C★ 1Claude Code +9 - 0.494score
codex-fable5
nous-hermeshub
Apply Fable-inspired discipline to Codex work: inspect first, track goals and findings, ground conclusions in evidence, verify before completion, and adapt…
SkillCFreshness: C★ 1Claude Code +9 - 0.494score
hosted-agents
nous-hermeshub
Build background agents in sandboxed environments.
SkillCFreshness: C★ 1Claude Code +9 - 0.494score
lambda-lang
nous-hermeshub
Native agent-to-agent language for compact multi-agent messaging.
SkillCFreshness: C★ 1Claude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get m365-agents-ts running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
m365-agents-ts skill. Agent Mart. https://agentmart.dev/skills/nous-hermeshub-m365-agents-ts (last updated 2026-10-24)