Here's what you'll end up with. A quick shortcut to make a new Notion page.

new.gif

1. Install eesel

Install eesel from here and create a new command.

Untitled

2. Set up your label

This is how you'll call the command and it can be whatever you like. Some ideas include "/notion new" or "/board new" or even just "/n".

Untitled

3. Set up your "Page to open"

This is the url of the database for which this command will make a new page. It could be a board, gallery, list view and so on. For example, it could be this url in this board view:

https://www.notion.so/eesel/b68fca58d9c24cf3a8c32e464542bc46?v=45a5562e56d6446cafa788727be3517e

Untitled

3. Set up "Advanced actions"

Toggle "Advanced actions" on.

Untitled

Add this JavaScript snippet to the textbox.

;(async () => {
  const waitFor = async (fn, { count = 10 } = {}) => {
    const result = await fn();
    if (!result) {
      if (count - 1) {
        return new Promise((resolve, reject) => {
          setTimeout(async () => {
            try {
              await waitFor(fn, { count: count - 1 });
              resolve();
            } catch (err) {
              reject(err);
            }
          }, 30);
        });
      } else {
        throw new Error("Timeout");
      }
    }
  };

  await waitFor(() =>
    document.querySelector('div[class="notion-collection-view-item-add"]')
  );

  const newButton = document.querySelector(
    'div[class="notion-collection-view-item-add"]'
  ).children[0];

  await newButton.dispatchEvent(new MouseEvent("mousedown", { bubbles: true }));

  newButton.click();

})()

When you execute the command, this command opens up the "Page to open" url and then injects this JavaScript snippet, which then waits for the 'New' button in the top right of the page to render, and then clicks it for you.