Skip to content
Notis

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.

TriggerScheduled

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.

ActionInstant

Webhook trigger

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

TriggerInstant

Get a company s lists

Returns metadata for all the lists on which the given company appears.

ActionInstant

Comment Received Trigger

Triggered when a comment is received.

TriggerInstant

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.

ActionInstant

Issue Created Trigger

Triggered when a new issue is created.

TriggerInstant

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.

ActionInstant

Issue Updated Trigger

Triggered when an issue is updated. For example labels are changed, issue status is changed, etc.

TriggerInstant

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.

ActionInstant

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).

TriggerPolling

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.

ActionInstant

Private Team Issue Created

Fires when a new issue appears in a private Linear team (polled with the connected user's token).

TriggerPolling

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.

ActionInstant

Private Team Issue Properties Updated

Fires when properties on an issue change in a private Linear team (polled with the connected user's token).

TriggerPolling

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.

ActionInstant

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.