Slack and Discord
Tell your team's chat what happens in your portal, and turn Slack messages into feedback posts without leaving Slack.
Owners and admins connect both under Settings → Integrations. A workspace connects one Slack workspace and one Discord channel at most.
What gets announced#
| What happens | Slack | Discord |
|---|---|---|
| A new post | Yes, as a message that starts a thread | Yes |
| A status change, with the team's note | Yes, in the post's thread | Yes |
| A merge | Yes, in the merged post's thread | No |
| A new public comment | Yes, in the post's thread | No |
| A published changelog entry | Yes | Yes |
Each integration announces everything it can by default, including kinds added later. To narrow it down, choose Only, check what you want, and click Save.
A few rules hold for every announcement:
- Only what anyone may see in your portal. The check runs when the message is sent. A post on a private board, held for review, merged or deleted by then is left out. A held post is announced as new once you approve it. Whispered changelog entries and internal notes are never announced.
- No names. An announcement shows the title, the start of the text or the status note, the board, the post's number and a link to the portal. It never says who wrote or voted.
- Nobody gets mentioned. Text is escaped, so
@channel,@hereor@everyonein a post shows as plain text and pings no one. - No backlog. An integration announces what happens after you connect it.
- Announcements are in English.
Connect Discord#
- In Discord, open the channel's settings, then Integrations → Webhooks. Create a webhook, or pick an existing one, and copy its URL.
- In Swingback, go to Settings → Integrations, paste the URL under Discord → Webhook URL, choose what to announce, and click Connect Discord.
Swingback checks the webhook with Discord before saving it. The URL is stored encrypted and never shown again.
Only Discord webhook URLs work, such as https://discord.com/api/webhooks/….
To announce in another channel, paste another webhook's URL and click Replace the webhook. Disconnect stops the announcements; the webhook stays in Discord until you delete it there.
Install the Slack app#
- Under Settings → Integrations, click Add to Slack.
- On Slack's page, pick your Slack workspace and the channel for announcements, then allow the app.
- Slack sends you back to Settings → Integrations, which shows Slack as connected. Click Send a test.
Some details:
- Finish the install within 10 minutes, in the browser where you started it. Otherwise, start again.
- In a private channel, invite the Swingback app to the channel first. Until then, Slack refuses its messages.
- A Slack workspace connects to one Swingback workspace at a time. Install the app in a single Slack workspace: organization-wide installs aren't supported.
- Pick another channel runs the install again. Threads in the old channel stop getting replies.
- Disconnect removes the app from your Slack workspace: announcements, the command and the shortcut all stop. Uninstalling the app from Slack disconnects it too.
Create posts from Slack#
Anyone in your Slack workspace can turn feedback into a post, in two ways:
- The
/feedbackcommand. Type/feedback Export reports to CSV. The first line becomes the title, cut to 200 characters. When you wrote more than the title holds, the whole text also becomes the post's description. Slack shows you, and only you, a link to the new post. - The "Save as feedback" shortcut. Open any message's more actions menu and choose Save as feedback. A form opens with the message as the title and details, and a board to pick. Edit them if you like, then click Create: the form shows the new post's link.
The post's author is the person who wrote it in Slack: whoever ran the command, or the author of the message the shortcut saved (the person who used the shortcut, when that message came from a bot). Swingback finds them among your customers by their Slack email, or adds them. When Slack doesn't share the email, as with some Slack Connect users, the customer is tied to their Slack account instead.
Posts from Slack count as your team's writing: they're never held for review, and their source is slack.
Where the posts go#
Under Settings → Integrations → Slack, Posts from Slack go to names a board, or The first board (the first in your boards' order). The command always posts there; the shortcut's form starts there and lets you pick another.
AI drafts#
With Draft posts with AI on, the shortcut's form opens with the message, then fills in a title and a description
that the model wrote from it. Check the draft before you create the post. The message goes to Anthropic, and each
draft counts as one AI draft of your plan. The /feedback command never drafts. See AI features.
When messages stop#
Slack or Discord may refuse an integration for good: the app's access was revoked, the channel was archived or deleted, the app isn't in a private channel, or the Discord webhook was deleted. The integration then stops, and Settings → Integrations says why. Fix the cause, then click Send a test. Once a test gets through, announcements start again. What happened while the integration was stopped isn't announced later.
Short outages don't stop an integration: when Slack or Discord asks to slow down, Swingback waits as long as it's told, and other failures are tried again for about an hour.
