This guide walks you through the one-time setup required in Salesforce and Klaviyo before the integration can go live. Follow each section in order — skipping steps will cause the integration to fail.
By the end of this setup, the integration will:
Important: All steps in this guide must be performed by a Salesforce System Administrator. Do not proceed without admin access.
Confirm you have everything below before touching any settings.
Note: Salesforce only supports one connected Klaviyo account at a time. Check Klaviyo → Integrations before proceeding.
The integration reads and writes specific fields on the Contact object. You need to enable one standard field and create several custom ones.
HasOptedOutOfEmail is a standard Salesforce field. It just needs to be visible to the System Administrator profile.
HasOptedOutOfEmail and open itThis is a new custom checkbox field you need to create. If already have this field in your sandbox then make sure the name is same.
SMS_Opt_In (Salesforce will add __c automatically)2.1 — make it Visible for System AdministratorImportant: The API name must be exactly
SMS_Opt_In. Any variation will break the consent sync.
This step isn't required, but it allows you to see a history of changes to consent fields on the Contact record.
Email Opt Out, SMS_Opt_In__c and Email_Opt_In__c (if it exists in your org)Workflow Rules push data from Salesforce to the integration in real time. You need to create two: one for Case events and one for Contact consent changes.
This rule fires whenever a Case is created or its Status, Priority, or Escalation changes.
Go to Setup → Process Automation → Workflow Rules
Click New Rule
Select Continue with Workflow Rules
Select Object type: Case and click Next
Set the Rule Name to: Klaviyo Webhook Case Events Rule
Set Evaluation Criteria to: created, and every time it's edited
Set Rule Criteria to: Formula evaluates to true
Paste the following formula into the text box:
OR(
ISNEW(),
ISCHANGED(Status),
ISCHANGED(Priority),
ISCHANGED(IsEscalated)
)
Click Check Syntax to confirm there are no errors, if any error occurs please contact Solvative support team for help at support@solvative.com.
Click Save / Next
Under Specify Workflow Actions, click Add Actions → New Outbound Message
Fill in the outbound message details:
Klaviyo_Case_Events_WebhookUnder Case fields to send, select all of the following:
CaseNumber, ClosedDate, ContactEmail, ContactId, ContactPhone, CreatedDate, Id, IsClosed, IsDeleted, IsEscalated, LastModifiedDate, Origin, OwnerId, Priority, Status, Subject, Type
Click Save
Click Done
Activate the workflow rule by clicking the Activate button. The button only appears after you save the rule. If you don't see it, make sure you've completed all the previous steps correctly and saved the rule.
Finish setting up the workflow rule.
This is a new workflow rule you need to create. It listens for changes to a Contact's email and SMS consent status and sends those changes to the integration in real time.
Go to Setup → Process Automation → Workflow Rules
Click New Rule
Select Continue with Workflow Rules
Select Object type: Contact and click Next
Set the Rule Name to: Klaviyo Contact Consent Events Rule
Set Evaluation Criteria to: created, and every time it's edited
Set Rule Criteria to: Formula evaluates to true
Paste the following formula into the text box:
AND(
NOT(ISBLANK(Email)),
OR(
AND(ISCHANGED(HasOptedOutOfEmail), HasOptedOutOfEmail=True),
AND(ISCHANGED(SMS_Opt_In__c), SMS_Opt_In__c=false)
)
)
Click Check Syntax to confirm there are no errors, if any error occurs please contact Solvative support team for help at support@solvative.com.
Click Save / Next
Under Specify Workflow Actions, click Add Actions → New Outbound Message
Fill in the outbound message details:
Klaviyo_Contact_Consent_Events_WebhookUnder Contact fields to send, select: Email, HasOptedOutOfEmail, Id, Phone, SMS_Opt_In__c, Email_Opt_In__c (only if this field exists in your org)
Click Save
Click Done
Activate the workflow rule by clicking the Activate button. The button only appears after you save the rule. If you don't see it, make sure you've completed all the previous steps correctly and saved the rule.
Finish setting up the workflow rule.
Note: Endpoint URLs and secret tokens for both workflow rules will be provided by Solvative. Don't save the rules until you have those values.
Before connecting Klaviyo in the integration UI, confirm the following in your Klaviyo account.
Important: Do not delete the webhook endpoint that gets created automatically in Klaviyo during setup. Deleting it will break real-time consent and event sync.
Once Sections 1–4 are done, you're ready to activate the integration.
A few rules you should be aware of before the integration goes live:
Important: Never manually override an opt-out in either system without documented proof of re-consent from the customer.
Case events not appearing in Klaviyo
Open the Case Events Workflow Rule in Salesforce. Confirm it shows as Active. Test by editing a Case record and checking if the outbound message fires in Setup → Outbound Messages.
Consent changes not syncing
Confirm the Consent Events Workflow Rule is Active. Double-check that the SMS_Opt_In__c API name in the formula exactly matches the field you created in Section 2.2.
Outbound Message delivery failures
Confirm the endpoint URL and secret token in both workflow rules match the values Solvative provided. Endpoint URLs are environment-specific.
Contact the Solvative project team for any setup or activation issues:
Email: support@solvative.com
Web: www.solvative.com
For Klaviyo-specific questions, refer to help.klaviyo.com.
© 2026 Solvative. All rights reserved.