Safely Sync External Data by Verifying List Structure
You're connected to an external system a form platform, a calendar tool, something else that wants to sync data to Affinity. Before that data lands, you want to verify that Affinity lists are structured correctly, that fields match, that there are no conflicts. This workflow uses webhooks to accept external signals and automatically checks list metadata before proceeding.
Trigger
Webhook received
Notis starts this workflow when an external tool or custom backend sends an HTTP request.
Action
Get metadata on all lists
Returns metadata on lists.
Why this helps
External data syncs to Affinity without validation, leading to data misalignment and lost information.
- Validate Affinity list structure before external data arrives
- Prevent misaligned syncs that corrupt data
- Enable safe external integrations without manual checking
Setup
Build it in a few focused steps.
- 1Connect Linear and Affinity integrations.
- 2Ask Notis: 'Create a webhook endpoint that validates Affinity lists when external data arrives.'
- 3Notis provides a webhook URL for your external system.
- 4Configure your external system to POST to that endpoint.
- 5Test with sample data to verify structure checking.
Questions about this workflow
What happens if list structure doesn't match?
Notis alerts you before the sync completes, so you can fix the issue or adjust your external system.
When this happens · Trigger
Do this · Action
Supported Triggers and Actions
Notis builds workflows that link Linear to Affinity. A trigger fires from one place; an action lands in another.
Linear triggers
Affinity actions
Recurring trigger
Notis starts this workflow on a schedule, such as daily, weekly, or during business hours.
Get a company s list entries
Summarize company data across all lists, including list-specific fields and metadata like creation date and author. access requires "export data from lists" permission.
Webhook trigger
Notis starts this workflow when an external tool or custom backend sends an HTTP request.
Get a company s lists
Returns metadata for all the lists on which the given company appears.
Comment Received Trigger
Triggered when a comment is received.
Get all companies
Affinity api allows paginated access to company info and custom fields. use `fieldids` or `fieldtypes` to specify data in a request. retrieve field ids/types via get `/v2/companies/fields`. export permission needed.
Issue Created Trigger
Triggered when a new issue is created.
Get all list entries on a list
Access and export essential data and metadata for companies, persons, or opportunities from a list, specifying data via `fieldids` or `fieldtypes`. "export data from lists" permission is necessary.
Issue Updated Trigger
Triggered when an issue is updated. For example labels are changed, issue status is changed, etc.
Get all list entries on a saved view
Use the endpoint to access rows in a saved view with specific filters and selected fields from a web app. it doesn't maintain sort order, supports only sheet-type views, and requires export permissions.
Private Team Comment Created
Fires when a new comment is posted on an issue in a private Linear team (polled with the connected user's token).
Get all opportunities
Pagination through opportunities in affinity yields basic info but excludes field data. for field data, use specified get endpoints. "export data from lists" permission needed.
Private Team Issue Created
Fires when a new issue appears in a private Linear team (polled with the connected user's token).
Get all persons
The affinity api offers paginated access to person data using `fieldids` or `fieldtypes`. bulk extraction needs special permissions and supports multiple parameters.
Private Team Issue Properties Updated
Fires when properties on an issue change in a private Linear team (polled with the connected user's token).
Get a person s list entries
Summary: browse rows for a person in all lists, showing field data and entry metadata like creation time and author. requires "export data from lists" permission.
Connect any two apps with Notis in the middle.
Linear and Affinity, 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 Affinity.