What it does
- A Stoaken webhook sent as a Slack message posts to one channel through a Slack incoming webhook.
- The message reads "Release v1.4.0 of Brand · Theme needs review" (or "is live", or "was rejected" with the reviewer's reason), with the number of changes and an Open in Stoaken link.
- No relay or code. Pick which of the three events the channel hears.
Before you start
- Brand Admin on the Brand (webhooks are part of the Team plan).
- Permission in your Slack workspace to create an app, or an admin who will.
- The channel the messages go to. An incoming webhook posts to the channel chosen when it's made, and that can't be changed per message (Slack docs).
Setup
- In Slack, create an app for your workspace, turn on Incoming Webhooks, choose Add New Webhook and pick the channel.
- Copy the webhook URL. It looks like
https://hooks.slack.com/services/T…/B…/…. - In Stoaken, go to Settings > Webhooks and choose Add a webhook:
- Send as: Slack message
- Address: the webhook URL
- Events: any of the three. Most teams pick Release submitted for review and Release published.
Configuration
- The body is
{ "text": …, "blocks": [section, context] }.textis the notification and screen-reader fallback; the section block carries the bold headline, the change count and the link inmrkdwn. - The link is a mrkdwn link, not a button: a URL button would send Slack an interaction your webhook app can't acknowledge.
- Requests carry
webhook-idbut no Stoaken signature. The address is the secret. - Stoaken only sends this format to
https://hooks.slack.com/services/…(orhooks.slack-gov.comfor GovSlack). The database refuses any other address. Workflow Builder trigger URLs (/triggers/…) are a different thing and aren't accepted. - More on every webhook format: /docs/webhooks.
Try it
- On the webhook, choose Send test. The channel gets "Stoaken test: this channel will hear about releases of Brand."
- In the webhook lab, choose Send a sample with Release published. A message marked [Test] appears, linking to the Command Center.
- Submit a real release for review and check the link opens it.
Troubleshooting
Slack answers a failure with a 4xx and an error word, which Recent deliveries shows after the status:
- no_service or no_active_hooks: the webhook was removed or the app was uninstalled. Make a new one and add it again.
- action_prohibited or posting_to_general_channel_denied: a workspace admin restricts posting there.
- channel_is_archived: unarchive the channel or point a new webhook at another.
- invalid_payload or no_text: check Send as is Slack message, not Stoaken event.
- The address was refused when saving: it must start
https://hooks.slack.com/services/.
Limits
- One channel per webhook; add more webhooks for more channels (a Brand has at most 10).
- Anyone with the address can post to the channel. If it leaks, delete the webhook in Slack and make a new one.
- Messages can't be edited or deleted afterwards (incoming webhooks can't do that).
- Failed deliveries retry for about a day (/docs/webhooks).