Skip to content
BitStorm-TechnologiesPublic

About

Slack ↔ Teams Messaging Bridge

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Conduit

Slack ↔ Teams Messaging Bridge

Description

Conduit is a bidirectional messaging bridge that connects Slack and Microsoft Teams, allowing cross-platform communication in real-time. Messages posted in a Slack channel are relayed to a Teams channel, and vice versa, with sender attribution and identity mapping.

Version

Version: 0.1.0

Current Status

Phase: -1 (Sandbox & API Validation) Last Updated: May 10, 2026

Completed Stories

  • ✅ Story -1.1 — Repo scaffold
  • ✅ Story -1.4 — Teams SDK spike (Bot Framework → migrated to Teams SDK Python v2.0.0)
  • ✅ Story -1.5 — Slack SDK spike (OAuth flow, webhook verification, event parsing validated)

In Progress

  • ⏳ Story -1.2 — Slack sandbox workspace setup
  • ⏳ Story -1.3 — Teams developer tenant setup

Epic Status

Epic -1 validates the platform shape before writing production code. The Teams SDK decision is locked in via ADR-003 v0.3 (Teams SDK Python) and the Slack SDK decision is confirmed (no ADR needed—using original slack-sdk 3.33.0). Both SDK spikes are complete with full smoke test coverage.

Development

Prerequisites

  • Python 3.12+
  • uv (package manager)

Setup

# Install dependencies
uv sync

# Create config files
cp config.example.yaml config.yaml
cp secrets.example.yaml secrets.dev.yaml
# Edit secrets.dev.yaml with your actual secrets

# Run database migrations
uv run alembic upgrade head

# Start development server
uv run uvicorn bridge.main:app --reload

Local Development with Docker

# Start all services (bridge + PostgreSQL)
docker compose up

# Start with Cloudflare tunnel for public ingress
docker compose --profile tunnel up

Health Checks

  • Liveness: GET /health/live - Returns 200 if the app is running
  • Readiness: GET /health/ready - Returns 200 with database and secret store status

Documentation

  • User Stories: docs/USER_STORIES.md
  • System Design: docs/SYSTEM_DESIGN.md
  • Product Requirements: docs/CrossPlatformMessagingBridge.md
  • Spikes & Research: docs/spikes/
  • Runbooks: docs/runbooks/
  • Deployment provisioning: deploy/README.md — template + values pattern for per-client Slack/Teams app manifests

Deployments

Conduit is single-tenant per deployment (PRD §3). Each client engagement gets its own values file under deployments/<name>.values.yaml, which renders to platform-specific manifests in build/<name>/. The BitStorm internal sandbox lives at deployments/bitstorm-sandbox.values.yaml.

uv run python scripts/render_deployment.py bitstorm-sandbox

See deploy/README.md for the full pattern.

License

Copyright © 2026 BitStorm Technologies. All rights reserved.

About

Slack ↔ Teams Messaging Bridge

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages