Create a YNAB scheduled transaction from every new Notion bill

You already log bills in Notion because that is where your brain lives. The problem is remembering to also enter them in YNAB. Notis closes that gap: the moment a new row lands in your Notion bills database, it creates the matching recurring transaction in YNAB for you.

Trigger

New Page

Triggers when a new page is added to a Notion database.

Ynab logo

Action

Create Scheduled Transaction

Creates a scheduled (recurring) transaction in a YNAB budget. Use this to set up bills, recurring expenses, or income that repeats on a schedule. Requires an account_id (from YNAB_LIST_ACCOUNTS), a date, frequency, and amount in milliunits.

Why this helps

Bills get captured in Notion but never make it into the budget, so YNAB is always slightly wrong and you stop trusting it.

  • Every bill you log in Notion becomes a real recurring line in YNAB, so your budget reflects reality.
  • No more double entry between the tool you plan in and the tool you fund in.
  • Fewer surprise charges because upcoming bills are always scheduled ahead of time.
  • Your budget stays trustworthy, which means you actually keep using it.

Setup

Build it in a few focused steps.

  • 1Connect Notion and YNAB to Notis once from the portal (ask Notis 'Send me my portal link' if you need it).
  • 2Open Automations, choose New Automation, and give it a name like 'Notion bills to YNAB'.
  • 3Write the plain-language instruction: 'When a new row is added to my Notion bills database, create the matching scheduled transaction in YNAB.'
  • 4Pick the New Page trigger for your bills database and choose the channel where Notis should report each run.
  • 5Add one test bill in Notion and confirm the scheduled transaction shows up in YNAB.

Questions about this workflow

Do I have to enter amounts a special way?

No. You describe the outcome in plain language and Notis reads the amount and cadence from your Notion row. You never touch milliunits or field mappings.

What if a bill is a one-time charge, not recurring?

You can say so in the instruction. Notis will only create scheduled transactions for the recurring rows and leave the rest alone.

Will it work with my existing bills database?

Yes. Point the trigger at whichever Notion database you already use for bills. Nothing needs to be rebuilt.

When this happens · Trigger

Do this · Action

Supported Triggers and Actions

Notis builds workflows that link Notion to Ynab. A trigger fires from one place; an action lands in another.

Notion logo

Notion triggers

Ynab logo

Ynab actions

All Page Events

Triggers when any Notion page is created or updated across the workspace.

TriggerPolling

Create a new account in a budget

Tool to create a new account in a budget. Use when you need to add a manual (non-linked) account to a specific budget.

ActionInstant

Comment Created

Triggers when a new comment is created in Notion. Optional `page_id` filter scopes to comments on a specific page. When omitted, fires for any new comment in the workspace the integration has access to. Requires the 'Read comments' capability on the Notion integration. If a connection was authorized before that capability was enabled, the user must re-authorize the connection for comment events to flow.

TriggerInstant

Create Scheduled Transaction

Creates a scheduled (recurring) transaction in a YNAB budget. Use this to set up bills, recurring expenses, or income that repeats on a schedule. Requires an account_id (from YNAB_LIST_ACCOUNTS), a date, frequency, and amount in milliunits.

ActionInstant

New Comment

Triggers when a new comment is added to a specified Notion block or page.

TriggerPolling

Delete Scheduled Transaction

Permanently deletes a scheduled transaction from a YNAB budget. Use this when a recurring transaction is no longer needed. This action cannot be undone. Obtain the scheduled_transaction_id from list_scheduled_transactions or get_scheduled_transaction_by_id before calling this.

ActionInstant

Database Created

Triggers when a new Notion database (the container) is created. A database is the post-2025-09-03 container that holds one or more data sources. This trigger fires for the container's creation event (`database.created`), distinct from `NOTION_DATASOURCE_CREATED` which fires when a new data source is added to an existing database. Most customers calling Notion's `POST /v1/databases` (the legacy API) or creating a database via the Notion UI will see this event. Adding a new data source to an existing database fires `data_source.created` instead — use `NOTION_DATASOURCE_CREATED` for that. Notion's payload puts `entity.type: "block"` (the container is a `child_database` block in the content tree) and `entity.id` is the database id.

TriggerInstant

Get Account by ID

Tool to retrieve a single account resource. Use when you need details of a specific account by its ID after determining the budget.

ActionInstant

Data Source Created

Triggers when a new Notion data source is created. Fires workspace-wide. The payload's `data.parent` carries the data source's tree parent (typically the teamspace) for downstream filtering. A single template-based database creation can fire multiple `data_source.created` events at once — one per data source the template instantiates.

TriggerInstant

Get Budget By ID

Retrieve a complete budget export by ID, including all accounts, categories, payees, and transactions. Use this tool when you need comprehensive budget data. The response includes: - Budget metadata (name, date/currency formats) - All accounts with balances - Category groups and categories with budgeted amounts and balances - All payees - All transactions and scheduled transactions (optional, may be large) For incremental syncing, use last_knowledge_of_server to only fetch changes since your last request. Note: Currency amounts are in 'milliunits' format (divide by 1000 for standard units).

ActionInstant

Data Source Schema Updated

Triggers when a Notion data source's schema is updated. Fires on column add / remove / rename. Payload includes `data.updated_properties: [{id, name, action}]` so consumers can discriminate the kind of change downstream. Optional `data_source_id` filter scopes to schema changes on a single data source. When omitted, fires for any schema change in the workspace the integration has access to. Note: adding a column also fires `page.properties_updated` once per existing row in the data source. Customers wanting a single structural-change signal should use this trigger.

TriggerInstant

Get Budget Month

Tool to retrieve a specific budget month. Use when you need detailed summary and category budgets for a given month after confirming the budget ID. Monetary amounts are returned in milliunits (divide by 1000 for standard currency). Response includes high-level aggregates and a nested category array within the month payload for per-category budget analysis.

ActionInstant

New Page

Triggers when a new page is added to a Notion database.

TriggerPolling

Get Budget Settings

Tool to retrieve budget-level settings. Use when you need to fetch currency and date formatting preferences for a specific budget.

ActionInstant

Page Added to Page

Fires when a new subpage (a `child_page` type block) is added under a specified parent Notion page.

TriggerPolling

Get Category by ID

Retrieve a single YNAB budget category by its ID. Use this to get detailed category information including budgeted amounts, activity, balance, and goal settings. Amounts are returned for the current budget month (UTC). Requires both budget_id and category_id - use 'last-used' or 'default' for budget_id if you don't have a specific budget ID.

ActionInstant

Connect any two apps with Notis in the middle.

Not just Notion and Ynab. Any combination from 985+ integrations.

When this happens · Trigger

Do this · Action

Save your first hour today.

7 days free trial with 20$ free usage included.
No card. Works with personal or business Ynab.