Slack Integration
Connect Slack workspaces to Metalogue
Slack Integration
Connect your Slack workspace to index messages, threads, and files.
Setup
1. Install Metalogue App
- Go to Settings → Integrations → Slack
- Click Add to Slack
- Authorize Metalogue for your workspace
2. Configure Channels
await metalogue.sync({
source: "slack",
workspace: "your-workspace",
channels: ["#engineering", "#product", "#support"]
});
What Gets Indexed
| Content Type | Indexed |
|---|---|
| Messages | ✅ |
| Thread replies | ✅ |
| File attachments | ✅ (text-based) |
| Reactions | Metadata only |
| DMs | ❌ (privacy) |
Channel Access Control
Map Slack channels to Metalogue access roles:
await metalogue.configureAccess({
node_id: "slack-acme-001",
rules: [
{ channel: "#finance", roles: ["cfo", "finance_team"] },
{ channel: "#engineering", roles: ["engineering", "cto"] },
{ channel: "#general", roles: ["*"] } // All users
]
});
Real-Time Sync
Enable webhooks for real-time message indexing:
await metalogue.enableRealtimeSync({
node_id: "slack-acme-001",
events: ["message", "file_shared", "reaction_added"]
});
Query Examples
// Find discussions about a topic
const result = await metalogue.query({
question: "What did the team decide about the API redesign?",
sources: ["slack"]
});
// Search with date range
const result = await metalogue.query({
question: "Customer complaints last week",
sources: ["slack"],
options: {
filters: {
dateRange: { start: "2024-01-08", end: "2024-01-15" }
}
}
});
Permissions Required
| Slack Scope | Purpose |
|---|---|
channels:history | Read public channel messages |
channels:read | List channels |
files:read | Access file content |
users:read | Map user mentions |
