[Linux] Sisense Slack Plugin
Summary: Priyanka Dhuri provided a detailed guide on implementing the Sisense Slack Plugin to automate Sisense dashboard notifications to Slack channels. The post outlines the installation and configuration process, including generating API tokens, setting up Slack workflows, and configuring the backend scheduler on Linux or Kubernetes. It specifies different deployment options and provides instructions for UI configuration of Slack reports. The guide concludes with a disclaimer urging testing before production deployment due to its custom nature.
Introduction
This community post outlines the implementation of the Sisense Slack Plugin, which automates the delivery of Sisense dashboard notifications to configured Slack channels.
The plugin consists of two core components:
Frontend Interface: A Sisense dashboard plugin that provides a UI for configuring webhook URLs, custom messages, and notification schedules.
Backend Scheduler: A standalone Node.js script (
slack-scheduler.js) that retrieves dashboard configurations through the Sisense REST API and sends Slack notifications according to the configured schedules.
Step-by-Step Guide
Prerequisites
A running Sisense (Linux) instance.
Administrator or Designer-level access to generate a Sisense API token.
A system capable of running a scheduled job every minute (for example, cron or an equivalent scheduler). This can be the Sisense host, an external bastion host, or a Kubernetes cluster.
A Slack workspace configured with Workflow Webhooks: https://slack.com/help/articles/360035692513-Guide-to-Slack-Workflow-Builder
Installation
Generate a service API token in Sisense:
Navigate to Admin → App Configuration → Feature Management and enable API Token under User Profile.
Open My Profile from the user profile menu.
Select API Token and copy the generated token.


Store the API token securely, as it is injected into the execution script at runtime and is never exposed in the UI.
Important: Regenerating an API token invalidates the previous token. Any integrations using the old token must be updated.
Setting Up the Slack Workflow
To ensure messages render correctly in Slack, create the following text variables in the Workflow Builder webhook trigger:
dashboardNamemessagedashboardUrl
After creating the variables, add a Send a message step and format the message as:
New Report from 📊 {} dashboardName
{} message
Read more: {} dashboardUrl

The Send a message step can be customized to fit your use case, as it defines the message sent to the Slack channel.
Important: Insert the variables using the {} Insert a variable button.

Installing the Plugin
Place the sisense_slack folder under File Manager/plugins.
File Manager is located under Admin → App Configuration → File Management.
If File Manager is not available, enable it under Admin → App Configuration → Feature Management → File Management.
Backend Scheduler Configuration
The backend scheduler (slack-scheduler.js) must run every minute using a scheduler. Since it communicates with Sisense through the REST API (/api/v1/dashboards), it does not need to run on a Sisense application node.
Update config.json with your Sisense URL:
Ensure that config.json and slack-scheduler.js are located in the same directory:
Option A: Standard Linux Execution (Single-Node or Multi-Node)
Ensure Node.js is installed.
Examples:
Ubuntu/Debian
RHEL/CentOS/Amazon Linux
Single-Node Deployments
Create a secure API token file:
Create a log file:
Note: Logging is optional. If enabled, configure log rotation (for example, using
logrotate).
Edit your crontab:
Add the following entry:
Restart the plugins deployment:
Multi-Node Deployments
Run the scheduler on a single designated machine (for example, a bastion host or one application node) to prevent duplicate executions.
Copy
slack-scheduler.jsandconfig.jsonto the target machine.Update
config.jsonsosisenseUrlpoints to the load balancer.
Create the secure token file:
Create the log file:
Edit crontab:
Add:
Option B: Kubernetes (EKS / CronJob)
For Kubernetes deployments, package the scheduler as a CronJob.
Dockerfile
Build and push the image:
Deploy the CronJob:
apiVersion: batch/v1
kind: CronJob
metadata:
name: sisense-slack-scheduler
spec:
schedule: "* * * * *"
concurrencyPolicy: Forbid
jobTemplate:
spec:
template:
spec:
containers:
- name: scheduler
image: your-registry/sisense-slack-scheduler:1.0
imagePullPolicy: IfNotPresent
env:
- name: SISENSE_API_TOKEN
valueFrom:
secretKeyRef:
name: sisense-slack-secret
key: api-token
restartPolicy: OnFailure
Create the secret and deploy:
Sisense UI Configuration
To configure notifications for a dashboard:
Open the dashboard.
Open the dashboard menu (three dots).
Select Configure Slack Report.

Enter the Slack Workflow webhook URL.
Provide a custom message.
Choose the schedule (Daily, Weekly, or Monthly) and execution time.

Click Save Configuration.
Select Send Now to trigger the webhook immediately.
Once configured, your scheduled dashboard reports will be delivered directly to your Slack channels.

Disclaimer
This post describes a custom solution for a specific use case. It may not work in all environments or Sisense versions, so we strongly recommend testing it before deploying to production.
This plugin is not officially supported, maintained, or validated as part of Sisense releases.
If you have questions or need assistance, please leave a comment on this post.
Latest version tested: 2026.1.2 and 2026.1.0-d.
Plugin Download link: https://drive.google.com/file/d/1CfpfEPO2IleRe1N-4ID4fuL5pV3OhsEP/view?usp=sharing