Skip to content

Slack Channel Archiver

FieldValue
Nameslack-channel-archiver
Categorydata-pipeline
Complexitymoderate
Tagsslack-api, incremental-sync, postgres-state, s3-storage, checkpoint-pattern
Authorrandybias
Min Version0.1.0

Archive Slack channel messages and file attachments to Postgres and S3 with incremental sync. Uses a checkpoint pattern to track the last-synced timestamp per channel, fetching only new messages on each run. File attachments are stored in S3 with metadata in Postgres.

fetch-messages → store-messages → store-attachments → update-checkpoint
NodePurpose
fetch-messagesFetch new messages from Slack API since last checkpoint
store-messagesStore message content and metadata in Postgres
store-attachmentsDownload and store file attachments in S3
update-checkpointUpdate the sync checkpoint timestamp
  • manual
  • cron — hourly (0 * * * *)
ServiceTypeRequired
Slack APIExternalYes
tentacular-postgresExoskeletonYes
tentacular-rustfsExoskeletonYes
KeyDefaultDescription
timeout120sPer-node timeout
retries1Retry count per node
channels[C0123456789]List of Slack channel IDs to archive
  • slack.bot_token — Slack bot token with channel read and file access permissions
Terminal window
tntc scaffold init slack-channel-archiver
tntc scaffold init slack-channel-archiver my-custom-name
tntc scaffold info slack-channel-archiver

Scaffold source: quickstarts/slack-channel-archiver/