From f83fd5b0af52525bd5e19ac6538fc3c0419d3557 Mon Sep 17 00:00:00 2001 From: Sophia Wiley <106352739+sophia-wiley@users.noreply.github.com> Date: Tue, 25 Oct 2022 15:24:13 -0500 Subject: [PATCH] Edited Notion Doc (#18405) * edited doc * some wording changes * edited step --- docs/integrations/sources/notion.md | 117 +++++++++++++++------------- 1 file changed, 61 insertions(+), 56 deletions(-) diff --git a/docs/integrations/sources/notion.md b/docs/integrations/sources/notion.md index 10f97cb37b3d..c4d2a8bbcc39 100644 --- a/docs/integrations/sources/notion.md +++ b/docs/integrations/sources/notion.md @@ -1,75 +1,80 @@ # Notion -Notion is a productivity and project management software. It was designed to help organizations coordinate deadlines, objectives, and assignments. - -## Prerequisites -* Created Notion account with integration on [my integrations](https://www.notion.so/my-integrations) page or an account that is the owner of a workspace. - -## Airbyte Open Source -* Start Date -* Token (received when integration was created). - -## Airbyte Cloud -* Start Date -* Client ID (received when integration was created). -* Client Secret (received when integration was created). - -## Setup guide -### Step 1: Set up Notion - -1. Create account on Notion by following link [signup](https://www.notion.so/signup) -2. Login to your Notion account and go to [my integrations](https://www.notion.so/my-integrations) page. -3. Create a **new integration**. You must be the owner of a workspace to create a new integration. Make sure to check the `Read content` capability. -4. Check the appropriate user capability depending on your use case. -5. Check the settings **Integration type** and select **Public** (OAuth2.0 authentication) or **Internal** (Token authorization) integration -6. If you select Public integration you need to go to the opened section **OAuth Domain & URIs** and fill all fields of form you've received. -7. Click `Submit`. -8. Copy the **access_token** or **client_id** and **client_secret** from the next screen depending on selected authentication method. - -## Step 2: Set up the Notion connector in Airbyte - -### For Airbyte Cloud: - -1. [Log into your Airbyte Cloud](https://cloud.airbyte.io/workspaces) account. -2. In the left navigation bar, click **Sources**. In the top-right corner, click **+ new source**. -3. On the source setup page, select **Notion** from the Source type dropdown and enter a name for this connector. -4. Add required Start date -5. Choose the method of authentication -6. If you select Token authentication - fill the field **token** with **access_token** in setup Notion step (8) -7. If you select OAuth2.0 authorization - Click `Authenticate your Notion account`. -8. Log in and Authorize the Notion account. Select the pages you wish to allow Airbyte to access. -10. Click `Set up source`. - -### For Airbyte Open Source: -1. Go to local Airbyte page. -2. In the left navigation bar, click **Sources**. In the top-right corner, click **+ new source**. -3. On the Set up the source page, enter the name for the connector and select **Notion** from the Source type dropdown. -4. Add required Start date -5. Copy and paste values from setup Notion step (8): - 1) **client_id** - 2) **client_secret** -7. Click `Set up source`. +This page contains the setup guide and reference information for the Notion source connector. + +## Setup guide​ + +### Step 1: Set up Notion​ + +1. Create a new integration on the [My integrations](https://www.notion.so/my-integrations) page. + +:::note + +You must be the owner of a Notion workspace to create a new integration. + +::: + +2. Fill out the form. Make sure to check **Read content** and check any other [capabilities](https://developers.notion.com/reference/capabilities) you want to authorize. +3. Click **Submit**. +4. In the **Integration type** section, select either **Internal integration** (token authorization) or **Public integration** (OAuth2.0 authentication). +5. Check the capabilities you want to authorize. +6. If you select **Public integration**, fill out the fields in the **OAuth Domain & URIs** section. +7. Click **Save changes**. +8. Copy the Internal Access Token if you are using the [internal integration](https://developers.notion.com/docs/authorization#authorizing-internal-integrations), or copy the `access_token`, `client_id`, and `client_secret` if you are using the [public integration](https://developers.notion.com/docs/authorization#authorizing-public-integrations). + +### Step 2: Set up the Notion connector in Airbyte + +#### For Airbyte Cloud + +1. Log in to your [Airbyte Cloud](https://cloud.airbyte.io/workspaces) account. +2. Click **Sources** and then click **+ New source**. +3. On the Set up the source page, select **Notion** from the **Source type** dropdown. +4. Enter a name for your source. +5. Choose the method of authentication: + * If you select **Access Token**, paste the access token from [Step 8](#step-1-set-up-notion​). + * If you select **OAuth2.0** authorization, click **Authenticate your Notion account**. + * Log in and Authorize the Notion account. Select the permissions you want to allow Airbyte. +6. Enter the **Start Date** in YYYY-MM-DDT00:00:00Z format. All data generated after this date will be replicated. If this field is blank, Airbyte will replicate all data. +7. Click **Set up source**. + +#### For Airbyte Open Source + +1. Log in to your Airbyte Open Source account. +2. Click **Sources** and then click **+ New source**. +3. On the Set up the source page, select **Notion** from the **Source type** dropdown. +4. Enter a name for your source. +5. Choose the method of authentication: + * If you select **Access Token**, paste the access token from [Step 8](#step-1-set-up-notion​). + * If you select **OAuth2.0** authorization, paste the client ID, access token, and client secret from [Step 8](#step-1-set-up-notion​). +6. Enter the **Start Date** in YYYY-MM-DDT00:00:00Z format. All data generated after this date will be replicated. If this field is blank, Airbyte will replicate all data. +7. Click **Set up source**. ## Supported sync modes The Notion source connector supports the following [sync modes](https://docs.airbyte.com/cloud/core-concepts#connection-sync-modes): - - Full Refresh - - Incremental (partially) +* [Full Refresh - Overwrite](https://docs.airbyte.com/understanding-airbyte/glossary#full-refresh-sync) +* [Full Refresh - Append](https://docs.airbyte.com/understanding-airbyte/connections/full-refresh-append) +* [Incremental - Append](https://docs.airbyte.com/understanding-airbyte/connections/incremental-append) (partially) +* [Incremental - Deduped History](https://docs.airbyte.com/understanding-airbyte/connections/incremental-deduped-history) ## Supported Streams +The Notion source connector supports the following streams. For more information, see the [Notion API](https://developers.notion.com/reference/intro). + * [blocks](https://developers.notion.com/reference/retrieve-a-block) * [databases](https://developers.notion.com/reference/retrieve-a-database) * [pages](https://developers.notion.com/reference/retrieve-a-page) -* [users](https://developers.notion.com/reference/retrieve-a-get-users) (this stream does not support **Incremental** - _Append Sync_ mode) +* [users](https://developers.notion.com/reference/get-user) + +:::note -For more information, see the [Notion API](https://developers.notion.com/reference/intro). +The users stream does not support Incremental - Append sync mode. -## Performance considerations +::: -The connector is restricted by normal Notion [rate limits and size limits](https://developers.notion.com/reference/errors#request-limits). +## Performance considerations -The Notion connector should not run into Notion API limitations under normal usage. Please [create an issue](https://github.com/airbytehq/airbyte/issues) if you see any rate limit issues that are not automatically retried successfully. +The connector is restricted by Notion [request limits](https://developers.notion.com/reference/request-limits). The Notion connector should not run into Notion API limitations under normal usage. [Create an issue](https://github.com/airbytehq/airbyte/issues) if you see any rate limit issues that are not automatically retried successfully. ## Changelog