Communication Integrations Overview
LH42 integrates with communication platforms to bring your knowledge base directly into the tools your team uses every day. Unlike document connectors that sync files, communication integrations provide bidirectional, real-time interaction.
Two Integration Modes
1. Data Ingestion (Connector Mode)
Sync historical messages and conversations into your knowledge base:
\\\`
Channel History → Connector → Iceberg Storage → Searchable Knowledge
\\\`
- Index Slack channels, email threads, meeting transcripts
- Make conversations searchable alongside documents
- Preserve context and threading
2. Real-Time Gateway (Bot Mode)
Enable AI-powered responses directly in communication platforms:
\\\`
User Question → Webhook → RAG Pipeline → LLM → Response with Citations
\\\`
- Answer questions in Slack/Teams/Email
- Cite sources from your knowledge base
- Maintain conversation context in threads
Available Integrations
| Platform | Data Ingestion | Real-Time Bot | Status |
|---|---|---|---|
| Slack | ✅ Messages, files, threads | ✅ @mention, /commands | Available |
| Microsoft Teams | ✅ Messages, files | ✅ Bot Framework | Available |
| Gmail | ✅ Emails, attachments | ✅ Auto-reply | Available |
| Outlook | ✅ Emails, attachments | ✅ Auto-reply | Available |
| Zoom | ✅ Transcripts, summaries | ✅ Meeting bot | Available |
| Discord | ✅ Messages, threads | ✅ Bot commands | Available |
Architecture
\\\`
┌─────────────────────────────────────────────────────────────────────┐
│ INBOUND MESSAGE FLOW │
├─────────────────────────────────────────────────────────────────────┤
│ │
│ Slack/Teams/Email/Zoom │
│ │ │
│ ▼ │
│ ┌─────────────────┐ │
│ │ Webhook Endpoint │ ← Platform-specific verification │
│ │ /api/gateway/* │ (HMAC, JWT, etc.) │
│ └────────┬────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────┐ │
│ │ Idempotency │ ← Prevent duplicate processing │
│ │ Check │ │
│ └────────┬────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────┐ │
│ │ Inngest Queue │ ← Async processing for reliability │
│ │ (Event-driven) │ │
│ └────────┬────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────┐ ┌─────────────────┐ │
│ │ RAG Pipeline │───▶│ Knowledge Base │ │
│ │ (Query + LLM) │ │ (Iceberg) │ │
│ └────────┬────────┘ └─────────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────┐ │
│ │ Response │ ← Format with citations │
│ │ Formatter │ Platform-specific (Blocks, Cards, etc.) │
│ └────────┬────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────┐ │
│ │ Platform API │ ← Send response back │
│ │ (Slack/Teams/…) │ │
│ └─────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────┘
\\\`
Security Model
Each platform has specific security requirements:
| Platform | Verification Method | Details |
|---|---|---|
| Slack | HMAC-SHA256 | Signing secret in \X-Slack-Signature\ header |
| Teams | JWT (Azure AD) | Bot Framework token validation |
| TLS + DKIM | Standard email security | |
| Zoom | Webhook token | Secret token verification |
Message Storage
All messages are stored with full context:
\\\`typescript
// channelMessages table schema
{
id: string,
organizationId: string, // Multi-tenant isolation
channelType: 'slack' | 'teams' | 'email' | 'zoom',
externalId: string, // Platform message ID
conversationId: string, // Thread/channel grouping
content: string, // Message text
role: 'user' | 'assistant', // Who sent it
metadata: {
sender: string,
timestamp: string,
threadId?: string,
attachments?: string[],
citations?: Citation[] // Sources used in response
}
}
\\\`
Rate Limiting & Reliability
- Inngest queues ensure messages aren't lost during spikes
- Exponential backoff for API rate limits
- Idempotency keys prevent duplicate responses
- Dead letter queues for failed messages
Enabling Communication Integrations
- Go to Settings > Integrations
- Select the platform (Slack, Teams, etc.)
- Complete OAuth or API key setup
- Configure channels/mailboxes to monitor
- Set response preferences (auto-reply, mentions only, etc.)
Next Steps
- Slack Integration - Full Slack setup guide
- Microsoft Teams - Teams bot setup
- Gmail - Email integration
- Outlook - Outlook integration
- Zoom - Meeting transcription