Turn a Notion status change into a Square order

The work is finished, the Notion status says ready to bill, and then nothing happens for a week. Notis catches that status change and creates the order in Square immediately, so completed work turns into money owed without a mental note.

Trigger

Page Properties Updated

Triggers when properties of a Notion page are updated. Customer optionally scopes with at most one of: - data_source_id: any row in this data source - page_id: this specific page - parent_page_id: any page whose immediate parent is this page With none set, fires for any property change in the workspace the integration has access to. Adding a column to a data source fires this trigger once per existing row. Customers can branch on `data.updated_properties` (array of property IDs) to filter downstream.

Square logo

Action

Create Order

Creates a new Square order with line items, taxes, discounts, and fulfillment details. Use this action when you need to create an order for processing payments or tracking sales. The created order will have a state of DRAFT or OPEN depending on the configuration. Each line item must have a quantity and either a catalog_object_id (for catalog items) or both name and base_price_money (for custom items). You can optionally include taxes, discounts, service charges, and fulfillment information. Use when: Creating a new order for a customer transaction, building a cart for checkout, or initiating a sales order workflow.

Why this helps

Completed projects sit in Notion marked done but unbilled, because building the order in Square is a separate task that keeps getting deferred.

  • Finished work becomes a Square order the moment you change the status.
  • No revenue slips through because someone forgot to raise the order.
  • Your Notion board stays the single place you manage project state.
  • Cash flow tightens up without adding a billing chore to your day.

Setup

Build it in a few focused steps.

  • 1Connect Notion and Square to Notis once from the portal.
  • 2Open Automations in your portal, or simply tell Notis what you want from any chat channel.
  • 3Describe it plainly, like 'When a Notion project is marked ready to bill, create the matching order in Square.'
  • 4Choose Page Properties Updated as the trigger and set the channel for run reports.
  • 5Mark one test project ready to bill and check that the order shows up in Square.

Questions about this workflow

Can I trigger only on a specific status value?

Yes. Say which status should fire the order in your instruction, and Notis only acts when a project reaches that state.

Does the order include the right line items?

Notis reads the project details and builds the order from them. You describe what to include in words instead of configuring any mapping.

Will it fire twice if I edit the project again?

You can tell Notis to act only on the first time a project reaches ready to bill, so a later edit will not create a duplicate order.

When this happens · Trigger

Do this · Action

Supported Triggers and Actions

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

Notion logo

Notion triggers

Square logo

Square actions

All Page Events

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

TriggerPolling

Accept Dispute

Accept a dispute and acknowledge liability, returning funds to the cardholder. When you accept a dispute, Square debits the disputed amount from your account and updates the dispute state to ACCEPTED. This action is irreversible - once accepted, a dispute cannot be challenged. Only use after reviewing all evidence and determining that challenging the dispute is not viable. Note: Requires DISPUTES_WRITE permission scope.

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

Add Group to Customer

Tool to add a customer to a customer group. Use when you need to associate a customer with a specific group for targeted marketing, loyalty programs, or customer segmentation.

ActionInstant

New Comment

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

TriggerPolling

Calculate Order

Tool to preview order pricing without creating an order. Use when you need to calculate the total cost, taxes, discounts, and other pricing details for an order before finalizing it. Particularly useful for integrating rewards, discounts, and complex pricing scenarios.

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

Cancel Booking

Cancels an existing Square booking, terminating the reservation. Use this action when a customer or seller needs to cancel a scheduled appointment. The booking must be in a cancellable state, and the cancellation will update the booking status accordingly. This action is irreversible - once a booking is cancelled, it cannot be restored and must be rebooked if needed. Use the booking_version parameter to ensure safe concurrent updates.

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

Cancel Invoice

Cancels a Square invoice, preventing further payments from being collected. Requirements: - Invoice must be in SCHEDULED, UNPAID, or PARTIALLY_PAID state - Cannot cancel invoices in DRAFT state or terminal states (PAID, REFUNDED, CANCELED, FAILED) - Requires INVOICES_WRITE and ORDERS_WRITE OAuth scopes - Version number must match the current invoice version to prevent conflicts After cancellation, the associated order status is set to CANCELED and webhook events are triggered.

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

Cancel Payment

Cancels (voids) a payment that is in APPROVED status. This is typically used in delayed capture scenarios where a payment was authorized but not yet captured, allowing you to void the authorization before settlement. Important: Only payments with APPROVED status can be canceled. Attempting to cancel a payment in any other status (COMPLETED, PENDING, CANCELED, FAILED) will result in an error. Once canceled, the payment status changes to CANCELED and the card details status changes to VOIDED. Required permissions: PAYMENTS_WRITE

ActionInstant

New Page

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

TriggerPolling

Batch Create Inventory Changes

Applies multiple inventory adjustments and physical counts in a single batch request. Returns the created changes and current inventory counts for all affected items. Use this action when you need to update inventory quantities for multiple items or locations at once, either through physical stock counts or adjustments (e.g., receiving stock, recording waste, or correcting discrepancies). Supports up to 100 inventory changes per request. Each change can be either a PHYSICAL_COUNT (setting absolute quantity) or an ADJUSTMENT (modifying quantity with state transitions). The ignore_unchanged_counts parameter controls whether calculated counts are returned in the response.

ActionInstant

Page Added to Page

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

TriggerPolling

Create Bulk Customers

Tool to create multiple customer profiles in a single request. Use when you need to efficiently create up to 100 customers at once. Each customer is identified by a unique idempotency key.

ActionInstant

Connect any two apps with Notis in the middle.

Not just Notion and Square. 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 Square.