Notion

With the Notion modules in {{Make}}, you can watch, retrieve, create, append, and update databases, database items, pages, page content, search for objects, list users, and make API calls.

To get started with Notion, create an account at notion.so. The user account must have admin permission to create a connection.

Refer to the Notion API documentation for a list of available endpoints.

Connect Notion with {{Make}}

{{Make}} provides two ways to connect the Notion app:

Establish Notion Internal Connection

To establish a Notion internal connection:

  1. Log in to your Notion account.

  2. Click Settings & Members > Connections > Develop or manage integrations from the sidebar or go to the My integrations page.

    Notion_Connections.png
  3. Click New Integration.

    Notion_New_Integration.png
  4. Fill in the integration Name, upload a logo (optional), choose the Associated workspace, and click Submit.

  5. Go to Capabilities, update the requested capabilities, and click Save changes.

    Notion_Capabilities.png
  6. Go to Secrets, click Show next to your internal integration token, and copy the token. Store your token in a safe place.

    Notion_Show_Key.png
  7. Log in to your {{Make}} account and add a Notion module in a scenario.

  8. Click Add next to the Connection field and select Notion Internal in the Connection type dropdown.

    Optional: In the Connection name field, enter a name for the connection.

    Notion_6.gif
  9. In the Internal Integration Token field, paste the token copied in step 6 and click Save.

You have successfully connected the Notion app with {{Make}} and can now build scenarios.

If the databases are not visible in the Database ID > Search field, follow the instructions in Add Databases to be visible in {{Make}} to add them.

Establish Notion Public Connection

To establish a Notion public connection:

  1. Log in to your {{Make}} account and add a Notion module in a scenario.

  2. Click Add next to the Connection field, select Notion Public in the Connection type dropdown.

    Optional: In the Connection name field, enter a name for the connection.

    msedge_G4nGnb7l39.gif
  3. Optional: Click Show Advanced Settings and enter your client credentials. See Obtain Client Credentials.

  4. Click Save.

  5. Click Select pages to grant access to the {{Make}} for accessing your Notion account.

    Notion_Access_1.png
  6. Select the pages and click Allow access.

You have successfully connected the Notion app with {{Make}} and can now build scenarios.

Obtain Client Credentials

To obtain client credentials:

  1. Log in to your Notion account.

  2. Click Settings & Members > Connections > Develop or manage integrations from the sidebar or go to the My integrations page.

    Notion_Connections.png
  3. Click New Integration.

    Notion_New_Integration.png
  4. Fill in the integration Name, upload a logo (optional), choose the Associated workspace , and click Submit.

  5. Go to Capabilities, update the requested capabilities, and click Save changes.

    Notion_Capabilities.png
  6. Go to Distribution and click the toggle to make the integration public.

    Notion_Public_toggle_2.png
  7. Fill in your organization information and click Submit.

    Redirect URIs

    Enter the redirect URI:

    https://www.integromat.com/oauth/cb/notion2

    Company name

    Name of your company or organization. You may use your own name if this does not apply.

    Website or homepage

    Used to link to your integration’s website or homepage in your integration page and authentication screens.

    Tagline

    Optional: A short description of the integration.

    Privacy policy

    URL address used to link to your integration’s privacy policy in your integration page and authentication screens.

    Terms of use

    URL address used to link to your integration’s terms of use in your integration page and authentication screens.

    Support email

    Used to link to your integration’s support email in your integration page and authentication screens.

    Notion URL for optional template

    Optional. URL must be for a public Notion page. Use this field if you'd like to duplicate a template into a user's workspace during OAuth.

  8. Click Continue in the Switch to Public integration? prompt.

  9. Copy the OAuth client ID and OAuth client secret and save them in a safe place. You will not be able to view the OAuth client secret more than once.

    Notion_OAuth_Secrets.png

You have successfully created your client credentials.

Add Databases to be visible in {{Make}}

For the Notion internal connection, by default, the databases do not appear in the Database ID field > Search option. You must manually add them to the {{Make}} app from your Notion account.

msedge_xN4IuRm1rS.gif

To add databases from your Notion account to {{Make}} app:

  1. Log in to your Notion account.

  2. Enter into the database you want to add to {{Make}} , click on ... in the top right corner, click Add connections, search and click on the integration you previously created, and click Confirm.

    Notion_Add_Database.png

The database is successfully shared and you can now see it in a module's Database ID > Search field.

p3nnx3BAli.png
Retrieve added databases and pages after establishing the connection
[Note] Note

If new databases or pages are added to the Notion account, you must revoke the connection in your Notion account and reauthorize the connection in {{Make}} to retrieve the added databases or pages.

To retrieve the newly added databases and pages:

  1. Log in to your Notion account.

  2. Click Settings & members > Connections > ... > Disconnect all users.

    Notion_Disconnect.png
  3. Go to your {{Make}} account Connections page, search for your Notion connection, and click Reauthorize.

    msedge_2Ufl0UimNc.gif

You can now see the newly added databases or pages in your Notion {{Make}} connection.

Build Notion Scenarios

After connecting the app, you can perform the following actions:

  • Watch Database Items

    Triggers when a database item is created or updated.

  • Get a Database Item

    Gets a specified database item.

    Note: Add the List Page/Database Property Items module to retrieve the complete details of a property items if the output variable contains has_more value. This means you must paginate to retrieve all the property item's property values in the page object that have a 25-page reference limit. This limitation is added from the Notion side.

  • Create a Database Item

    Creates a new item in a database.

  • Append a Database Item Content

    Appends a new database item content.

  • Update a Database Item

    Updates an existing database item.

  • Watch Databases/Pages

    Triggers when a database or page is created and updated.

  • Search Objects

    Searches for objects of a page, database, or database item.

  • Get a Database

    Gets a specified database.

  • Get a Page

    Gets a specified page.

  • Create a Database

    Creates a new database as a subpage in a specified page.

  • Create a Page

    Creates a new page in a specified page.

  • Update a Database

    Updates an existing database.

  • Update a Page

    Updates an existing page.

  • Watch Page Contents

    Triggers when a page content is created.

  • List Page Contents

    Retrieves a list of page contents.

  • List Page/Database Property Items

    Retrieves a list of paginated page property items. Possible property types are title, rich_text, relation, and people.

    Note: Use this module when a property on a database item or page outputs contains has more value, indicating there are more than 25 items in that field and you much paginate to retrieve all items in that column.

  • Get a Page Content

    Get a specified page content/block.

  • Append a Page Content

    Appends a new page content.

  • Update a Page Content

    Updates an existing page content/block.

    Note: In the Type field, select the page content type that corresponds to the Page Content ID. If an incorrect Type is selected, an error will appear. The page content type cannot be changed using this module.

  • Delete a Page Content

    Sets a page content/block, as archived.

  • Make an API Call

    Performs an arbitrary authorized API call.

  • List Users

    Retrieves a list of users.