+

Integration Guide

Send SMS via CartFox from your Klaviyo flows

Difficulty 1/5
Skills No coding
Setup time ~5 min
0
Create a CartFox Account

Don't have a CartFox account yet? Sign up at cartfox.io — it's free to start with 300 SMS credits, no credit card required.

Klaviyo integration only? You don't need to install the CartFox plugin or connect your website. Just create an account and get your Transactional API credentials.
1
Add a Webhook to Your Flow

In your Klaviyo flow, drag in a Webhook action where you want to send the SMS.

Adding webhook to Klaviyo flow
2
Configure the Webhook

Click the webhook to open settings. Set the destination URL and add the required headers.

Webhook configuration panel

Destination URL

https://klaviyo.cartfox.io/send-event

Headers

Key Value
CF-API-KEY Your transactional API key
CF-SENDER-NAME Your sender name
Where to find these?
• API Key → Transactional API
• Sender Name → Organization → Plans
Transactional API not visible in menu? Contact our sales team and we'll enable it for you once you're eligible.
3
Set the JSON Body

Choose between sending a direct message or using a CartFox template.

{
  "phone": "{{ person.phone_number }}",
  "country": "{{ person.Country }}",  // or "SI", "US", etc.
  "message": {
    "content": "Hey! Your order is confirmed 🎉"
  }
}
{
  "phone": "{{ person.phone_number }}",
  "country": "{{ person.Country }}",  // or "SI", "US", etc.
  "message": {
    "message_id": 2,
    "data": {
      "BRAND": "CartFox",
      "CUSTOMER_NAME": "{{ person.first_name }}",
      "SHOP_URL": "https://cartfox.io",
    }
  }
}
phone Recipient's phone — use the Klaviyo variable
country ISO country code like SI, US, DE — or use {{ person.Country }}
message.content Your SMS text (direct message only)
message.message_id CartFox template ID — find it under Transactional API (template only)
message.data Variables to fill in the template — keys must match exactly
4
Save & Activate

Click Save, set the webhook to Live, and you're done! SMS messages will now send through CartFox when the flow triggers.

Frequently Asked Questions

Can I use Klaviyo variables in the message content?
Yes! You can use any Klaviyo personalization tags like {{ person.first_name }}, {{ event.value }}, etc. in your message content.
What phone number format should I use?
Use the number as stored in Klaviyo via {{ person.phone_number }}. CartFox handles formatting automatically based on the country code you provide.
How do I test the webhook before going live?
Use Klaviyo's Preview button to see the rendered JSON. You can also set the webhook to Manual mode and trigger it for a test profile first.
What happens if the SMS fails to send?
Failed sends are logged in your CartFox dashboard under Transactional API. Common issues: invalid phone number, insufficient balance, or incorrect API key.
Which countries are supported?
CartFox supports SMS delivery to 200+ countries. Check the pricing page for the full list and per-country rates.
Is there a rate limit?
No hard rate limit, but we recommend keeping bursts under 100 messages/second. Contact us if you need higher throughput.

Why add SMS to your Klaviyo flows?

99%
Open rate
30%+
Click-through rate
9800%
Average ROI
Abandoned Cart Recovery Order Confirmations Shipping Updates Flash Sales Back in Stock Review Requests
Pricing: You're charged per SMS sent, based on the destination country. View pricing →

Ready to boost your Klaviyo flows with SMS?

Join 1,300+ brands already using CartFox to recover carts and drive sales.

Get Started Free →
300 free SMS credits • No credit card required