Skip to main content
Connect a Slack app to G360 to send scheduled reports and alerts to Slack channels and direct messages. The app posts messages and reads your channel list and member directory so you can choose destinations. It cannot read message history. Setup needs no G360 redeploy or restart.
This page covers Slack notifications — G360 sending messages to Slack. The Slack analytics integration that builds collaboration dashboards is separate. You can set up either, both, or neither.

Before you start

  • A Slack user who can install apps in your workspace. If app installation is restricted, ask your Slack administrator.
  • A G360 administrator account. Slack Settings is admin-only.
  • Your G360 hostname over HTTPS, for example https://g360.yourcompany.com.
Does G360 need to be reachable from the internet?
  • Sending messages — No. G360 only needs outbound HTTPS to slack.com.
  • Automatic member updates — Yes. Slack must reach G360 on port 443 with a valid, trusted TLS certificate. Self-signed certificates are rejected.
If G360 is internal-only, skip step 5 and use Refresh members to keep the member list current. Still complete step 3 — the signing secret is required to connect, and automatic updates start working once G360 becomes reachable.

Set up Slack

1

Create the Slack app

  1. Go to api.slack.com/apps and click Create New App.
  2. Select Paste a manifest and click Continue.
    Slack Create new app dialog with Paste a manifest selected

    Create new app → Paste a manifest.

  3. On the JSON tab, replace the sample with the app manifest.
  4. Replace YOUR-G360-HOSTNAME with your G360 hostname. It appears once, in the request_url field near the bottom.
  5. Choose your workspace and click Next.
    Slack Create from a manifest dialog with the G360 manifest in the JSON tab and a workspace selected

    The manifest pasted into the JSON tab, with a workspace selected.

  6. Review the summary, then click Create.
The manifest has no Events request URL on purpose. Slack checks that URL as soon as you save it, and G360 cannot answer until it has your signing secret. You add it in step 5.
2

Install the app and copy the bot token

  1. In the left sidebar, open OAuth & Permissions.
  2. Click Install to Workspace and approve the permissions.
  3. Copy the Bot User OAuth Token. It starts with xoxb-.
Slack OAuth & Permissions page showing the Bot User OAuth Token field with a Copy button

The Bot User OAuth Token on OAuth & Permissions.

Copy the Bot User OAuth Token (xoxb-). Not a User OAuth Token (xoxp-) or an App-Level Token (xapp-).
Enterprise Grid: install once for the whole organization from Slack admin → Integrations → Manage apps → Install an app, then choose which workspaces the app reaches. The manifest already allows this.
3

Copy the signing secret

  1. In the left sidebar, open Basic Information.
  2. Under App Credentials, click Show next to Signing Secret and copy it.
Slack App Credentials section with the Signing Secret field

The Signing Secret on Basic Information.

Copy the Signing Secret, not the Client Secret next to it. Both are 32 hexadecimal characters.
4

Connect Slack in G360

  1. In G360, go to Notification Settings → Slack Settings.
  2. Under Workspace connection, paste the Bot User OAuth Token and the Signing Secret.
  3. Click Connect Slack.
G360 Slack Settings Workspace connection form with Bot User OAuth Token and Signing Secret fields and a Connect Slack button

Notification Settings → Slack Settings, before connecting.

G360 verifies the token with Slack before saving. On success, the page shows your workspace name and loads your channels and members.Both values are encrypted at rest and never shown again in full. The token appears masked, and the signing secret shows only as present or absent.
5

Turn on automatic member updates

Skip this step if G360 is not reachable from the internet. Complete step 4 first — Slack’s URL check fails until G360 has the signing secret.
  1. In your Slack app, open Event Subscriptions and switch Enable Events on.
  2. For Request URL, enter:
    Request URL
    Slack checks the URL as you save. Verified means G360 answered correctly.
    Slack Event Subscriptions page with Enable Events on and the Request URL marked Verified

    A verified Request URL under Event Subscriptions.

  3. Under Subscribe to bot events, click Add Bot User Event and add team_join, user_change, app_uninstalled, and tokens_revoked.
    Slack Subscribe to bot events list with app_uninstalled, team_join, tokens_revoked, and user_change

    The four bot events G360 needs.

  4. Click Save Changes, then reinstall the app. Reinstalling is required for the new event subscriptions to take effect.
Notification Settings now shows Automatic member updates: active. If Slack refuses the URL, see troubleshooting.
6

Invite the bot to private channels

The app posts to any public channel without an invite. For each private channel that should receive reports or alerts, run:
Slack
Private channels without the bot still appear in G360, greyed out and marked Private — invite @G360 to this channel first.
7

Send a test message

On Notification Settings, under Send a test message:
  1. Under Channels, select one or more channels. Use the search box to filter a long list.
  2. Under People (direct message), select anyone to test a direct message with. Each person is listed with the email G360 matches them by.
  3. Type a message, or leave it blank to send a default one.
  4. Click Send test message.
G360 Send a test message panel with one channel and two people selected

Send a test message, with channels and people selected.

The test uses the same delivery path as reports and alerts. G360 reports each destination separately, and a failed destination shows how to fix it.

Use Slack in reports and alerts

In Schedule Report or Schedule Alert, select Slack under Notification Channels, then choose channels and people. No webhook URL is needed — destinations come from your real channel and member lists.
G360 Notification Methods section with Slack selected and channel and people pickers

Choosing Slack destinations on a scheduled report.

Keep the member list current

Automatic member updates on the settings page shows the sync mode: Refresh members is always available and safe to use. It re-reads the whole workspace, so clicking it more than once has no extra effect. The refresh runs in the background and the button shows Refreshing… until it finishes. Small workspaces take a few seconds; workspaces with several thousand people can take a minute or more because of Slack rate limits. You can leave the page — the refresh continues, but the counts update only while the page is open. Any listed member can receive a direct message. Reports and alerts that target people by name only reach members whose Slack email matches a G360 user. After a refresh, the page reports:

Disconnect Slack

  1. In G360, click Disconnect on Slack Settings. G360 stops sending and deletes the stored credentials.
  2. In Slack, remove the app from your workspace. G360 detects the removal and marks the connection inactive.
Do both. Either one alone leaves the other side configured.

Troubleshooting

You copied the wrong token. Copy the Bot User OAuth Token (xoxb-) from OAuth & Permissions.
The token is wrong or revoked, or the app was reinstalled after you copied it. Copy the current Bot User OAuth Token and paste it again.
Compare the app’s scopes under OAuth & Permissions → Scopes with the permissions list. Add any missing scope, reinstall the app, and paste the new token into G360.Slack does not always report the full scope list. If sending works, you can ignore this message.
The channel is private and the app is not invited. Run /invite @G360 in it. Public channels need no invite. This is the most common first-run problem.
Usually a private channel the app is not invited to. Slack reports a private channel it cannot see the same way as one that does not exist. Invite the app from inside the channel.
The app is missing the users:read.email scope. Add it, reinstall the app, and paste the new token.
Slack emails do not match G360 user emails. Check for different domains, aliases, or capitalization.
Usually a temporary Slack rate limit. Wait a minute and click Refresh members.
G360’s background workers are usually not running. Nothing is lost and the existing member list is unchanged. Ask whoever maintains your G360 deployment to check the workers.
Check in order:
  1. The hostname is your real G360 hostname, with no trailing slash before /api/v1/….
  2. The URL is reachable from the internet. Open https://g360.yourcompany.com/api/v1/notifications/inbound/slack/events/ from a phone on mobile data — any response from G360 means Slack can reach it.
  3. The TLS certificate is valid and trusted. Slack rejects self-signed certificates.
  4. Steps 3 and 4 are complete. Without the signing secret, G360 cannot answer Slack’s check, and Slack reports it as unreachable.
If G360 is internal-only, skip step 5 and use Refresh members. You can also delete the interactivity block from the manifest, but leaving it causes no harm — Slack stores that URL without checking it.
No request from Slack has verified against the stored signing secret. Possible causes:
  • The Events request URL is not set. It is not in the manifest — add it in step 5.
  • Slack cannot reach G360. See the entry above.
  • The signing secret is wrong — often the Client Secret was copied instead. Copy it again from Basic Information → App Credentials → Signing Secret.
To force a check, save the request URL again in Event Subscriptions. The status changes to active within seconds if the secret is correct.G360 cannot test a signing secret on its own. Only a real request from Slack confirms it.
Confirm Automatic member updates shows active. If it does, allow about a minute — G360 groups several changes into one update, so new members do not appear instantly.
  1. Check the report’s execution history to confirm it ran.
  2. Confirm Slack is selected with at least one channel or person.
  3. For a private channel, confirm the app is invited.
  4. Confirm Slack Settings still shows the connection as connected.

Reference

App manifest

Replace YOUR-G360-HOSTNAME with your G360 hostname. There is no event_subscriptions block on purpose — you add the Events URL in step 5.
Slack app manifest

Permissions

The app requests no scope that reads message content. channels:read returns channel names, not messages. G360 subscribes to four events: team_join and user_change keep the member list current; app_uninstalled and tokens_revoked stop sending when the app is removed.