Quick Start
Subcommands
slack- Send a message to Slack via webhook
Commands
notify slack
Send a message to Slack via incoming webhook:--webhook- Slack webhook URL (or setASC_SLACK_WEBHOOKenv var)--channel- Slack channel override (#channelor@username)--message- Message to send to Slack (required)--thread-ts- Parent message timestamp (thread_ts) for posting a threaded reply--blocks-json- Slack Block Kit JSON array--blocks-file- Path to Slack Block Kit JSON array file--payload-json- JSON object of release fields to include as Slack attachment fields--payload-file- Path to JSON object file for release payload fields--pretext- Optional text shown above attachment payload fields (requires--payload-json/--payload-file)--success- Set attachment color to success (true) or failure (false, default:true)
Basic Usage
Simple Message
Channel Override
Environment Variable
Set the webhook URL via environment variable:Advanced Features
Threaded Replies
Post a message as a reply to an existing thread:thread-ts value must be in Slack timestamp format (e.g., 1733977745.12345). Webhook POST returns only “ok”, so you need to obtain the parent message ts from Slack APIs/events.
Block Kit Messages
Use Slack Block Kit for rich message formatting:Attachment Payloads
Include structured data as attachment fields:CI/CD Integration
GitHub Actions
GitLab CI
Fastlane Integration
Examples
Build Upload Notification
TestFlight Distribution
Submission Status
Error Notification
Security
Webhook URL Security
- Only
https://hooks.slack.comandhttps://hooks.slack-gov.comare allowed by default - IP addresses are rejected
- The webhook URL must start with
/services/ - For local testing, set
ASC_SLACK_WEBHOOK_ALLOW_LOCALHOST=1to allowhttp://localhost
Environment Variables
Store sensitive webhook URLs in environment variables or CI/CD secrets:Troubleshooting
Channel Override Not Working
Slack may ignore channel overrides for incoming webhooks based on app configuration. Configure the default channel in your Slack app settings.Webhook Returns Error
Check that:- The webhook URL is valid and active
- The URL starts with
https://hooks.slack.com/services/orhttps://hooks.slack-gov.com/services/ - The message is not empty
- JSON payloads are valid
Message Not Appearing
Verify:- The webhook URL is correct
- The Slack app has permission to post to the channel
- The message format is valid
- Block Kit JSON is properly formatted
