Chatz is an open-source application designed to send messages to popular communication platforms like Google Chat, Slack, Discord and Telegram etc. Whether you're monitoring server health, tracking job completions, or needing a quick notification tool, Chatz offers a unified way to communicate with your teams and devices, such as:
- Event Notifications: Automatically notify users of events occurring in background jobs, system processes, or application workflows.
- Alerts: Integrate with script to alert teams of system status changes, errors, or other critical updates.
- CI/CD Pipeline: Receive notifications when build status changes, pipeline status changes, and other events occur in the CI/CD pipeline. Visit: Chatz Action to add to your github workflow.
With chatz, you can streamline your notification processes across multiple platforms, making it an essential tool for developers, system administrators, and teams that need reliable communication for automated tasks.
- Slack: Read documentation
- Google Chat: Read documentation
- Telegram: Read documentation
- Discord: Read documentation
- Redis: Read documentation
- SMTP: Read documentation
- Gotify: Read documentation
Download and install executable binary from GitHub releases page.
brew tap tech-thinker/tap
brew update
brew install chatzTAG=<tag-name>
curl -sL "https://github.com/tech-thinker/chatz/releases/download/${TAG}/chatz-linux-amd64" -o chatz
chmod +x chatz
sudo mv chatz /usr/binTAG=<tag-name>
curl -sL "https://github.com/tech-thinker/chatz/releases/download/${TAG}/chatz-darwin-amd64" -o chatz
chmod +x chatz
sudo mv chatz /usr/binTAG=<tag-name>
curl -sL "https://github.com/tech-thinker/chatz/releases/download/${TAG}/chatz-windows-amd64.exe" -o chatz.exe
chatz.exe- Create config file at home directory.
.chatz.ini
[default]
PROVIDER=slack
TOKEN=<token>
CHANNEL_ID=<one-channel-id>
[another]
PROVIDER=slack
TOKEN=<token>
CHANNEL_ID=<another-channel-id>- Config for slack provider
[default]
PROVIDER=slack
TOKEN=<token>
CHANNEL_ID=<channel-id>- Config for google provider
[default]
PROVIDER=google
WEB_HOOK_URL=<webhook-url>- Config for telegram provider
[default]
PROVIDER=telegram
TOKEN=<bot-token>
CHAT_ID=<chat-id>- Config for discord provider
[default]
PROVIDER=discord
WEB_HOOK_URL=<webhook-url>- Config for redis provider
[default]
PROVIDER=redis
CONNECTION_URL=<redis-connection-url>
CHANNEL_ID=<redis-publish-channel>- Config for smtp provider with TLS
[default]
PROVIDER=smtp
SMTP_HOST=smtp.gmail.com
SMTP_PORT=465
SMTP_USE_TLS=true
SMTP_USER=<yourmailid@gmail.com>
SMTP_PASSWORD=<app-password>
SMTP_SUBJECT=<Your subject>
SMTP_FROM=<from-mail@gmail.com>
SMTP_TO=<user1@gmail.com,user1@gmail.com>- Config for smtp provider with STARTTLS
[default]
PROVIDER=smtp
SMTP_HOST=smtp.gmail.com
SMTP_PORT=587
SMTP_USE_STARTTLS=true
SMTP_USER=<yourmailid@gmail.com>
SMTP_PASSWORD=<app-password>
SMTP_SUBJECT=<Your subject>
SMTP_FROM=<from-mail@gmail.com>
SMTP_TO=<user1@gmail.com,user1@gmail.com>- Config for smtp provider without encryption
[default]
PROVIDER=smtp
SMTP_HOST=smtp.yourmailserver.com
SMTP_PORT=25
SMTP_USER=<yourmailid@yourmailserver.com>
SMTP_PASSWORD=<app-password>
SMTP_SUBJECT=<Your subject>
SMTP_FROM=<from-mail@yourmailserver.com>
SMTP_TO=<user1@gmail.com,user1@gmail.com>Chatz also support system environment variable. To use system environment variable then use --from-env or -e flag.
Name of the environment variable is same as chatz.ini config key, for example export PROVIDER=slack.
chatz -e "Test"
# Or
chatz --from-env "Test"- Send message using
defaultprofile
chatz "hello"- Reply message using
defaultprofile
chatz -t="<thread-id>" "Hello"- Send message using
anotherprofile
chatz --profile=another "hello"- Reply message using
anotherprofile
chatz --profile=another -t="<thread-id>" "Hello"- See output
chatz -o "Hi"- See help
chatz --help