Slack App
The Jitbit Helpdesk app for Slack is a two-way bot:
- End users DM the bot to create tickets (a proper form with category and priority), list their open tickets, and receive technician replies as messages they can answer right from Slack - either with the Reply button or by simply replying in the message's thread. The app's Home tab shows their open tickets too.
- Technicians subscribe a channel to new-ticket notifications. Each new ticket shows up as an actionable card with Take it / Reply / Close / Open in Jitbit buttons, the card updates in place when the ticket gets assigned or closed, and the whole conversation happens in the card's thread: public comments are posted there, and replying in the thread posts a comment back to the ticket.
- Anyone can turn an existing Slack message into a ticket via the message's "..." menu → Create helpdesk ticket (the form comes prefilled with the message text), create one from anywhere with the
/jitbit newslash command, or via the global ⚡ shortcut. - Ticket links unfurl: when a technician pastes a ticket URL in a conversation the bot is in, Slack's generic preview is replaced with a card showing the ticket's number, subject, status, category, priority and assignee. Only technicians/admins trigger unfurls (they're visible to everyone in the channel), and the preview never includes ticket body text.
Not to be confused with the legacy "incoming webhook" Slack integration, which only posts one-way notifications to a channel. Existing webhook customers keep it (it's marked deprecated on the admin page), but the Slack app is the way to go.
Connecting (SaaS)
You'll do this once, as a helpdesk administrator:
- In the helpdesk, open Administration → Integrations → Slack.
- Click Add to Slack and approve the installation in your workspace.
That's it - installing the app also links your Slack workspace to your helpdesk (you were signed in as an admin when you clicked, so no pairing codes are needed). One Slack workspace can be connected to one helpdesk; re-installing re-binds it.
To disconnect, use the Disconnect button on the same admin page. This deletes all channel subscriptions, user bindings and tracked cards.
Bot commands
In a DM with the bot:
| Command | What it does |
|---|---|
new | Opens the new-ticket form (subject, description, category, priority) |
my tickets | Lists your open tickets with links |
help | Shows the command list |
In a channel - @mention the bot, or use the /jitbit slash command (works even before the bot joins the channel):
| Command | What it does |
|---|---|
@Jitbit Helpdesk subscribe | Posts new-ticket cards for all categories to this channel |
@Jitbit Helpdesk subscribe 1,2,5 | Same, but only for the listed category ids (the bot lists valid ids if you get one wrong) |
@Jitbit Helpdesk unsubscribe | Stops the cards |
@Jitbit Helpdesk help | Shows the command list |
The bot must be a member of the channel to post cards there - /invite @Jitbit Helpdesk first. Subscribing requires a helpdesk technician or administrator account (matched by your Slack email).
The /jitbit command understands the same verbs everywhere: /jitbit new, /jitbit tickets, /jitbit subscribe 1,2, /jitbit unsubscribe, /jitbit help.
Typing anything else in a DM gets you the help message plus a one-click offer to turn your message into a ticket.
How users are matched
The bot maps Slack users to helpdesk users by email address (taken from their Slack profile). If there's no helpdesk user with that email yet, an account is auto-created the first time the person creates a ticket - same behavior as the email channel. Read-only actions and technician actions never auto-create accounts.
Self-hosted ("on-premise") setup
Self-hosted helpdesks use your own Slack app instead of Jitbit's, so no traffic ever flows through Jitbit's servers. You need:
- A helpdesk reachable over HTTPS from the internet (Slack's servers must be able to POST to it).
- Permission to create apps in your Slack workspace.
Steps:
- In the helpdesk, open Administration → Integrations → Slack and copy the generated app manifest (it's pre-filled with your helpdesk's URLs).
- Go to api.slack.com/apps → Create New App → From a manifest, pick your workspace and paste the manifest.
- In the new app's settings, click Install App and install it to your workspace. Copy the Bot User OAuth Token (starts with
xoxb-). - On the Basic Information page, copy the Signing Secret.
- Back on the helpdesk admin page, paste the token and the signing secret, click Connect. The helpdesk validates the token with Slack and binds the workspace.
Security FAQ
How are requests from Slack authenticated? Every request to the /api/slackapp/* endpoints carries Slack's request signature (an HMAC-SHA256 over the timestamped request body, keyed with the app's signing secret). The helpdesk verifies it with a constant-time comparison and rejects requests older than 5 minutes. Requests that fail validation get a 401.
What can the bot see in our workspace? Only what its scopes allow: messages in its own DMs, @mentions, messages in channels it has been invited to (needed for thread replies to become comments), links pointing at your helpdesk's own domain (for unfurling), and basic user profiles (name, email). It cannot read other channels or files.
What does Jitbit store? Channel subscription ids, a Slack-user → helpdesk-user mapping (Slack user id + helpdesk user id), DM channel ids (needed to send you ticket replies proactively), and the ids of posted ticket cards (needed to update them in place and to map thread replies to tickets). Disconnecting deletes all of it.
How does the helpdesk know which customer a message belongs to? (SaaS) By the Slack workspace ("team") id that Slack embeds in every signed payload. Installing the app via "Add to Slack" binds your workspace id to your helpdesk; afterwards events are routed by that binding.
Who can take/close/reply to tickets from Slack? The same people who could in the web app: taking a ticket requires a technician (or admin) account with permissions in the ticket's category; replying and closing is allowed for technicians and for the ticket's own submitter. Category submit permissions apply to ticket creation. The bot enforces these server-side on every button click and thread reply - card buttons are not trusted.
On-premise: where do the app credentials live? In your own database (Integrations table), entered on the admin page. Traffic flows Slack → your helpdesk directly; Jitbit is not involved.