Extract Customer Agreement Terms Automatically
Stop hunting through customer agreements for pricing and payment terms. Automatically extract payment schedules, scope, and renewal dates when agreements are updated.
Trigger
Page Content Updated
Triggers when the body content of a Notion page is 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 page content edit in the workspace the integration has access to. Notion aggregates content edits within a short window (~60s typical).
Action
Create Document
Tool to upload a new document for parsing. use when you have the document file or a public url and need to extract structured data immediately.
Why this helps
Customer agreement terms are scattered across emails and PDFs. Manually searching for pricing, payment schedules, or scope changes is time-consuming. Missing payment terms means cash flow surprises and billing disputes.
- Extract pricing and payment terms instantly
- Track scope changes automatically
- Never miss a billing date or renewal
- Build searchable customer agreement database
Setup
Build it in a few focused steps.
- 1Connect Notion and Affinda to Notis in the portal.
- 2Create a new automation: 'Customer Agreement Term Extraction'.
- 3Set trigger to 'Page Content Updated' in your Notion Customer Agreements database.
- 4Write the automation: 'When a customer agreement page is updated, parse the agreement PDF with Affinda. Extract customer name, contract start date, renewal date, monthly/annual price, payment terms, service scope, and any discounts or special conditions.'
- 5Select notification channel and test with an updated customer agreement.
Questions about this workflow
Does this work for amendments or just original agreements?
Both. When you upload an updated agreement, Affinda re-parses it and captures all current terms including amendments.
Can this track pricing changes across agreements?
Yes. Include in your prompt: 'Compare current price to previous version and flag any price increases or scope reductions for review.'
How does this handle multi-year contracts with tiered pricing?
Affinda extracts tiered pricing schedules. Specify: 'Capture year-over-year price changes and flag any price escalation clauses.'
Can I set up reminders for renewal dates?
Yes. Create a follow-up automation that adds renewal dates to a Notion calendar or sends alerts 60 days before expiration.
When this happens · Trigger
Do this · Action
Supported Triggers and Actions
Notis builds workflows that link Notion to Affinda. A trigger fires from one place; an action lands in another.
Notion triggers
Affinda actions
Recurring trigger
Notis starts this workflow on a schedule, such as daily, weekly, or during business hours.
Batch Update Annotations
Tool to update multiple annotations in one request. use when you need to modify parsed values or other fields across many annotations at once.
Webhook trigger
Notis starts this workflow when an external tool or custom backend sends an HTTP request.
Create Collection
Tool to create a new collection. use after you have a valid workspace id and want to group documents by a specific extractor within that workspace.
All Page Events
Triggers when any Notion page is created or updated across the workspace.
Create Document
Tool to upload a new document for parsing. use when you have the document file or a public url and need to extract structured data immediately.
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 Organization
Tool to create a new organization. use when you have a unique organization name and want to group resources under it.
New Comment
Triggers when a new comment is added to a specified Notion block or page.
Create RESTHook Subscription
Tool to create a new resthook subscription. use after confirming your webhook endpoint is ready to receive document event notifications.
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.
Create Tag
Tool to create a new tag. use when you need to label documents in a specific workspace.
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.
Create Validation Result
Tool to create a validation result. use when recording validation outcomes for a document after parsing.
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.
Create Workspace
Tool to create a new workspace. use when you need to programmatically create a workspace container within an organization.
Connect any two apps with Notis in the middle.
Notion and Affinda, or any other combination from 1,000+ integrations.
When this happens · Trigger
Do this · Action
Save your first hour today.
7-day trial of any paid plan, with 20$ of usage included.
No card. Works with personal or business Affinda.