Search documentation

Find a documentation page by title, topic or keyword.

Slack

Slack is the fastest connector to set up: one OAuth authorisation, no app registration, no tokens to paste. It records workspace membership, channel lifecycle and external sharing.

Before you start#

You need to be able to authorise an app for the Slack workspace, which in most workspaces means being an admin or having admin approval. There is nothing to create on the Slack side beforehand: Governax operates its own Slack app and you are authorising it.

Connecting#

  1. Open the entity's Integrations page

    Make sure you are on the entity that should own this workspace. Events land in that entity's ledger and nowhere else.

  2. Choose Slack, then Connect Slack

    You are redirected to Slack's authorisation screen.

  3. Approve the requested permissions

    Slack shows exactly what is being requested. The list is below, with what each one is for.

  4. You are returned to Governax

    The connection is saved and a confirmation appears. Baseline events begin arriving within seconds.

Permissions requested#

Slack bot scopes and their purpose
ScopeWhy it is needed
users:readThe workspace roster and admin or owner flags
users:read.emailTo record who an event was about by email rather than only an opaque id
team:readWorkspace identity changes: rename, domain changes
channels:readPublic channel lifecycle and membership
groups:readPrivate channels the app has been added to
commandsThe /governax access-request command
chat:writePosting and updating approval messages
im:writeSending the approval request to the approver as a direct message

The connect-time baseline#

Two snapshots run at connect:

Slack baseline passes
PassWhat it records
Workspace rosterAn access.baseline_observed event for every member not previously seen, plus access.role_changed with reconciled: true where a role changed while Governax was not connected.
ChannelsAn access.channel_baseline_observed event per channel, including archived ones, carrying whether it is private, archived, externally shared, and its member count.

Events captured#

Slack event types
AreaEvent types
Workspace membershipaccess.member_added, access.role_changed, access.baseline_observed
Channel membershipaccess.channel_member_added, access.channel_member_removed, access.channel_baseline_observed
Channel lifecycleresource.channel_created, resource.channel_renamed, resource.channel_deleted, resource.channel_archived, resource.channel_unarchived, resource.channel_id_changed
External sharingaccess.channel_shared_externally, access.channel_unshared_externally, and the four access.shared_channel_invite_* states: requested, approved, accepted, declined
Workspace identityresource.workspace_renamed, resource.workspace_domain_changed, resource.workspace_email_domain_changed
Connector healthintegration.channel_access_lost, integration.disconnected_remotely
Access requestsdecision.requested, decision.approved, decision.denied

Not captured: messages, file shares, reactions, and ordinary conversation. Governax records governance-relevant change, not activity.

Disconnecting#

Disconnecting revokes the token with Slack and erases the stored copy. Slack is the only connector where the credential is actively destroyed rather than merely marked unused. Events already recorded remain in the ledger.

Uninstalling the app from Slack's own side works too: Governax records integration.disconnected_remotely and marks the connection dead automatically.

Troubleshooting#

Common Slack connection problems
SymptomCause and fix
Already connectedThis workspace is bound to another entity or organisation. Disconnect it there first.
Authorisation deniedThe consent screen was cancelled, or a workspace admin must approve app installs. Ask an admin to run the connect.
Private channels missingThe app can only see private channels it has been added to. Invite it to the ones you need covered.
No events after connectingBaseline events should appear within seconds. If nothing arrives at all, check that you are looking at the entity you connected.