NAME

RT-Extension-Slack - Send and sync RT ticket notifications to Slack

RT VERSION

Works with RT 6.

DESCRIPTION

This RT extension allows for creating Slack messages linked to RT tickets. -Custom formatting based on status -Provides Take/Steal links -Slack messages are updated when Status, Owner, or Subject are modified.

INSTALLATION

perl Makefile.PL
make
make install

May need root permissions

make initdb

Only run this the first time you install this module.

If you run this twice, you may end up with duplicate data in your database.

Edit your /opt/rt6/etc/RT_SiteConfig.pm
Add this line:

    Plugin('RT::Extension::Slack');

See below for additional configuration details.
Clear your mason cache
rm -rf /opt/rt6/var/mason_data/obj
Restart your webserver

CONFIGURATION

Create a Slack App

Create a new Slack App from a manifest (see /opt/rt6/local/plugins/RT-Extension-Slack/etc/Slack_Manifest.json) Install it to your workspace and copy the Bot User OAuth Token (starts with xoxb-).

Invite the app to every Slack channel you intend to map below. Posts to a channel the bot hasn't joined will fail silently.

Set your Bearer Token

Copy: /opt/rt6/local/plugins/RT-Extension-Slack/etc/Slack_Token.pm.example to: /opt/rt6/etc/RT_SiteConfig.d/Slack_Token.pm and set your token: Set($SlackToken, 'xoxb-your-real-token');

Configure URLs and Queue-to-Channel Mapping
Copy:
    F</opt/rt6/local/plugins/RT-Extension-Slack/etc/Slack_Config.pm.example>
to:
    F</opt/rt6/etc/RT_SiteConfig.d/Slack_Config.pm>

Edit $slackURL and $rtURL.
Edit %SlackQueueConfig to map RT Queue Names (case-sensitive) to 
Slack Channel IDs. Get a channel ID by right-clicking the channel 
in Slack > Channel details > View channel details > and it will be at the bottom.
Restart your webserver and clear your mason cache
Create the Scrip & Apply to Queues
Create a new Scrip
    Applies to: Tickets
    Condition: SlackCondition
    Action: Slack
    Template: Blank

The condition, action, and a slack_timestamp customfield were created
via initialdata when you ran:
    make initdb
during installation. Only queues with both the Scrip applied AND an 
entry in %SlackQueueConfig will post to Slack.

AUTHOR

Josh Tackitt <tackittj@reed.edu>

LICENSE AND COPYRIGHT

This extension is Copyright (C) 2026 Reed College.

This is free software, licensed under: The GNU General Public License, Version 2, June 1991