Codenotary Trustcenter Blog

Track Slack content changes in immudb Vault

Written by Dennis | Jul 3, 2023 6:21:08 AM

As our team is working on exciting immudb Vault integrations that support to audit important information.
 Introducing Immubot for Slack: Ensuring Conversation Integrity and Traceability.

You can find the full project here: https://github.com/codenotary/immubot-slack

Introduction

In the world of digital communication, the importance of data integrity and traceability can't be overstated. For organizations that rely on Slack for their daily communications, tracking changes and deletions in conversations can be crucial, even more when using cross-organization channels.

Enter Immubot for Slack, a tool that not only tracks conversation history but also ensures its integrity by using the power of immudb Vault.

What is Immubot for Slack?

immubot for Slack is a project built on https://slack.dev/bolt-js/concepts that listens for message_changed and message_deleted events. It works across multiple channels (depending on which channels you invite the Immubot to) and reacts to changes in messages or their deletions.

Key features of Immubot for Slack include:

  1. Message Tracking: Immubot for Slack keeps a close eye on your conversations, tracking any changes or deletions.
  2. Change Indication: When a message is edited, Immubot for Slack replies in the thread of the edited message and states the change.
  3. Deletion Alert: In the event of a message being deleted, Immubot posts in the channel to indicate what was deleted and by whom.
  4. Data Recording: All these events and changes are written to the ImmuDB Vault, ensuring the integrity of your data.

How to Use Immubot for Slack?

Setting up and using Immubot for Slack is straightforward. You need a Slack bot application with a bot token and signing secret, and a Slack app token with connections:write scope. With these dependencies in place, you simply need to run a few commands to get Immubot up and running:


export SLACK_BOT_TOKEN=<slack-bot-token>
export SLACK_SIGNING_SECRET=<slack-signing-secret>
export SLACK_APP_TOKEN=<slack-app-token>
export IMMUDB_VAULT_TOKEN=<immudb-vault-token>
npm ci
node app.js

How it looks?

Within Slack, Immubot operates smoothly and seamlessly, notifying you of message changes and deletions. In the Immudb Vault, the changes are logged as documents with all relevant details, such as the message author, channel, the message itself, and the previous message, among other information.

Within immudb Vault the information is stored as follows:

{
      "document": {
        "_id": "649d23460000000000000004528650cd",
        "_vault_md": {
          "creator": "a:855ef31c-4b58-490f-81c5-baf85f53824e",
          "ts": 1688019782
        },
        "author": "U01S4NWRVK3",
        "channel": "C05EPRRQ4FP",
        "message": "Good morning Everyone!",
        "previous_message": "Hi all",
        "type": "message_changed"
      },
      "revision": "",
      "transactionId": ""
    },
    {
      "document": {
        "_id": "649d23b80000000000000005528650ce",
        "_vault_md": {
          "creator": "a:855ef31c-4b58-490f-81c5-baf85f53824e",
          "ts": 1688019896
        },
        "author": "U01S4NWRVK3",
        "channel": "C05EPRRQ4FP",
        "previous_message": "kids at the keyboard",
        "type": "message_deleted"
      },
      "revision": "",
      "transactionId": ""
    }

With Immubot for Slack, you can have peace of mind knowing that your Slack conversations are being tracked for any changes or deletions, and that this data is securely logged in the immudb Vault.

Try it out today and experience a new level of integrity and traceability in your digital communications!