slack-webhook

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

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "slack-webhook" with this command: npx skills add vm0-ai/vm0-skills/vm0-ai-vm0-skills-slack-webhook

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

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

google-sheets

No summary provided by upstream source.

Repository SourceNeeds Review
246-vm0-ai
General

apify

No summary provided by upstream source.

Repository SourceNeeds Review
214-vm0-ai
General

hackernews

No summary provided by upstream source.

Repository SourceNeeds Review
169-vm0-ai
General

serpapi

No summary provided by upstream source.

Repository SourceNeeds Review
164-vm0-ai