HubSpot → Linear Customers Sync
Keeps your Linear Customers list automatically in sync with HubSpot CRM data, using Snowflake as the data warehouse source.
Runs on a daily schedule and handles both creates and updates — only touching records where ARR or seat count has actually changed. No unnecessary API calls.
How it works
- A Schedule Trigger fires daily at a configurable time
- Snowflake is queried to retrieve all customer accounts with aggregated ARR and seat count from your CRM (e.g. Hubspot) product table
- All existing Linear Customers are fetched via cursor-based pagination (250 records/page)
- A matching step compares records using HubSpot
COMPANY_ID as the Linear externalId, with a domain-based fallback for re-keyed accounts
- Unmatched companies are created as new Linear Customers
- Changed records (ARR or seats) are updated in Linear
- A Slack notification is sent for every sync action
Setup
- Add your Snowflake credential and adapt the SQL query to your schema
- Connect your Linear API credential (requires Customer read + write permissions)
- Set up a Slack Bot credential and update the target channel in the Slack node
- Adjust the Schedule Trigger to your preferred sync time
Notes
- The
Limit Snowflake (Testing) node is disabled by default — enable it during testing to cap the number of Snowflake rows processed
- Matching uses
externalIds (HubSpot company ID) first, then falls back to domains
- Only records with changed
revenue or size values trigger a Linear update