← 返回
数据分析 Key 中文

Slack Automator

Automate Slack messaging, channels, and search with Block Kit. Use when sending scheduled messages, syncing channels, monitoring chats, notifying teams.
使用 Block Kit 自动化 Slack 消息、频道和搜索。适用于发送定时消息、同步频道、监控聊天、通知团队。
xueyetianya
数据分析 clawhub v4.0.0 3 版本 100000 Key: 需要
★ 0
Stars
📥 990
下载
💾 11
安装
3
版本
#latest

概述

slack-automator

Send messages to Slack channels via Incoming Webhooks. Supports direct messaging, channel notifications, message templates with variable substitution, scheduled messages, formatting helpers, and full send history with export.

Requirements

  • bash 4.0+
  • curl (for HTTP requests to Slack)
  • python3 (for JSON handling — typically pre-installed)
  • Slack Incoming Webhook URL — see setup below

How to Get a Slack Webhook URL

  1. Go to https://api.slack.com/apps
  2. Click Create New AppFrom scratch
  3. Name it (e.g., "Automator") and select your workspace
  4. In the left sidebar, click Incoming Webhooks
  5. Toggle Activate Incoming Webhooks to On
  6. Click Add New Webhook to Workspace
  7. Select the channel to post to and click Allow
  8. Copy the webhook URL (starts with https://hooks.slack.com/services/...)

Setup

Configure the webhook URL before sending messages:

scripts/script.sh connect https://hooks.slack.com/services/T00000/B00000/xxxxxxxx

Verify connectivity:

scripts/script.sh webhook test

Commands

connect

Save a Slack Incoming Webhook URL to local configuration. The URL is stored in ~/.slack-automator/config.json.

# Save your webhook URL
scripts/script.sh connect https://hooks.slack.com/services/T00000/B00000/xxxxxxxx
# ✅ Webhook URL saved.

send

Send a plain text message to Slack via the configured webhook.

# Send a simple message
scripts/script.sh send "Hello from Slack Automator!"

# Send a message with emoji
scripts/script.sh send "🚀 Deployment complete — v2.1.0 is live!"

# Send multi-word messages
scripts/script.sh send Build succeeded, all 142 tests passing.

notify

Send a message to a specific Slack channel. The channel name will be prefixed with # if not already present.

# Notify the alerts channel
scripts/script.sh notify alerts "⚠️ Server CPU at 95%!"

# Notify with # prefix (also works)
scripts/script.sh notify "#deployments" "v3.0.2 deployed to production"

# Notify the team channel
scripts/script.sh notify general "Standup in 5 minutes!"

schedule add

Add a scheduled message. Time can be in HH:MM format (converted to daily cron) or a full cron expression. Schedules are saved to ~/.slack-automator/schedule.json.

# Schedule a daily message at 9:00 AM
scripts/script.sh schedule add 09:00 "Good morning, team! ☀️"

# Schedule with cron expression (every Friday at 6 PM)
scripts/script.sh schedule add "0 18 * * 5" "Happy Friday! 🎉"

# Schedule hourly reminder
scripts/script.sh schedule add "0 * * * *" "Hourly status check"

> Note: Schedules are saved locally. To actually trigger them, set up a cron job that runs slack-automator send with the scheduled messages.

schedule list

Display all scheduled messages with their IDs, cron expressions, and status.

scripts/script.sh schedule list
# === Scheduled Messages ===
#   ✅ [1710820800] 0 9 * * * — Good morning, team! ☀️
#   ✅ [1710820900] 0 18 * * 5 — Happy Friday! 🎉

schedule remove

Remove a scheduled message by its ID.

scripts/script.sh schedule remove 1710820900
# ✅ Removed schedule 1710820900.

template list

List all saved message templates.

scripts/script.sh template list
# === Message Templates ===
#   📝 deploy — 🚀 Deployed *{{service}}* to production.
#   📝 alert — ⚠️ Alert: {{message}} (severity: {{level}})

template save

Save a reusable message template. Use {{variable}} placeholders for dynamic values.

# Save a deploy notification template
scripts/script.sh template save deploy "🚀 Deployed *{{service}}* to production ({{version}})."

# Save an alert template
scripts/script.sh template save alert "⚠️ {{level}}: {{message}}"

# Save a welcome template
scripts/script.sh template save welcome "👋 Welcome to the team, {{name}}!"

template use [var=value ...]

Send a message using a saved template. Variables in {{var}} are replaced with provided var=value pairs.

# Use deploy template with variables
scripts/script.sh template use deploy service=api-server version=v2.1.0
# Sends: 🚀 Deployed *api-server* to production (v2.1.0).

# Use alert template
scripts/script.sh template use alert level=HIGH message="Database connection timeout"

# Use welcome template
scripts/script.sh template use welcome name=Alice

webhook test

Send a test message to verify webhook connectivity. The test message includes a timestamp.

scripts/script.sh webhook test
# Testing webhook connectivity...
# ✅ Webhook is working! Test message sent.

webhook info

Show the current webhook configuration. The URL is partially masked for security.

scripts/script.sh webhook info
# === Webhook Configuration ===
#   URL: https://hooks.slack.com/services/T0...xxxxxxxx
#   Full URL stored in: ~/.slack-automator/config.json

format