Skip to content

Commit

Permalink
Edited Notion Doc (#18405)
Browse files Browse the repository at this point in the history
* edited doc

* some wording changes

* edited step
  • Loading branch information
sophia-wiley authored Oct 25, 2022
1 parent 56df057 commit f83fd5b
Showing 1 changed file with 61 additions and 56 deletions.
117 changes: 61 additions & 56 deletions docs/integrations/sources/notion.md
Original file line number Diff line number Diff line change
@@ -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

Expand Down

0 comments on commit f83fd5b

Please sign in to comment.