Fire a webhook, get a YNAB scheduled transaction

Sometimes the signal to budget something comes from outside a standard trigger: a Notion button, a form, a custom script. Point that HTTP request at Notis and it will create the scheduled transaction in YNAB, no glue code and no copy-paste.

Trigger

Webhook received

Notis starts this workflow when an external tool or custom backend sends an HTTP request.

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

Custom tools and Notion buttons can capture an intent to spend, but there is no clean way to push that into YNAB without building an integration yourself.

  • Any tool that can send an HTTP request can now schedule a YNAB transaction.
  • Notion buttons and custom flows reach your budget without extra software.
  • No maintaining a bespoke YNAB integration of your own.
  • One instruction covers every future source you point at the webhook.

Setup

Build it in a few focused steps.

  • 1Connect YNAB to Notis once in the portal.
  • 2Create a New Automation and choose the incoming webhook as the trigger.
  • 3Tell Notis in plain language: 'When this webhook fires, create a scheduled transaction in YNAB from the details it sends.'
  • 4Choose the channel where Notis should report each run and grab the webhook URL.
  • 5Send one test request from your Notion button or script and confirm the YNAB scheduled transaction is created.

Questions about this workflow

What can send the webhook?

Anything that can make an HTTP request: a Notion button automation, a form tool, a cron script, or your own backend. Notis reads the details from the request.

Do I need to write code to format the payload?

No. You describe in plain language what the request contains and what to do with it. Notis interprets the payload for you.

Is the webhook URL private?

The URL is unique to your automation. Treat it like a secret and only share it with the systems that should trigger the budget entry.

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.