* docs(hub): align public docs with v0.3 Bring the public workflow, API, authority, activity, and self-hosting guidance in line with the released Hub contracts. Clarify the public HTTPS boundary required by provider events while keeping Hub and PostgreSQL private. * docs(hub): clarify daemon logout scope * docs(hub): restore Compose path and simplify TLS guidance * docs(hub): link the single-repo-team-bot example
70 lines
1.9 KiB
Markdown
70 lines
1.9 KiB
Markdown
---
|
|
title: Slack for Hub
|
|
description: Create the Slack app your Hub uses, connect a workspace, and write Slack triggers.
|
|
nav: Slack app
|
|
order: 76
|
|
category: Hub
|
|
---
|
|
|
|
# Slack for Hub
|
|
|
|
Hub receives Slack mentions over the Events API. Socket Mode is not used, so your Hub needs a publicly reachable HTTPS origin with a valid certificate. See [Provider URLs](/docs/hub/self-hosting#provider-urls).
|
|
|
|
## Create the app
|
|
|
|
Go to [api.slack.com/apps](https://api.slack.com/apps) → **Create New App → From a manifest**, and paste this after replacing `hub.example.com` with your `PASEO_HUB_APP_URL`:
|
|
|
|
```yaml
|
|
display_information:
|
|
name: Paseo
|
|
features:
|
|
bot_user:
|
|
display_name: Paseo
|
|
always_online: false
|
|
oauth_config:
|
|
redirect_urls:
|
|
- https://hub.example.com/api/integrations/slack/callback
|
|
scopes:
|
|
bot:
|
|
- app_mentions:read
|
|
- chat:write
|
|
- reactions:write
|
|
settings:
|
|
event_subscriptions:
|
|
request_url: https://hub.example.com/api/integrations/slack/events
|
|
bot_events:
|
|
- app_mention
|
|
interactivity:
|
|
is_enabled: false
|
|
org_deploy_enabled: false
|
|
socket_mode_enabled: false
|
|
token_rotation_enabled: false
|
|
```
|
|
|
|
## Configure Hub
|
|
|
|
From **Basic Information → App Credentials**, copy:
|
|
|
|
| Value | Environment variable |
|
|
| -------------- | ---------------------- |
|
|
| App ID | `SLACK_APP_ID` |
|
|
| Client ID | `SLACK_CLIENT_ID` |
|
|
| Client Secret | `SLACK_CLIENT_SECRET` |
|
|
| Signing Secret | `SLACK_SIGNING_SECRET` |
|
|
|
|
Restart Hub before Slack verifies the request URL. Hub needs the signing secret to answer the verification challenge.
|
|
|
|
## Connect
|
|
|
|
Open **Connections → Slack → Connect**, pick the workspace, and allow it.
|
|
|
|
Use Hub's button, not Slack's **Install to Workspace**. The install has to start from Hub so the workspace binds to your organization.
|
|
|
|
Then invite the bot to each channel it should watch:
|
|
|
|
```text
|
|
/invite @Paseo
|
|
```
|
|
|
|
Now write a trigger: [Slack triggers](/docs/hub/triggers/slack).
|