There isn't a way to configure DND for the weekend on Slack. However, you can use the /dnd 24 hours
command to disable notifications for 24 hours using the undocumented API and legacy tokens. We're going to use the undocumented api and IFTTT to automate this.
- Generate a token for your account
- Navigate to your personal DM and copy the url (e.g.
DAYM93S0N
fromacme.slack.com/messages/DAYM93S0N/convo/GBG661YR2-1536698414.000100/
) - Update the following url with your information (TOKEN looks like
xoxp-4030334043-4959593942-3030320302032-sdf23rfasdf23rsf
and CHANNEL looks likeDAYM93S0N
)https://slack.com/api/chat.command?token=xoxp-4030334043-4959593942-3030320302032-sdf23rfasdf23rsf&channel=DAYM93S0N&command=%2Fdnd&text=24%20hours
- You should have a url like this:
https://slack.com/api/chat.command?token=xoxp-4030334043-4959593942-3030320302032-sdf23rfasdf23rsf&channel=DAYM93S0N&command=%2Fdnd&text=24%20hours
- Test your url like the following
unset HISTFILE # don't want to store these credentials curl --request POST \ --url "https://slack.com/api/chat.command?token=xoxp-4030334043-4959593942-3030320302032-sdf23rfasdf23rsf&channel=DAYM93S0N&command=%2Fdnd&text=24%20hours" # expected response # {"ok":true,"response":"All set. I\u2019ve turned on Do Not Disturb"}
- Create a new IFTTT applet with the "Date & Time" service that triggers "Every day of the week at" and check Saturday and Sunday. Create a "that" webhook that makes a request to the url we made with a "GET" method. Leave everything else blank.
- You're done. You should now have DND enabled automatically for the weekend.
Thanks! It's also possible to do
&text=until%20Monday
if you just want to send 1 request.