Skip to content

Add Slack context source #170

@luca-martial

Description

@luca-martial

Scope

Build a slack context-source adapter that ingests messages from allowlisted Slack channels — not every message — and writes them as Markdown.

Where to start

  • Adapter directory: packages/context/src/ingest/adapters/slack/
  • Model on packages/context/src/ingest/adapters/notion/
  • Use the Slack Web API: conversations.pins.list and Canvas endpoints
  • Auth via Slack bot token (xoxb-) with scopes channels:history, groups:history, pins:read, canvases:read
  • Configuration requires a channel allowlist — never ingest a workspace's full history
  • Wire the new driver value in packages/context/src/project/driver-schemas.ts
  • Add docs in docs-site/content/docs/integrations/context-sources.mdx

Acceptance criteria

  • New adapter under adapters/slack/ with tests
  • Reads pinned messages and canvases from configured channels only
  • Output writes Markdown under wiki/global/
  • Authentication uses Slack bot token via env: reference
  • Errors clearly if the allowlist is empty (no accidental full-workspace dumps)
  • Integration docs added with the required Slack app scopes

Reward

Merging this PR earns the t-shirt tier (tier-2). See CONTRIBUTING.md.

Comment on this issue to claim it before starting work.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:connectorspackages/connector-* and packages/cli/src/context/ingest/adapters/*help wantedExtra attention is neededreward:tier-2T-shirt tier — substantive merged PR

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions