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.
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 triggers
Ynab actions
All Page Events
Triggers when any Notion page is created or updated across the workspace.
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.
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.
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.
New Comment
Triggers when a new comment is added to a specified Notion block or page.
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.
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.
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.
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.
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).
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.
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.
New Page
Triggers when a new page is added to a Notion database.
Get Budget Settings
Tool to retrieve budget-level settings. Use when you need to fetch currency and date formatting preferences for a specific budget.
Page Added to Page
Fires when a new subpage (a `child_page` type block) is added under a specified parent Notion page.
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.
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.
