Slack Announcement Scheduler using Notion
Many companies manually send announcements to a Slack channel at scheduled times. This manual process often goes wrong when the person is off sick or forgets to send the announcement. This app is designed to automate away that pain point!
Announcements are scheduled within Notion, then are sent at the time they were scheduled for into Slack. You can customise how announcements are formatted, as well as what channel they are sent to.
Setup
You will need
- A free Notion account
- A Slack workspace that you have admin access to
Setting up the Notion Integration
- Visit this link. Login if you're prompted to, then click
New integration
.


- You'll be taken to page that shows your integration's
Name
and Internal Integration Token
. Copy these down - you'll need these later.

Congratulations - you've finished setting up your Notion Integration!
Setting up the Notion template
- Open this link and click the
Duplicate
button in the top right corner.

- If prompted, login to Notion. Then, select the workspace that you want to duplicate the template into.

- You'll be taken to your page inside your Notion workspace. Click the three dots in the top corner, then
Add Connections
, then click the name of the integration you created earlier. In the popup that appears, click Confirm
.

- You'll need the page's Notion ID shortly. You can find this by looking at the URL while the page is open. The page ID is between the second
/
and the ?
. In the example below, the page ID is 461372420dfb4b0b94882c61f67d9f5d
. Copy your page ID down - you'll need it shortly.

Awesome, your Notion template is all setup!
Setting up your Autocode project
- Scroll up on this page and click the green
Install Free
button.

- Choose the organization that you want to install your project into, and give it a name. Then click
Next
.

- You'll now need to link your Slack and Notion accounts. For each account, click
Link
then Link New Resource
.
- When setting up your Notion linked resource, use the
Integration Name
and Integration Token
that you created earlier.
- When setting up your Slack linked resource, you can choose either
Install Autocode App (Recommended)
or Custom Internal Application
, depending on the level of customization you require.

- Once you've linked both Slack and Notion to your project, they'll appear as shown below. Then click
Next
.

- Nearly there! Fill out the
Notion Database ID
(this is the page ID that you copied down earlier in this tutorial) and Slack Announcement Channel
values. Make sure the Slack channel you're inputting exists in the workplace you previously connected. Then, click Install App
.

Congratulations - your Notion to Slack announcement bot is all setup and ready to use!
Scheduling Announcements
Announcements can be scheduled within Notion. Simply add a new row to the announcements database, set a Title
, input some Content
, select whether or not the announcement should include an @channel
, and set the Time
. Make sure you enable the Include time
setting when setting your announcement's time and date!

Setting Announcement Check Frequency
By default, this app checks for new announcements once per hour. Each time it checks for new announcements, it uses one request. That means it will use approximately 720 requests per month by default.
You may wish to check for new announcements more or less frequently (resulting in more or less requests being used per month). You can do this by opening the /functions/events/scheduler/hourly.js
file inside Autocode's editor, clicking the Event trigger
button at the top of the screen, then selecting a different frequency.
You do not need to modify any code to change the schedule frequency.
