Sign inSign up

archivebox/archivebox-chat-bot

Sponsored OSS

By ArchiveBox

•Updated 1 day ago

ArchiveBox connector for archiving from Slack, WhatsApp, Discord, Telegram, WhatsApp, Email, etc.

Image
0

7.9K

archivebox/archivebox-chat-bot repository overview

⁠ ArchiveBox Chat Bot

URLs in your group chats → saved to your private archive.

Checks MIT Self hosted

ArchiveBox Bot⁠ · ArchiveBox AI Bot⁠ · Setup⁠

Slack⁠ · Discord⁠ · Zulip⁠ · Telegram⁠ · WhatsApp⁠ · IRC⁠ · iMessage⁠ · Messenger⁠ · Beeper⁠ · Email⁠

⁠🏛️ ArchiveBox Bot

  • mention @ArchiveBox in any thread → saves all URLs found in the last 10 messages
  • DM @ArchiveBox bot with any text → archives every URL in your DM
  • Add @ArchiveBox to group chats → optionally archive all URLs shared in groups it's added to
  • Auto-tags URLs with source info → slack,bob,reading-list (connector, user, channel name)
⁠Connect your chat apps
🐳 Docker → ArchiveBox URL + API key → chat provider
git clone https://github.com/ArchiveBox/archivebox-chat-bot.git
cd archivebox-chat-bot
docker compose pull
docker compose up -d
  1. Open Chatbot Admin Console⁠ → choose your password → ArchiveBox server URL + API key.
  2. Choose a provider below → connect ArchiveBox Bot.
  3. Pick conversations → New URLs, Saved URLs, groups, permissions.
  • Data: ./archivebox-chat-bot/ · docker-compose.yml⁠.
  • Optional password preset: uncomment ADMIN_PASSWORD to skip the first-run screen.
  • Updates: run docker compose pull && docker compose up -d again.
  • Images: archivebox/archivebox-chat-bot:latest on Docker Hub, or ghcr.io/archivebox/archivebox-chat-bot:latest, for amd64 and arm64. Each successful main build publishes latest, build-<CI run number>, and sha-<full commit SHA> after tests and container startup checks pass. No manual version bump is needed; Check → Run workflow also rebuilds main.
  • Local development: uncomment build: . in Compose and run docker compose up -d --build.

First-run Chatbot Admin Console password setup

Live Chatbot Admin Console connection cards with saved URL counts, activity logs, and server latency Chatbot Admin Console settings

  • Reachable links: Tailscale⁠ for personal use; a domain + HTTPS for internet access.
  • Localhost / 127.0.0.1: allowed with a warning; set Public URL so links work on other devices.
⁠Providers

Slack logo
⁠Slack
  • Connect: choose Create Slack app in the Chatbot Admin Console → install the preconfigured app → follow the two screenshot guides to paste your Bot token (xoxb-…) and App token (xapp-…) → Save & connect.
  • Use: invite the bot to channels; mention it in a thread or send a DM.
  • Destinations: Save & connect creates New URLs + Saved URLs automatically. Socket Mode needs no public webhook.
1 · Set up the Slack app2 · Configure the bot3 · Mention in a thread
Actual Slack App Home for ArchiveBox BotConnected Slack bot with three guided setup steps, token screenshots, and automatic channel setupReal Slack mention saving links from the previous message with a completion reaction
Or send a DMBrowse Saved URLs
Real Slack DM saving web replay and Python referencesReal Slack saved snapshots with thumbnails, Saved sizes, personas, and favicon links
Where to get Slack tokens
Create the preconfigured appAllow it in your workspace
Our real Slack app creation flow with its preconfigured permissions and eventsOur real ArchiveBox workspace installation with app permissions and the Allow button

Our Slack app's token-generation control and connections:write scope


Discord logo
⁠Discord
  • Connect: create an app⁠ → Bot → Reset Token → paste token into the Chatbot Admin Console.
  • Enable: Bot → Message Content Intent → Save Changes → Find my bot → Add to Discord → select your server → Save & connect.
  • Use: DM links, mention the bot in channels/threads, or use /archivebox save, search, auto, status, help.
  • Destinations: New URLs + Saved URLs are created automatically; choose existing channels under bot preferences. No public webhook.
1 · Get your bot token2 · Enable Message Content3 · Add to your server
Our Discord Bot page with Reset Token and token-copy instructionsOur Discord bot with Message Content Intent enabledInstalling ArchiveBox Bot into the dedicated test server
Create the app · install both bots

Creating ArchiveBox Bot in the Discord Developer Portal ArchiveBox Bot and ArchiveBox AI Bot installed in our Discord test server

Official setup⁠ · Message Content Intent⁠

4 · Choose channels & preferences5 · Browse Saved URLs
Connected Discord capture bot with New URLs and Saved URLs destinations selectedReal Discord snapshot card after a channel mention, including screenshot, Saved size, persona, and favicon link

Live Cabbage check (2026-10-08): A channel mention, capture-bot DM, and AI DM were handled. All tested Ars Technica URLs resolve to snapshots whose captured response is 403 Forbidden; replay shows that error instead of article content.

Capture-bot channel mentionCapture-bot DMSaved URL cardsAI DM reply
Live Discord channel mention with Ars Technica link previews and bot reactionLive Discord capture-bot DM with both Ars Technica URLs, embeds, and completion reactionLive Discord saved-url cards clearly labeled 403 Forbidden for the Ars Technica capturesLive Discord AI DM reply reusing the existing 403 Forbidden snapshot

Zulip logo
⁠Zulip
1 · Copy bot email2 · Copy API key3 · Browse Saved URLs
Our Zulip Generic bots with real bot email addresses in the Email columnOur Generic Zulip bot with API key and configuration-download controls; secret stays hiddenReal Zulip snapshot card with uploaded screenshot and favicon

Live Cabbage check (2026-10-08): The stream mention and AI DM flows were handled, but both Ars Technica URLs already had snapshots showing 403 Forbidden. The AI reply reported that ONLY_NEW skipped a retry, so these results do not show captured article content.

Capture-bot stream mentionSaved URL resultsAI DM reply
Live Zulip stream mention of ArchiveBox Bot with an Ars Technica URL and bot reactionLive Zulip saved-url results showing 403 Forbidden for the Ars Technica snapshotsLive Zulip AI DM reply explaining reuse of the existing 403 Forbidden snapshots

Telegram logo
⁠Telegram
  • Connect: BotFather → /newbot⁠ → copy token → add to group.
  • Groups: disable bot privacy⁠, then remove/re-add the bot for group-wide capture.
  • Commands: /save, /search, /auto, /status, /help; polling needs no public webhook.
1 · Add to your group2 · Choose bot preferences3 · Save references
Actual Telegram group with the ArchiveBox bots addedActual Telegram capture preferences and saved destinationReal Telegram group receiving RFC 9111 and Python snapshots with Saved sizes
BotFather · names & group privacy

Our BotFather conversation setting the bot display names

Our BotFather conversation selecting the capture bot and disabling group privacy


WhatsApp logo
⁠WhatsApp

Real WhatsApp Agent DM with captured cancellation references and screenshots

Live Cabbage check (2026-10-08): A real WhatsApp Agent DM used /archivebox save with two Ars Technica URLs. The DM confirmed the request, and the Cabbage console recorded two saved URLs and a completed message. Both snapshots contain Ars Technica's HTTP 403 Forbidden response, not article content.

Real WhatsApp DMCabbage saved result
Actual WhatsApp Agent DM with the two URL capture command and queued responseCabbage console showing two URLs saved and the WhatsApp message completed

Libera.Chat IRC logo
⁠IRC
1 · Configure the bot2 · Browse Saved URLs
Actual IRC bot connection preferences in the Chatbot Admin ConsoleReal IRC channel with archived Python asyncio references

Live Cabbage check (2026-10-08): In the signed-in Lounge UI, ArchiveBoxTester mentioned ArchiveBoxCapture in #new-urls and sent two Ars Technica URLs in a capture-bot DM. Both captures completed, and the saved channel shows three result cards: April channel snapshot 06ac7719f3997373800022139b4a76f3, plus the April and October DM snapshots 06ac76f04b0473098000a102ed4bd265 and 06ac76f04b047f6780006432632c6c0f. Each result is titled 403 Forbidden; the snapshots contain the origin's error response, not article content. The IRC AI bot was configured through the console at ergo:6667 (plain IRC, no TLS), after its old 127.0.0.1:16667 endpoint failed. Its request created snapshots 06ac76358bae7ed78000c4cfe72049be and 06ac76358baf7cb88000cdb323aa1f0e, also HTTP 403. The AI used the normal CLI's --no-only-new option because ONLY_NEW skipped URLs with existing snapshots. In the capture job records, num_snapshots remained 0 even though their results listed the snapshot IDs.

Channel mentionCapture-bot DMSaved snapshot result
Real Lounge UI mention and two Ars Technica URL messages in the IRC capture channelReal Lounge UI capture-bot DM with both Ars Technica URLsIRC saved channel cards for Ars Technica captures, visibly showing 403 Forbidden and replay links

iMessage logo
⁠iMessage
1 · Enable Full Disk Access2 · Allow Messages Automation
Our Mac with Full Disk Access enabled for the host running imsgOur Mac with Messages Automation enabled
Docker → Mac prerequisites
  • SSH key + verified known_hosts, readable by container UID 1000.
  • Set the Mac's absolute imsg path; Compose does not provision the Mac or SSH access.

Tag summary

Content type

Image

Digest

sha256:a63ec234f…

Size

157 MB

Last updated

1 day ago

docker pull archivebox/archivebox-chat-bot