stephane.bio
  • Invest
  • Build
  • Write
  • Think
Ketchup

ruter/notion-palette: Supercharge your All-in-One workspace with the Command Palette within Notion 🕹️

URL
https://github.com/ruter/notion-palette
image
image
image
image
image

Notion Palette

Supercharge your All-in-One workspace with the Command Palette within Notion 🕹️

Notion Palette is a free and open source extension, you can create commands and execute scripts within Notion. Such as take a quick note, change page's icon and title, sync your schedule and anything else you can imagine.

image

Installation

Firstly, clone this repo or download the code from website of GitHub, by clicking the green Code button and then click Download ZIP, or just click the link here to download it.

git clone https://github.com/ruter/notion-palette.git

Then, follow the instruction of Load an unpacked extension or below to load Notion Palette extension:

    18a20f0ebb6e4593810fdac2ed58b4f1

    If it's ZIP file, extract the contents somewhere

    2350f098c2664346864b8dcc104f9fa2

    In Chrome or any other Chromium browser like Edge and Brave, navigate to chrome://extensions

    fcfded3533ba4ced997029481de0e3e6

    Toggle on the Developer mode and click Load Unpacked

    d0e179c449264330b78c1a6ff33ac0b1

    Navigate to the local folder containing the extension’s code and click OK

    ac75898554bb4def97c1d98c73e12f77

    Assuming there are no errors, the extension should load into your browser

Done! You can start to use Notion Palette now 🎉

Usage

Press Alt + P (Option + P for macOS) to open the Command Palette, then you can search, select and execute commands.

All operations are done within the Command Palette, so you can use it anywhere in the Notion, there are some shortcuts you can use while you are open the Command Palette.

Keyboard Shortcuts

Shortcut
Action
Alt/Option + P
Open Notion Palette
Shift + Enter
Edit the selected command
Shift + Backspace
Delete the selected command
Enter
Execute the selected command

API Reference

Get environment variables

getEnv(key)
Parameter
Type
Description
key
string
Required. The key of the environment variable

After called this function, it will return a Promise object, you might like to use it like

(async () => {
    const token = await getEnv('API_TOKEN');
    console.log(token);
    // do some stuff here...
})();

Get current page's ID

getCurrentPageId()

Return current page's ID. If any page opened in database with Side peek or Center peek view, this function will return the opened page's ID, otherwise it will return the database page's ID.

Copy text to clipboard

copyText(text);
Parameter
Type
Description
text
string
The text content write to clipboard

Store text content to the clipboard.

Display a Toast

showToast(content)
Parameter
Type
Description
content
string
Required. The message you want to display

This function will display a Toast at the page's bottom.

Roadmap

  • Add showDialog() API
  • Import command via gist
  • Add more API

Contributing

Contributions are always welcome!

Please feel free to open an issue or create a pull request.

Please adhere to this project's code of conduct.

Attribution

  • Sval - A JavaScript interpreter.
  • Flaticon.com - This project using resources from Flaticon.com
stephane.bio

Made with Notion, Published on Super - 2026 © Stephane Boghossian

LinkedInInstagramMediumGitHubXBehanceDiscordPinterest