Skip to content
Enable Slack notifications in MotionEye OS to alert you of any detected movement.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Slack Notifications in MotionEye OS


This Python script sends notifications to a dedicated Slack channel whenever movement is detected in MotionEye OS.

You will need to create a free Slack account over at and create an incoming webhook by visiting I recommend creating a dedicated Slack channel (i.e. #motioneyeos), but you can also add a custom icon and name to make it look the part too! There is also a Slack app (iOS and Android), so installing this will also give you notifications when you are out and about.

Customising your Slack notification:

You can customise the message sent to Slack by editing the data string below. The string must be within curly brackets and start with {"text": }. Links can be included between <> - i.e. <> and text can be displayed using | so this <|Raspberry Coulis> would be a link to Raspberry Coulis!

To emphasise text, place words you want in bold between two asterix - i.e. *this is bold!* becomes this is bold!

Split text onto a new line with \n (without the quotation marks) so Hello\nWorld! becomes:


Remember to enclose your custom text message within quotation marks " " though!

This is my example:

'{"text": "Motion Detected!\nView the *<http://IP.ADD.RE.SS|live stream>* now!"}'


MotionEye OS is not like Raspbian. You cannot use certain commands as you would normally (such as git clone), so you’ll have to create our Python script manually. You also do not need to use sudo as you’re already logged in as root by default. This script needs to live in the data folder, so let’s go there and create using Nano:

cd /data

Copy and paste the contents of into this new file, making sure you add your Webhook URL into the relevant place. Press Ctrl + X to exit, pressing Y to save. You will need to make your script executable, and this can be done from the terminal by running:

chmod +x

You can quickly test this script out from the terminal by running (assuming you are still in the data folder):


Setting up MotionEye OS

Now that you have this script, you need to tell MotionEye OS to use it when it detects motion. To do this, log in and then go to the Motion Notifications menu and then turn on Run A Command. You then need to specify which command to run, which will be the Python script you just created. This will be /data/ Click Apply once done to confirm the changes.

Test it out!

Double check that everything works by waving your hand in front of your MotionEye OS camera. All being well, you should receive a Slack notification alerting you.

You can’t perform that action at this time.