# Sending Notification to Slack from Jupyter Notebook

If you want to run a cell that may take a long time, it would be helpful if Jupyter sends a notification when the cell is finished. I implemented the feature by just combining Jupyter’s custom magic and Slack’s Incoming Webhooks.

The following is my implementation. Put it in ~/.ipython/profile_default/startup/nbnotifier.py to call from Jupyter.

import json
import socket

from IPython.core.magic import register_line_magic
import requests

@register_line_magic
def slack(line):
webhooks_url = '<Incoming Webhooks URL>'
'text':
line
if line else 'A cell that was running on *{}* has finished.'.format(
socket.gethostname())
}

Note that '<Incoming Webhooks URL>' should be replaced with yours.
The following shows usage. By writing %slack [message] at the end of the cell, you can receive notification when it has finished.