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.
https://hooks.slack.com/services/...)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
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 listDisplay 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 listList 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 testSend 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 infoShow 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