Be notified on Slack when a long process finishes

We run several processes that may take hours to complete and it is nice to be notified on a Slack channel when those processes finishes correctly. Using the Slack’s Incoming Webhooks API, a small bash script and a couple of tricks it is really simple!



Only few steps are necessary to install this small script:

  1. Download this bash script and place it at your home directory:

    curl > ~/notify-slack
  2. Edit your ~/.bashrc to source the new file:

    # Add function to send bash notifications to a Slack Channel
    [ -f ~/notify-slack ] && source ~/notify-slack
  3. Create a file at ~/.notify-slack-cfg containing the Slack’s webhook. This file MUST contains only the key, it looks like T02TKKSAX/B246MJ6HX/WXt2BWPfNhSKxdoFNFblczW9. You can create your webhook here

  4. All done! :D


Now you can test notifications, just source your .bashrc again: source ~/.bashrc and let’s do a few tests:

notify-slack 'Hello World!'

You should receive inmediatlely a notification on Slack:


If you start your message with INFO, WARN or ERROR a nice icon will be prepended.

notify-slack 'ERROR: Something went wrong :('


Chaining on your scripts

Chain notify-slack on your own commands and scripts. I use it to be notify when a backup finished correctly:

(mysqldump test | gzip -9 > test.gz) && notify-slack 'INFO: Backup has finished'


Hope you find it useful! Enjoy!

Gustavo Arjones

Always Learning, Geek, Curious