An Alfred 5 workflow to search Notion.so with instant results
Alfred 5 version (this one)
Alfred 4 version
Simply type your keyword into Alfred (default: ns) and provide a query to see instant search results from Notion that mimic the Quick Find function in the Notion webapp.
Pressing enter on a search result takes you to that page in Notion in your default web browser or notion app.
Hold Cmd + press enter on any search result to copy the url to your clipboard.
Additional features
-
Comes with pre-configured support for OneUpdater for automatic version updates.
-
The workflow also provides the ability to quickly see your recently viewed pages. Simply type the 'ns' keyword to start the workflow, as you would before you search, and your most recently viewed notion pages are displayed.
-
Open a new notion page by typing 'nsn', this only supports the web app currently, it's very handy!
Cookie
: Needed for your Notion token.Space ID
: Your organisation identifier.Use Desktop Client
: Defaults to False. Determines whether to open Notion links in the desktop client rather than the web app.
It's recommended to leave the following variables to their defaults, unless you're confident:
Navigable Only
: Defaults to False. Setting to false allows you to search objects within a page, ie notion objects that cannot be found through the left hand side navigation pane.Enable Icons
: Defaults to True. This toggles support for Notion icons to be shown natively in Alfred search results, for a better design/UX experience. Custom Notion icons are downloaded on demand and cached.Show Recently Viewed
: Defaults to True. This toggle determines if recently viewed pages should be shown when there is no query provided by the user and the user id is present in the supplied cookie (user id is needed for the api call to show recently viewed pages).Icon Cache Days
: Defaults to the recommended value of 365 days for the best performance. Defines the number of days to cache icons and images. Min 0, max 365.
Many people will have Python3 already on their machine, if you haven't you can try to run python3
from a Terminal window and it should prompt you to install the Xcode CLI tools automatically (which include Python).
Otherwise you can read a more detailed guide on installing Python here.
Installing cairosvg will allow svg icons to be shown in Alfred search results, providing a more visually appealing experience. Open terminal and run the following command:
pip3 install cairosvg
Install cairosvgs's dependency, cairo. With Homebrew for example:
brew install cairo
If you haven't used homebrew before, you may want to skip this optional step or install homebrew (easy with a quick google search).
UPDATE: There seems to be an issue with cairosvg on apple silicon, use this fix at your own risk but this worked for me and now SVG icons show again:
brew install cairo pango gdk-pixbuf libxml2 libxslt libffi
sudo mkdir /usr/local/lib/
sudo ln -s /opt/homebrew/lib/libcairo-2.dll /usr/local/lib/libcairo-2.dll
sudo ln -s /opt/homebrew/lib/libcairo.so.2 /usr/local/lib/libcairo.so.2
sudo ln -s /opt/homebrew/lib/libcairo.2.dylib /usr/local/lib/libcairo.2.dylib
I recommend using chrome to retrieve these values. If you can only use safari you can copy the 'token_v2' value by following the equivalent steps above and populating the cookie env variable in Alfred so it looks like this token_v2=XXXXXXXXXXXX
(however this means the recently viewed pages feature will not work for you).
Visit the Notion webapp and use your browser developer tools to see the network requests being made when you type in anything to the quick find search bar. In Chrome select 'View' in the toolbar > Developer > Developer Tools. Then select the Network tab in the developer tools window.
Here you'll see a request called search
, check the request headers to copy the cookie
value and check the request payload to copy your notionSpaceId
, as shown in the screenshots below.
Known issue: Some users have experienced issues with copying these values directly from developer tools, but have seen success by copying and pasting the values into TextEdit or a different text editor first, this probably "strips out" or removes any problematic formatting.
Get your cookie
headers
They should look something like this
notion_browser_id=1bcfbfb9-e98c-9f03; logglytrbckingsession=eb1c82cb-fd; bjs_bnonymous_id=%22bdbf1088-b33c-9bdb-b67c-1e; _fbp=fb.1.12821; intercom-id-gpfdrxfd=b61ec62d-; token_v2=b39099...
Get your spaceId
It should look something like this
celcl9aa-c3l7-7504-ca19-0c985e34ll8d
Download and double click the latest release for your version of Alfred, following the links at the top of this page.
Alfred should automatically open the 'configure workflow' options panel when you first install the workflow, here you can add the values obtained through the above steps.
You can also update these values at any time by clicking Configure Workflow..
The script may fail due to an SSL error. If the script isn't working, turn on debugging by clicking on the little cockroach in the alfred workflow screen. If you see an error like:
[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: .....
Run this from the terminal app:
'/Applications/Python 3.9/Install Certificates.command'
The single quotes are required. If this file doesn't exist, run "python --version" to find out what version you have and update the directory accordingly.
- If you prefer using the Mac app rather than using Notion in your browser, check
Use Desktop Client
under the menu that appears when you click 'Configure Workflow..' as shown above in the install steps section.
Follow the links at the top of this page.
https://www.alfredforum.com/topic/14451-notionso-instant-search-workflow/ https://www.reddit.com/r/NotionSo/comments/f58u1y/notionso_instant_search_workflow_for_alfred/