Preview Notion's private links in Slack

Overview

slack-notion-preview

English | 日本語

Description

A Slack App that shows a preview of a private Notion link posted to Slack.

Usage

Features

  • Notion article title preview (properties not yet supported)
  • Notion article content preview
    • Heading
    • Paragraph
    • Bulleted list
    • Numbered list
    • TODO List

Installation

  1. Create Notion API Integrations with Internal integrations and obtain a token
  2. Create Slack App
  3. Deploy slack-notion-preview
  4. Register the URL of step 3 to the app created in step 2
  5. Invite Slack App bot users to the channel
  6. Allow Integration on the pages you want to unfurl

STEP 1: Create Integrations for Notion API with Internal integrations and get a token.

Refer to Getting Started to obtain an access token.

STEP 2: Creating Slack App

  1. Create an app from Create New App at https://api.slack.com/apps
  2. Open OAuth & Permissions in the left menu and add link:write in Scopes.
  3. Open Event Subscriptions from the left menu.
    • Expand App unfurl domains, under Add Domain, enter www.notion.so, and save changes.
  4. Open Install App from the left menu, set Install App to Workspace to Allow
  5. Note the OAuth Access Token when it appears (SLACK_TOKEN)
  6. Open Basic Information and note Signing Secret in App Credentials (SLACK_SIGNING_SECRET)

※ Leave the Slack App admin screen open, as you will return to it later.

STEP 3: Deploy slack-notion-preview

Since it is a web application written in Node.js, it can easily be run anywhere, but using Heroku or Google App Engine is probably easier. The following environment variables are required for operation.

  • NOTION_TOKEN: Notion's access token obtained in step 1
  • SLACK_TOKEN: Slack App token obtained in steps 2-5
  • SLACK_SIGNING_SECRET: Request signature verification secret obtained in step 2-6

Running on Heroku

You can deploy from the following button

Deploy

※ The page will not be displayed even if you access the URL root of the deployed app, but this is just a specification, so don't worry about it.

STEP 4: Register the URL of STEP 3 to the app created in STEP 2.

  • Open the left menu Event Subscriptions
  • Enter {URL of the app deployed in STEP 3}/slack/events in Request URL (e.g. https://your-app.herokuapp.com/slack/events)
  • When Verified is displayed, turn Enable Events on and save changes.

STEP 5: Invite Slack App bot to the channel.

Check the Bot name from App Home on the left menu.

STEP 6: Allow Integration on the page you want to deploy.

In order to access via API, Integration must be allowed on that page.
Grant Integrations

Currently, it does not seem possible to allow all pages at the workspace level.
However, if you allow it on the parent page, it will be applied to the descendant pages, so it is possible to solve this problem, although it is troublesome to allow it on each page in the sidebar.

Now you are ready to go.

You might also like...

Downloads & formats all of your Roblox private messages.

Downloads & formats all of your Roblox private messages.

Roblox Message Downloader This tool was created due to the recent news sent out by Roblox. On April 22nd, 2022, all private messages sent by Roblox be

Apr 7, 2022

Framework for interacting with instagrams private api in a usable manner (forked from andre's work and improved and fixed)

node-ig-framework Framework for interacting with instagrams private api in a usable manner (forked from andre's work and improved and fixed) Installat

Dec 31, 2022

Mag🔥Lit - A super fast and easy-to-use free and open source private encrypted Magnet/HTTP(s) Link Shortener

Mag🔥Lit - A super fast and easy-to-use free and open source private encrypted Magnet/HTTP(s) Link Shortener

Mag 🔥 Lit Mag 🔥 Lit - A super fast and easy-to-use free and open source private encrypted Magnet/HTTP(s) Link Shortener https://maglit.ml Features ✅

Jan 8, 2023

A private chatroom for discussing secret stuff.

A private chatroom for discussing secret stuff.

💬 Socket.IO IRC A private chatroom for discussing secret stuff. The Problem Almost all chatapps nowadays aren't safe enough for private communication

Aug 16, 2022

📬 A quick comparison of private and / or secure email providers

📬 A quick comparison of private and / or secure email providers

📬 Email Comparison A comparison table of private and / or secure email providers Live App The app can be accessed at: lissy93.github.io/email-compari

Dec 15, 2022

This private repository generates the URL and requests to PACS for DICOMweb WADO-RS/URI.

CSY-DICOMweb-WADO-RS-URI This private repository generates the URL and requests to PACS for DICOMweb WADO-RS/URI. DICOM WADO DICOMweb WADO-RS https://

Aug 2, 2022

SSB private groups with ssb-db2

ssb-tribes2 TODO TODO Installation npm install ssb-tribes2 Usage in ssb-db2 Requires Node.js 12 or higher Requires secret-stack@^6.2.0 Requires ssb-db

Dec 15, 2022

🍣 CLI to handle Private Git Submodules in your Vercel Project

🍣 CLI to handle Private Git Submodules in your Vercel Project

vercel-submodules: The CLI to handle Private Git Submodules in your Vercel Project This project is community-driven and not affiliated with Vercel in

Jan 1, 2023

Onchain private messaging app with a significant encryption algorithm.

Onchain private messaging app with a significant encryption algorithm.

Hedwig DEMO We want to implement SSL technology to blockchain so decided to build onchain private messaging app. Diffie Hellman protocol was invented

Nov 3, 2022
Owner
Anycloud
Anycloud
Start building admin tools on Slack without going into complex slack syntax and flows.

Slackmin Slackmin helps in easy integration with slack to use slash commands, interactive components, format and send messages, design and use modals.

PLG Works 49 Jan 2, 2023
An example implementation of the slack-gpt starter which ingests confluence pages to create a helpful slack bot

Slack-GPT (HR bot example implementation) Table of Contents Introduction Prerequisites Creating and installing the application Configuration Starting

Martin Hunt 17 Jul 31, 2023
Lets you add a character to Hacker News links to add social media and OpenGraph previews for sharing on things like Slack or Twitter.

news.ycombinator1.com Lets you add a character to Hacker News links to add social media and OpenGraph previews for sharing on things like Slack or Dis

Ian Langworth ☠ 38 Sep 18, 2022
Unfurl links into rich cards, as seen in places like Slack and Twitter

eleventy-plugin-unfurl Turn URLs into rich cards. Show a preview image, page title, description and other meta information all inside a neatly present

David Darnes 38 Dec 16, 2022
Codebraid Preview provides a Markdown preview for Pandoc documents within VS Code.

Codebraid Preview provides a Markdown preview for Pandoc documents within VS Code. Most Markdown previews don't support all of Pandoc's extensions to Markdown syntax. Codebraid Preview supports 100% of Pandoc features—because the preview is generated by Pandoc itself! There is also full bidirectional scroll sync and document export.

Geoffrey Poore 12 Dec 28, 2022
Get an isolated preview database for every Netlify Preview Deployment

Netlify Preview Database Plugin Create an isolated preview database for each preview deployment in Netlify Quickstart • Website • Docs • Discord • Twi

Snaplet 10 Nov 16, 2022
Please do not use this tracker to scam anyone! This is free and will be forever free. This tracking will never ask for seed phrases nor private keys. Keep safe!

CryptoBlades Tracker Related modules express - web application framework for node pug - template engine stylus - pre-processor CSS mongoose - nodejs o

null 355 Oct 13, 2022
A Custom Growtopia Private's Server's (GTPS) HTTP

your-http sources-code Features Previews Files-Editing Crashing Installations previews Explanations wl's will replaced to your servers name develop by

Freeeeeeeeenzy 1 Dec 24, 2021
Generate random ethereum wallets & private keys and then check if they match a wallet that contains some kind of balance, so that you can take it. In Node.js

Ethereum-Stealer Generate random ethereum wallets & private keys and then check if they match a wallet that contains some kind of balance, so that you

Michał 74 Dec 24, 2022
A fast Protocol 6 Agar.io client for private servers

Cigar3 A fast Protocol 6 Agar.io client for private servers Getting started. After installing nodejs, run npm install and npm run cigar3 in a terminal

Lenny 5 Mar 6, 2022