Keep approved campaigns easy to organize
When you react to a campaign message with the agreed approval emoji, Notis can associate its Klaviyo campaign with the relevant tag.
Trigger
Message Reaction Added
Triggered when a reaction is added to a message in Slack. Supports optional filtering by channel and emoji name.
Action
Create tag relationships campaigns
Summary: link a tag to campaigns, ensuring a limit of 100 tags per campaign. campaign ids should be sent via request body. rate limit: 3/s, 60/m. required scopes: campaigns:write, tags:write. tag: #campaigntagginglimits
Why this helps
Campaign labels are easy to skip when moving quickly from approval to launch preparation.
- Apply organization at an intentional milestone
- Make campaigns easier to group later
- Use an existing team signal to reduce admin
Setup
Build it in a few focused steps.
- 1Connect Slack and Klaviyo to Notis once in the portal.
- 2Create an automation in the portal, or ask Notis conversationally.
- 3Tell Notis in one instruction which approval reaction to watch for and which existing Klaviyo tag to associate with the identified campaign.
- 4Choose the Slack reaction-added trigger and a channel for run reports.
- 5Test with one real approved campaign message and confirm the tag association.
Questions about this workflow
Does this create the tag?
No. It associates a tag with a campaign; the tag must already exist.
Can the reaction be used for other purposes too?
Specify the emoji and campaign context so Notis can recognize this intended approval.
When this happens · Trigger
Do this · Action
Supported Triggers and Actions
Notis builds workflows that link Slack to Klaviyo. A trigger fires from one place; an action lands in another.
Slack 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`
New Channel Created Trigger
Triggered when a new channel is created in Slack.
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.
Channel Message Received
Triggered when a message is posted in a Slack channel (public, private, or multi-party IM). Does NOT match direct messages.
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`.
Direct Message Received
Triggered when a new direct message (DM) is sent to a user in Slack. Catches all DMs across all DM channels.
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.
Message Reaction Added
Triggered when a reaction is added to a message in Slack. Supports optional filtering by channel and emoji name.
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`
Message Reaction Removed
Triggered when a reaction is removed from a message in Slack. Supports optional filtering by channel and emoji name.
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`
Reaction Added Trigger
DEPRECATED: use `SLACK_MESSAGE_REACTION_ADDED` instead. Triggered when a reaction is added to a message in Slack.
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.
Slack 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.