askill
slack-webhook

slack-webhookSafety 92Repository

Slack Webhook for posting messages. Use when user says "post to Slack", "Slack webhook", or "send Slack notification".

47 stars
1.2k downloads
Updated last week

Package Files

Loading files...
SKILL.md

Slack Incoming Webhook

Send messages to a Slack channel using Incoming Webhooks. No OAuth or bot setup required.

When to Use

  • Send notifications to a specific channel
  • CI/CD notifications, alerts, status updates
  • Quick integration without full Slack app setup

Prerequisites

export SLACK_WEBHOOK_URL=https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXX

Get Webhook URL

  1. Create app: https://api.slack.com/appsCreate New AppFrom scratch
  2. Select Incoming Webhooks → Toggle On
  3. Click Add New Webhook to Workspace
  4. Select channel → Allow
  5. Copy Webhook URL

Usage

Simple Message

Write to /tmp/slack_request.json:

{
  "text": "Hello, world."
}

Then run:

curl -X POST $(printenv SLACK_WEBHOOK_URL) -H "Content-type: application/json" -d @/tmp/slack_request.json

With Formatting

Write to /tmp/slack_request.json:

{
  "text": "*Bold* and _italic_ text"
}

Then run:

curl -X POST $(printenv SLACK_WEBHOOK_URL) -H "Content-type: application/json" -d @/tmp/slack_request.json

With Link

Write to /tmp/slack_request.json:

{
  "text": "Check <https://example.com|this link>"
}

Then run:

curl -X POST $(printenv SLACK_WEBHOOK_URL) -H "Content-type: application/json" -d @/tmp/slack_request.json

With Blocks (Rich Layout)

Write to /tmp/slack_request.json:

{
  "text": "New review submitted",
  "blocks": [
    {
      "type": "section",
      "text": {
        "type": "mrkdwn",
        "text": "Danny left the following review:"
      }
    },
    {
      "type": "section",
      "text": {
        "type": "mrkdwn",
        "text": "<https://example.com|Overlook Hotel>\n:star:\nDoors had too many axe holes."
      }
    }
  ]
}

Then run:

curl -X POST $(printenv SLACK_WEBHOOK_URL) -H "Content-type: application/json" -d @/tmp/slack_request.json

With Fields

Write to /tmp/slack_request.json:

{
  "text": "Deployment status",
  "blocks": [
    {
      "type": "section",
      "fields": [
        {
          "type": "mrkdwn",
          "text": "*Environment:*\nProduction"
        },
        {
          "type": "mrkdwn",
          "text": "*Status:*\nSuccess"
        }
      ]
    }
  ]
}

Then run:

curl -X POST $(printenv SLACK_WEBHOOK_URL) -H "Content-type: application/json" -d @/tmp/slack_request.json

Message Formatting

SyntaxResult
*bold*bold
_italic_italic
~strike~strike
`code`code
\nnewline
<URL|text>hyperlink
:emoji:emoji

Shell Escaping

Messages with ! may fail due to shell history expansion. Use heredoc:

curl -s -X POST $(printenv SLACK_WEBHOOK_URL) -H "Content-type: application/json" -d @- << 'EOF'
{"text":"Deploy completed! :rocket:"}
EOF

Response

Success: ok (HTTP 200)

Errors:

  • invalid_payload - Malformed JSON
  • no_text - Missing text field
  • no_service - Webhook disabled or invalid
  • channel_not_found - Channel deleted
  • channel_is_archived - Channel archived
  • action_prohibited - Admin restriction

Limitations

  • One webhook = one channel only
  • Cannot override username or icon (set in app config)
  • Send only (no reading messages)
  • Cannot delete messages after posting
  • Rate limit: 1 message/second

For full API access, use the slack skill with Bot Token.

API Reference

Install

Download ZIP
Requires askill CLI v1.0+

AI Quality Score

90/100Analyzed last week

Comprehensive Slack webhook skill with clear trigger phrases, multiple practical examples (simple, formatted, blocks, fields), shell escaping guidance, error handling, and external API references. Well-structured with metadata and tags for discoverability. Located in a dedicated skills folder suggesting external focus.

92
94
88
92
95

Metadata

Licenseunknown
Version-
Updatedlast week
Publishervm0-ai

Tags

apici-cd