Skip to main content

Integration library for Microsoft Agents with Slack

Project description

Microsoft Agents Hosting - Slack

PyPI version

Integration library for building Slack agents using the Microsoft 365 Agents SDK. Provides direct-to-Slack responses (the full Slack Web API surface, beyond what Azure Bot Service exposes), a typed SlackChannelData envelope with dot-notation property access, and a SlackStream helper for chat.startStream / chat.appendStream / chat.stopStream.

Release Notes

Version Date Release Notes
1.3.0 2026-07-30 1.3.0 Release Notes
1.2.0 2026-07-17 1.2.0 Release Notes
1.1.0 2026-06-19 1.1.0 Release Notes

Packages Overview

We offer the following PyPI packages to create conversational experiences based on Agents:

Package Name PyPI Version Description
microsoft-agents-activity PyPI Types and validators implementing the Activity protocol spec.
microsoft-agents-hosting-core PyPI Core library for Microsoft Agents hosting.
microsoft-agents-hosting-aiohttp PyPI Configures aiohttp to run the Agent.
microsoft-agents-hosting-fastapi PyPI Configures fastapi to run the Agent.
microsoft-agents-hosting-msteams PyPI Provides classes to host an Agent for Teams.
microsoft-agents-hosting-dialogs PyPI Dialog system with waterfall dialogs, prompts, and multi-turn conversation management.
microsoft-agents-hosting-slack PyPI Provides classes to host an Agent for Slack.
microsoft-agents-storage-blob PyPI Extension to use Azure Blob as storage.
microsoft-agents-storage-cosmos PyPI Extension to use CosmosDB as storage.
microsoft-agents-authentication-msal PyPI MSAL-based authentication for Microsoft Agents.
microsoft-agents-authentication-entra-auth-sidecar PyPI Credential-free Entra ID Agent ID authentication via the sidecar.

Installation

pip install microsoft-agents-hosting-slack

Usage

from microsoft_agents.hosting.core.app import AgentApplication
from microsoft_agents.hosting.slack import SlackAgentExtension
from microsoft_agents.hosting.slack.api import SlackChannelData

app = AgentApplication(options)
slack = SlackAgentExtension(app)

@slack.on_message()
async def on_slack_message(context, state):
    channel_data = SlackChannelData.from_activity(context.activity)
    await slack.call(
        context,
        "chat.postMessage",
        {
            "channel": channel_data.get("event.channel"),
            "text": f"You said: {context.activity.text}",
        },
        token=channel_data.api_token,
    )

Key Classes

  • SlackAgentExtension — registers Slack-channel-scoped message/event handlers; exposes call(...) and create_stream(...).
  • SlackChannelData — typed wrapper around Bot Service's Slack channel-data payload with get(path) / try_get(path) accessors.
  • SlackApi — async HTTP client for the Slack Web API.
  • SlackStream — wraps Slack's streaming methods for incremental message updates.
  • SlackHelpers — encode/decode and conversation-id parsing utilities.

Quick Links

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

microsoft_agents_hosting_slack-1.3.0.tar.gz (15.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

microsoft_agents_hosting_slack-1.3.0-py3-none-any.whl (19.5 kB view details)

Uploaded Python 3

File details

Details for the file microsoft_agents_hosting_slack-1.3.0.tar.gz.

File metadata

File hashes

Hashes for microsoft_agents_hosting_slack-1.3.0.tar.gz
Algorithm Hash digest
SHA256 95f8aade4777f336b63c085ec49dd28a4a3144c23afdc2f8b4c35053df8c02ec
MD5 97819cceef86ba34d8c977762e3f7751
BLAKE2b-256 87f7e9cd950b8e1936f0ee63ff804edb92a400f163e0ee51b319d74a45c71198

See more details on using hashes here.

File details

Details for the file microsoft_agents_hosting_slack-1.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for microsoft_agents_hosting_slack-1.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 68d06aecd34578cb2a6792af0366e19591bffaee66b8678d10e243ce504dcb45
MD5 8ef485f4559560180fb75a76e1f9e652
BLAKE2b-256 2697b5db6e69fddd5f4c0f73ee9013377f3fa31a0f7ad3a251f099744adfabd5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page