Carry project progress into the contact record
Let Notis update relevant profile context when your team posts a project update, so launch coordination stays easier to pick up.
Trigger
Project Update Posted
Fires when a project status update is posted on the Linear project's Updates tab. Covers projects in both public and private teams — polls with the connected user's token.
Action
Create or Update Profile
Create or update a profile in klaviyo with the given attributes. this action allows you to create a new profile or update an existing one if it already exists (based on email or other identifiers). returns 201 for creation, 200 for update. empty fields are cleared with `null`; omitted fields remain unchanged. rate limits: 75/s burst, 700/m steady. required scope: `profiles:write`. preconditions: - at least one identifier (email, phone number, external id, or anonymous id) must be provided - email must be in valid format if provided - phone number must be in e.164 format if provided
Why this helps
Launch context can be split between project updates and contact records, increasing the work needed to resume tasks.
- Keep selected launch context close to the relevant profile.
- Make it easier to resume coordination after an interruption.
- Reduce manual recaps across project and marketing tools.
Setup
Build it in a few focused steps.
- 1Connect Linear and Klaviyo to Notis once through the portal.
- 2Create an automation or tell Notis which project updates should refresh which relevant contact context.
- 3Select the Linear Project Update Posted trigger.
- 4Choose a run-reporting channel and test by posting a real project update.
Questions about this workflow
Does this update every profile in Klaviyo?
No. Your instruction should identify the intended contact context; Notis uses that context for the action.
Will it send a launch message?
No. The workflow updates a profile and does not send email or SMS.
When this happens · Trigger
Do this · Action
Supported Triggers and Actions
Notis builds workflows that link Linear to Klaviyo. A trigger fires from one place; an action lands in another.
Linear triggers
Klaviyo actions
Recurring trigger
Notis starts this workflow on a schedule, such as daily, weekly, or during business hours.
Add Profile to List
Add profiles to a klaviyo list by profile ids or email addresses. this action subscribes profiles to a marketing list, which is ideal for giving marketing consent. you can add up to 1000 profiles per call using either their klaviyo profile ids or email addresses. rate limits: 10/s burst, 150/m steady. required scopes: `lists:write` and `profiles:write`. preconditions: - either profile ids or emails must be provided (not both) - maximum 1000 profiles per call - email addresses must be valid format - the list must exist and be accessible
Webhook trigger
Notis starts this workflow when an external tool or custom backend sends an HTTP request.
Assign campaign message template
Creates a non-reusable version of the template and assigns it to the message.<br><br>*rate limits*:<br>burst: `10/s`<br>steady: `150/m` **scopes:** `campaigns:write`
Comment Received Trigger
Triggered when a comment is received.
Bulk create client events
Use the client-side endpoint with a public api key to track profile activity. it accepts up to 1000 events/request with rates of 10/s burst and 150/m steady. for server-side, use the bulk create event endpoint.
Issue Created Trigger
Triggered when a new issue is created.
Bulk create events
This api endpoint creates or updates profiles by batching up to 1,000 events, with a 5mb payload limit. minimum required: a profile id and metric name. it has rate limits of 10 events per second burst and 150 events per minute. scope is `events:write`.
Issue Updated Trigger
Triggered when an issue is updated. For example labels are changed, issue status is changed, etc.
Create back in stock subscription
Use the server-side endpoint to subscribe to restock alerts, following the back in stock api guide. for client-side, use the post endpoint provided. rate limits: 350/s burst and 3500/m steady. required scopes: catalogs:write, profiles:write.
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).
Create campaign
Creates a campaign given a set of parameters, then returns it.<br><br>*rate limits*:<br>burst: `10/s`<br>steady: `150/m` **scopes:** `campaigns:write`
Private Team Issue Created
Fires when a new issue appears in a private Linear team (polled with the connected user's token).
Create campaign clone
Clones an existing campaign, returning a new campaign based on the original with a new id and name.<br><br>*rate limits*:<br>burst: `10/s`<br>steady: `150/m` **scopes:** `campaigns:write`
Private Team Issue Properties Updated
Fires when properties on an issue change in a private Linear team (polled with the connected user's token).
Create Campaign Recipient Estimation Job
Start an asynchronous task to estimate the number of recipients for a campaign. this action creates a background job that calculates how many profiles would receive the campaign based on its current audience settings. use the job id returned to track progress with the 'get campaign recipient estimation job' action, and get the final count via 'get campaign recipient estimation' action. rate limits: 10/s burst, 150/m steady. required scope: `campaigns:write`. preconditions: - valid api key with campaigns:write scope - campaign id must exist and be accessible - campaign must have audience settings configured
Connect any two apps with Notis in the middle.
Linear and Klaviyo, 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 Klaviyo.