Loading image...Kiro

Product

  • About Kiro
  • IDE
  • CLI
  • Web
  • Mobile
  • Crew
  • Pricing
  • Downloads

For

  • Enterprise
  • Startups
  • Students

Community

  • Overview
  • Ambassadors
  • Discord
  • Events
  • Powers
  • Shop
  • Showcase

Resources

  • Docs
  • Blog
  • Changelog
  • FAQs
  • Report a bug
  • Suggest an idea
  • Billing support

Social

Site TermsLicenseResponsible AI PolicyLegalPrivacy PolicyCookie Preferences
Loading image...Kiro
  • Enterprise
  • Pricing
  • Docs
SIGN INDOWNLOADS
Loading image...Kiro

Get Started

InstallationAuthenticationYour first project

Models

OverviewAvailable modelsReasoning effort

Features

How Kiro works
Specs
Steering
Hooks
MCP
Permissions
Custom agents
Agent Skills
Powers
CompactionKiroignoreCheckpoints and rewind
Built-in tools
Configuration scopes

IDE 1.x

What's new in 1.0
Setup & First Run
Editor
Chat
Experimental
Troubleshooting0.x reference

CLI

What's new in 3.0
Setup & First Run
Terminal UI
Chat
Headless modeACPAuto complete
Experimental
2.x reference

Crew

Quick startInstallationRunning 24/7
Chat
Agent Capabilities
Features
Interfaces
Slack
Discord
Telegram
Teams
Webex
WeCom
WeChat (Weixin)
CLI reference
Apps
ConfigurationSecurityTroubleshooting

Web - Preview

Setup & First RunIdentity Center
Connect your repositories
Working with the agent
Autonomous modeAutomations
Sandbox

Mobile - Preview

Overview

Commands and Reference

CLI commandsSlash commandsBuilt-in toolsExit codesSettingsIDE keyboard shortcuts

Billing

OverviewManaging your subscriptionUpgrading your planDowngrading your planCancelling your planPurchasing add-on creditsManaging your paymentsManaging usage notificationsManaging your taxesContacting billing supportDeleting your accountRelated questions

Enterprise

ConceptsOnboarding quickstart
Connecting your identity provider
Subscribe your teamManage subscriptions
Governance
Monitor and track
SettingsManaged updatesBillingIAMSupported regions

Privacy and Security

OverviewData protectionCode referencesCompliance validationInfrastructure securityIAM permissionsFirewalls, proxies, and data perimetersVPC endpoints (AWS PrivateLink)

Guides

Overview
Language support
Learn by playing

Migration

Migrating from Q DeveloperMigrating from VSCodeUpgrading from Q CLI
  1. Docs
  2. Crew
  3. Interfaces
  4. Teams

Teams


Crew can run as a Microsoft Teams bot. DM your agent from Teams with streaming replies and a typing indicator.

Warning

Unlike the other channels (which connect outbound), Teams uses the Bot Framework push model — it requires a public HTTPS URL that reaches your gateway. Set up a reverse proxy, dev tunnel, or host on a public VM.

How it works

The Microsoft Bot Framework pushes activities to an endpoint you host. Crew:

  1. Registers an inbound route: POST /api/messaging/teams
  2. Validates every request's Authorization: Bearer <jwt> against Bot Framework signing keys before processing
  3. Fast-acks with 200, runs the agent turn in the background, then sends the reply via the Bot Connector REST API

Prerequisites

  • A public HTTPS URL reaching your gateway (reverse proxy, dev tunnel, or public VM)
  • The Teams extra installed: pip install "kirocrew[teams]"
  • An Azure Bot registration with a Microsoft App ID and secret

Setup

From the dashboard (recommended)

  1. Register an Azure Bot in the Azure Portal — create an Azure Bot resource, note the App ID, create a client secret, add the Microsoft Teams channel, and set the messaging endpoint to https://<your-host>/api/messaging/teams
  2. Open Settings → Channels → Teams in the dashboard
  3. Paste the App ID, App Password (client secret), and Tenant ID (or leave blank for multi-tenant)
  4. Add your Azure AD email or object ID to the Allowed emails list
  5. Click Save — the status badge turns green when the credentials validate

Then side-load a Teams app package (Developer Portal → new app → Bot with your App ID, scope Personal) and DM the bot.

From the CLI

In ~/.kiro/crew/.env:

MICROSOFT_APP_ID=<your app id> MICROSOFT_APP_PASSWORD=<your client secret> MICROSOFT_APP_TENANT_ID=<tenant id or leave unset>

In ~/.kiro/crew/config.json:

json
{ "teams": { "enabled": true, "allowed_emails": ["you@yourcompany.com"] } }

Install the Teams extra: pip install "kirocrew[teams]"

Then: kirocrew restart

Commands

CommandEffect
/newFresh conversation
/compactCompress context
/helpList commands

Security

  • Webhook is exempt from dashboard cookie gate — performs its own Bot Framework JWT validation
  • Authorization is deny-by-default on both the email allowlist and conversation scope (personal only)
  • All denials recorded in the security event log
  • App Password is marked sensitive and never logged

Limitations

  • 1:1 personal chat only — no team channels, group chats, or @mention handling
  • No Adaptive Cards / tappable buttons (options delivered as plain text)
  • No token-by-token streaming — typing indicator shown, final answer delivered in one message (chunked if long)

Configuration

KeyDefaultPurpose
teams.enabledfalseTurns the channel on
teams.allowed_emails[]UPNs/emails/object IDs allowed (empty = nobody)
teams.soft_threshold_pct80Context % where bot suggests /compact
teams.hard_threshold_pct95Force-compact threshold

Troubleshooting

ProblemFix
401 on inbound requestsApp ID or secret is wrong; check Azure Bot registration
Bot doesn't respondConfirm allowed_emails includes your UPN or object ID
kirocrew[teams] not installedInstall with pip install "kirocrew[teams]"
No green badge in SettingsOutbound credential validation failed — check App ID/Password
Page updated: August 4, 2026
Telegram
Webex