Replenit & Klaviyo Integration Guide
This guide provides comprehensive instructions for setting up the Replenit in your Klaviyo enabling personalized product-specific content across various communication channels.
Welcome to ReplenitOnboarding Walkthrough
Follow these step-by-step interactive guides to connect Replenit with Klaviyo and activate your flows.
How to Connect Replenit with Klaviyo
How To Activate Flows On Klaviyo
1. Preparing for the Integration
Gather API Credentials :
To allow Replenit to trigger events on your Klaviyo account, generate API credentials.
In Klaviyo, go to Account > Settings > API Keys. Select Create API Key.
Setup it as a Custom Key with below access levels.

Add this API key securely during your onboarding.
Additional Guide : Use this page from Klaviyo to see how to manage API keys: →
Verify Event Population in Klaviyo :
Once Replenit has started sending test events, verify that the event data is received in Klaviyo.
Go to Analytics > Metrics and check for the <ReplenitReplenishmentReminder> event. This confirms that the integration is active and events are being populated.

2. Setting Up the Replenishment Reminder Flow
Create a New Flow in Klaviyo :
In your Klaviyo dashboard, navigate to Flows and click Create Flow.
Name the flow "Replenit Replenishment Reminder".
Screenshot Guide : Klaviyo's flow setup process is detailed here: →
Set the Trigger :
Choose Metric Trigger as the flow trigger.
Select ReplenitReplenishmentReminder as the event metric with no time delay.

Configure and Design Flow Settings :
Ensure there's no time delay in the trigger settings.
Enable tracking metrics such as Open Rate, Click Rate, and Active on Site for performance monitoring.
You can design the flow with additional channels or follow-ups as necessary, such as adding reminders or follow-up messages. Klaviyo allows you to set conditions based on customer actions (e.g., open or click behavior), enabling you to create a multi-step flow if needed. This flexibility helps tailor the replenishment journey for your customers.
Additional Guide Use this page from Klaviyo to see how to manage Flows. →
3. Designing Dynamic Content for Multiple Channels
Choose Channels for Replenishment Reminders :
Klaviyo supports Email, SMS, and Push notifications for flow-based communications. You can set up the Replenishment Reminder for one or multiple channels as needed.
Configure Dynamic Content :
For each channel, incorporate dynamic product content from the Replenit payload to personalize reminders.
Email :
Use a Table Block to display dynamic product listings, allowing you to list multiple products with associated information.
Please Refer to Klaviyo's Dynamic Table Setup Guide for Email →
Make sure your Replenit table style is configured as
- Row Collection:
event.products - Row Allias:
products

SMS :
Format the content to include essential fields like product names, sale prices, and URLs, focusing on concise information for text messaging.
Push Notifications :
Push notifications can include concise product details, such as product name, price, and a link to the product page, to encourage quick actions.
Available Fields for Dynamic Content :
Below is a list of available fields from the Replenit payload. Review this list and decide which fields should appear in each channel's message. Once finalized, share your chosen fields with Replenit so the payload can be adjusted accordingly.
| Field Name | Data Type | Description | How to Use them in Klaviyo? |
|---|---|---|---|
| Product ID | String | Unique identifier for the product. | {{products.ProductiId|default:'' }} |
| SKU | String | Stock keeping unit of the product. | {{products.ProductSku|default:'' }} |
| Product Name | String | Name of the product. | {{products.ProductName|default:'' }} |
| Product Original Price | Float | Original price before any discounts. | {{products.ProductOriginalPrice|default:'' }} |
| Product Sale Price | Float | Sale price, if applicable. | {{products.ProductSalePrice|default:'' }} |
| Currency | String | Currency code (e.g., USD, EUR). | {{products.Currency|default:'' }} |
| Product Size | String | Size or volume of the product. | {{products.ProductSize|default:'' }} |
| Product Color | String | Color of the product. | {{products.ProductColor|default:'' }} |
| Product Brand | String | Brand name of the product. | {{products.ProductBrand|default:'' }} |
| Product URL | String | Link to the product page. | {{products.ProductUrl|default:'' }} |
| Stock Quantity | Number | Available stock quantity. | {{products.ProductStock|default:'' }} |
| Product Image | String | Product Image URL | {{products.ProductImage|default:'' }} |
For example:
In Email, use fields like productname, producturl, productimageurl, productsaleprice, and productoriginalprice to create a detailed product table.
For SMS, consider using productname, productsaleprice, and producturl to keep the message concise.
In Push notifications, include productname, producturl, and productsaleprice for an immediate call-to-action.
4. Testing Your Replenishment Flows
After configuring your replenishment flows, it's essential to test each channel to ensure the dynamic content appears correctly and the flow functions as expected.
Replenit Test Trigger :
Replenit will trigger a sample replenishment event to your test profiles. This allows you to review and adjust the dynamic content as needed.
Channel-Specific Testing :
Test each channel individually (Email, SMS, and Push) to confirm that the dynamic content is correctly populated based on the Replenit payload.
- For Email, check that product tables and images display as intended, and links are functional.
- For SMS, ensure the text is concise, fields display correctly, and links are shortened or formatted appropriately.
- For Push notifications, verify that the message is brief, contains the essential fields, and links users directly to the product page.
Adjust and Optimize :
Based on your tests, make any necessary adjustments to the content, layout, or conditions in Klaviyo.
