> ## Documentation Index
> Fetch the complete documentation index at: https://docs.redbark.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Notion

> Sync transactions to a Notion database

Notion syncs bank transactions into a Notion database as pages, with one page per transaction and a typed property for each field.

## Setup

<Steps>
  <Step title="Connect your Notion workspace">
    Click **Add Destination**, select **Notion**, and authorise Redbark Sync. Notion asks which pages and databases to share — Redbark can only see the pages you grant it access to.
  </Step>

  <Step title="Select or create a database">
    Choose an existing database to write to. If you don't have one yet, click **Create Database** and Redbark creates a "Redbark Transactions" database inside the first page you shared.
  </Step>

  <Step title="Acknowledge the disclosure and save">
    Tick the CDR disclosure checkbox confirming you understand data sent to Notion leaves Redbark's control and is governed by Notion's own terms. Then save the destination.
  </Step>
</Steps>

## How it works

On each sync, Redbark Sync:

1. **Ensures the schema**: any missing transaction properties are created on the database automatically (see the table below). Notion allows only one title property, so if your database already has a title with a different name, it is renamed to **Description** rather than a second title being added.
2. **Reads existing Transaction IDs**: the database is queried and the `Transaction ID` property is used to identify transactions that have already been synced.
3. **Creates pages**: new posted transactions are written as new pages. Pending transactions are excluded by default to avoid duplicates when they later post with updated details. You can enable pending transactions per sync as an [experimental setting](/syncs#include-pending-transactions-experimental).
4. **Updates changed pages**: if a previously-synced transaction changes at the bank (for example it moves from pending to posted, or its description or category is enriched), the existing page is updated in place rather than duplicated.

## Transaction properties

| Property       | Type   | Description                                                                                                                                      |
| -------------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------ |
| Transaction ID | Text   | Unique identifier used for deduplication                                                                                                         |
| Date           | Date   | Transaction date                                                                                                                                 |
| Description    | Title  | Transaction description (Notion's title property)                                                                                                |
| Amount         | Number | Transaction amount                                                                                                                               |
| Currency       | Text   | ISO 4217 currency code                                                                                                                           |
| Direction      | Select | `credit` or `debit`                                                                                                                              |
| Category       | Text   | Transaction category (if available)                                                                                                              |
| Merchant       | Text   | Merchant name (if available)                                                                                                                     |
| Account        | Text   | Bank account name                                                                                                                                |
| Status         | Select | `posted` (or `pending` when the experimental [include-pending-transactions](/syncs#include-pending-transactions-experimental) toggle is enabled) |
| Class          | Text   | `payment`, `transfer`, `fee`, `interest`, or `other`                                                                                             |
| Post Date      | Date   | Date the transaction was posted                                                                                                                  |

If you've set up custom categories, two extra properties are added:

| Property        | Type | Description                                                            |
| --------------- | ---- | ---------------------------------------------------------------------- |
| Subcategory     | Text | Your resolved subcategory (if available)                               |
| Custom Category | Text | Your resolved custom category name (falls back to Category if not set) |

<Tip>
  You can change a property's type in Notion (for example, switch **Category** from text to a select). Redbark detects your actual property type on each sync and writes values in the matching shape, so your customisations are preserved.
</Tip>

<Note>
  Dates are written as a local `YYYY-MM-DD` value using the source account's timezone when available (e.g. `Pacific/Auckland` for NZ accounts), otherwise the destination's configured timezone.
</Note>

## Deduplication

Each transaction's `Transaction ID` property is matched against the pages already in the database, so re-running a sync never creates duplicate pages.

## Authentication

Notion uses OAuth 2.0. Access tokens do not expire and there is no refresh token to rotate, so once you connect a workspace it stays connected until you revoke Redbark's access in Notion. If you remove the integration's access, re-authenticate from the [destinations](/destinations) page.

## Rate limits

Notion limits requests to roughly three per second. Redbark batches page creation and automatically retries rate-limited requests with backoff, so large first syncs complete without manual intervention — they just take a little longer.

## Tips

* **Share the database, not your whole workspace**: only grant Redbark access to the page or database you want it to write to.
* **Build views on top**: add your own filtered views, formulas, and rollups in Notion — Redbark only creates and updates transaction pages, so your views keep working as data grows.
* **One database per sync**: point each sync at a single database. You can create multiple Notion destinations if you want different databases.
