iamrushabhshahh/Slack Actions Notify

Rich Slack notifications for GitHub Actions with threading, duration tracking, and custom messages.

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Activelast commit Jul 3, 2026
License
MIT

Pinned Snippet

workflow.ymlSHA-pinned
uses: iamrushabhshahh/slack-actions-notify@0d5b6412ca50572af06179a12e08acc85264c22d # v1.1.2

tags can be moved; commit SHAs can't. why a SHA?

namedescriptionrequireddefault
slack_tokenSlack bot token (xoxb-…). Required for start/update threading.no
slack_webhook_urlSlack incoming webhook URL. Use when you don't need threading.no
slack_channelSlack channel ID (e.g. C1234567890). Required with slack_token.no
mode'start' posts a new message and returns ts. 'update' edits it with final status.noupdate
slack_tsMessage timestamp from a previous 'start' call. Required for mode=update.no
start_timeStart timestamp from a previous 'start' call. Used to compute duration.no
statusWorkflow status override. Auto-detected from job.status if omitted.no
titleCustom notification title. Defaults to 'repo/workflow — status'.no
messageExtra message body shown below the fields.no
message_on_successMessage override when the workflow succeeds. Takes precedence over message.no
message_on_failureMessage override when the workflow fails. Takes precedence over message.no
message_on_cancelMessage override when the workflow is cancelled. Takes precedence over message.no
mentionSlack mention prepended to the notification. Values: 'here', 'channel', a bare user-ID (U123456), or a pre-formatted mention (<@U123456>).no
usernameCustom bot display name. Only applies to new messages (mode=start).no
icon_emojiCustom bot icon emoji, e.g. ':rocket:'. Overrides icon_url. Only applies to mode=start.no
icon_urlCustom bot icon URL. Only applies to mode=start.no
minimalSet to 'true' to show only status, branch/PR, commit, and duration — no metadata noise.nofalse
timezoneTimezone for timestamps, e.g. 'Asia/Kolkata'. Falls back to UTC if invalid.noUTC
namedescription
tsSlack message timestamp — pass as slack_ts to the 'update' step.
start_timestampWorkflow start timestamp — pass as start_time to the 'update' step.
ok'true' if the notification was delivered (directly, or via the update-failure fallback post). 'false' if every attempt failed. This action never fails your build on a delivery failure — check this output yourself if you want to react to one (e.g. log a warning, alert a different way).