Skip to Content
Your subscription data now goes where you need it: the Curobi Developer API feeds your warehouse, ERP or CRM, and webhooks tell you the moment something changes — read the API docs →
TutorialsConnect Klaviyo

Connect Klaviyo and build your first flow

By the end of this tutorial, Curobi is sending subscription events to your Klaviyo account, a Klaviyo welcome flow emails every new subscriber, and Curobi has stopped sending its own confirmation email so customers don’t get two. It takes about five minutes, plus however long you spend writing the email.

Needs the Business or Pro plan; it isn’t part of the Free plan’s 14-day trial. Development stores can use it, so you can build and test flows before launch. Background reading: Klaviyo.

Before you start

  • You’re on Curobi’s Business or Pro plan.
  • You’re an Owner or Admin in Klaviyo. Other Klaviyo roles can’t create API keys.
  • Klaviyo is already connected to your Shopify store through Klaviyo’s own Shopify integration. Curobi adds subscription events to the customer profiles that integration created; it doesn’t replace it.

1. Create a private API key in Klaviyo

Curobi needs a private API key with two permissions: read your account name, and send events. It can’t read your lists, campaigns or anything else.

The quick way: in Curobi, click Integrations in the top navigation, then Set up on the Klaviyo card, then Create the key in Klaviyo. Klaviyo’s create screen opens with both permissions already ticked. Name the key CUROBI, click Create, and copy it.

Step by step, if you’d rather start in Klaviyo:

  1. Log in to Klaviyo.
  2. Click your organization name in the bottom-left corner.
  3. Click Settings, then API keys.
  4. Click Create Private API Key.
  5. Name the key CUROBI.
  6. Choose Custom, then set Accounts to Read Access and Events to Full Access. Leave everything else at No Access.
  7. Click Create.
  8. Copy the key now. It starts with pk_, and Klaviyo shows it only once.

Klaviyo doesn’t let you edit a key’s permissions after it’s created. If you picked the wrong ones, delete the key and create a new one.

2. Connect it in Curobi

  1. In Curobi, click Integrations in the top navigation.
  2. On the Klaviyo card, click Set up.
  3. Paste the key into Private API key.
  4. Click Connect.

You’ll see “Klaviyo connected.” The Connection section now shows your Klaviyo account name and the date you connected. Curobi checks the key with Klaviyo before saving it, then stores it encrypted. It’s never shown again, not even to you.

If Curobi refuses the key, see Troubleshooting.

3. Send a test event

Klaviyo only lists a metric after it has received at least one event. Without a test, you couldn’t pick a Curobi metric as a flow trigger until a real customer subscribed.

  1. On Curobi’s Klaviyo page, scroll to Send a test event.
  2. Type your own email address in Send to.
  3. Click Send test event.

Within a few minutes, Curobi Subscription Started appears in Klaviyo under Analytics → Metrics, on the profile for the email you typed. The test is marked Test: true, so you can filter it out of real flows.

The test sends an event, not an email. Nothing arrives in your inbox until you build a flow in the next step. The test also isn’t listed under Recent deliveries in Curobi, which shows real subscription events only. To confirm it arrived, look in Klaviyo.

4. Build a flow in Klaviyo

Build the first flow on Curobi Subscription Started: it’s the metric the test event sends, so you can try the flow straight away.

  1. In Klaviyo, go to Flows → Create flow → Build your own.

  2. Choose Metric as the trigger and pick Curobi Subscription Started.

  3. Add an Email action and write your welcome message. To start, paste this block, which uses the ready-to-print fields:

    Thanks for subscribing to {{ event.ItemNamesText }}! Billed {{ event.Frequency|lower }}: {{ event.ChargeAmountText }} Next charge: {{ event.NextChargeDateText }}

    Every field you can use is listed under Event details for your emails.

  4. In the email’s settings, turn Smart Sending off while you test. Otherwise Klaviyo skips anyone it emailed in the last 16 hours, which is often you.

  5. Set the email and the flow to Live. Klaviyo doesn’t send emails left in Draft.

  6. Back in Curobi, click Send test event again. A flow only reacts to events that arrive after it’s live, so the test from step 3 won’t trigger it.

The email should arrive within a minute or two. If it doesn’t, open the flow’s Analytics in Klaviyo: it shows whether the email was sent, skipped or blocked. The test event has no ManageUrl, so a “manage your subscription” link in your email will be empty in the test and filled in for real customers.

5. Hand Curobi’s confirmation email to Klaviyo

Curobi already sends new subscribers a confirmation email. With your welcome flow live, every new subscriber would now get two. Hand Curobi’s to Klaviyo:

  1. On Curobi’s Klaviyo page, find Who emails your customers.
  2. On the Subscription confirmed row, click Klaviyo.
  3. Confirm Switch to Klaviyo.

From now on your Klaviyo flow sends the welcome email and Curobi doesn’t. If Klaviyo is ever disconnected, or your plan drops below Business, Curobi goes back to sending its own confirmation automatically.

Only hand an email over once its Klaviyo flow is Live. Curobi can’t see your Klaviyo flows, so if you switch first, customers get no email at all.

Next steps

  • Build more flows. Good next ones: a win-back series on Curobi Subscription Cancelled, a “your box is on its way soon” email with an upsell on Curobi Upcoming Charge, and a friendly “let’s fix your card” message on Curobi Payment Failed. To try a flow on another metric, wait for a real event on your development store; the test event only sends Curobi Subscription Started.
  • Build segments on the profile fields, such as everyone whose Curobi Active Subscriber is true. See Profile fields for segments.
  • Check deliveries. Recent deliveries on the Klaviyo page shows every real event as Delivered, Skipped, Retrying or Failed. See Checking it’s working.
Last updated on