Backup Slack and create Confluence pages from your important conversations.
Clojure 90.9%
Makefile 4.6%
Dockerfile 1.8%
Emacs Lisp 0.1%
Other 2.6%
457 2 0

Clone this repository

https://tangled.org/jcpsantiago.xyz/arqivist
git@tangled.org:jcpsantiago.xyz/arqivist

For self-hosted knots, clone URLs may differ based on your setup.

README.md

The Arqivist#

Hard at work archiving your messages.

⚠️ This repo has unstable code, DO NOT RELY ON IT. The version available at the Atlassian Marketplace uses a private version of the code, and is stable.

Saving Slack messages#

The Arqivist is a Slack bot which you can summon to create a Confluence page with the contents of a message thread, or a channel.

Requirements#

To run The Arqivist yourself you need

  • admin access to a Confluence account
  • admin access to a Slack workspace
  • a running instance of The Arqivist

Data persistence#

The Arqivist uses SQLite as the backend database. See data model at dbdiagram.io

Installing in Confluence#

If you your own running instance of The Arqivist, you can install it manually in Confluence by going to "Apps" > "Manage apps" in Confluence's top navbar, then clicking "Upload app" and pasting the URL to your descriptor.json file.

Installing in Slack#

WIP

How to use The Arqivist#

After installing The Arqivist in Slack, you can interact with the bot in two ways

  • /arqive [keyword] slash command is the main point of entry to The Arqivist. It expects no keyword, or one of these:
    • no keyword — opens setup modal to select how often to save the channel to Confluence and other remote locations (if available)
    • help — show help information with the available keywords, ways of interacting etc.

Use-cases#

  • Turn ad-hoc questions into citeable and linkeable documentation
  • Incident management
  • Compliance
  • Backup

Hacking locally#

  • Start a REPL with either:
  • Start the system with (start) in the Clojure REPL
  • make lint to check for format and lint issue, make lint-fix to automatically fix them (stage or commit other changes first) - requires node.js locally

Contributors#

Contributing#

If you found a bug, or want to propose new features please open an issue. PRs are also welcome!

License#

MIT