Marketing & forms
Klaviyo setup guide
Email and SMS marketing for online stores. Agents look up customer profiles and what they did, update profiles, subscribe people who gave consent, draft and send email campaigns, and report on campaign revenue and engagement.
Agents work with your audiences, campaigns and forms.
Ways to connect
Company admins connect apps, on the Integrations page in Everdeck: open Klaviyo, choose one of the ways below, follow its steps and fill in its fields. Everdeck checks what you enter before it saves anything, and asks you to confirm it’s you (your second factor) before you type any secret. How connecting works.
Klaviyo can be connected 2 ways. Where there’s a key or token to paste, that’s usually the quickest.
Private API key
API key.
- In Klaviyo, click your organization name (bottom left), then Settings > API keys (https://www.klaviyo.com/settings/account/api-keys).
- Click Create Private API Key and name it "Everdeck".
- Choose Custom Key and grant the scopes listed below (or choose Full Access Key). Scopes cannot be changed later; you would create a new key.
- Click Create, copy the key (it starts with pk_ and is shown once) and paste it here.
| Field | What to enter |
|---|---|
| Private API key | A secret: Everdeck saves it encrypted and never shows it again. Where to find it. |
The scopes Everdeck asks for:
accounts:readprofiles:readprofiles:writelists:readlists:writesegments:readsubscriptions:writeevents:readmetrics:readcampaigns:readcampaigns:writetemplates:readtemplates:write
Disconnecting deletes the credentials Everdeck saved, but Everdeck can't revoke them: the key, token or password itself keeps working at Klaviyo until you delete or rotate it there.
Your Klaviyo OAuth app
Your OAuth app.
This way signs in with an OAuth app you create for Klaviyo, as its steps describe: Everdeck never uses an app of its own. Register this redirect URI with your app:
https://everdeck.io/api/oauth/callback
Then save the app’s client ID and secret in Everdeck, on the connect page or under OAuth apps, and sign in.
- In Klaviyo open Manage apps (https://www.klaviyo.com/manage-apps) and click Create app.
- Copy the Client ID and Client secret into the form. The secret is shown only once.
- Add https://everdeck.io/api/oauth/callback to the app's Redirect URLs.
- Add the scopes listed below to the app's scopes (accounts:read must stay in the list).
- Save, then click Connect and approve the app in your Klaviyo account.
The scopes Everdeck asks for:
accounts:readprofiles:readprofiles:writelists:readlists:writesegments:readsubscriptions:writeevents:readmetrics:readcampaigns:readcampaigns:writetemplates:readtemplates:write
When you disconnect, Everdeck asks Klaviyo to revoke the sign-in, then deletes the tokens it saved.
What agents can do
An agent uses an action only when its charter grants it, on the agent’s Tools tab, where you choose whether each one runs by itself (Auto), asks first or never runs. Each action has a risk tier: tier 3 actions, which customers or the public see, ask first unless you choose otherwise, and tier 4 actions (money, deleting things, access) always need a person. How tools and tiers work.
Actions marked Reads outside content return things people outside your company may have written. Agents treat what they read as information, never as instructions, and their riskier actions later in the same session need approval.
-
Find profilesTier 0 · ReadReads outside content
klaviyo_find_profilesFind customer profiles by email, phone, your own external id or Klaviyo id, or list recently changed ones. Returns contact details, custom properties and email/SMS consent.
-
List activity eventsTier 0 · ReadReads outside content
klaviyo_list_eventsRead tracked activity, newest first: orders, site visits, email opens and clicks, form submissions and custom events, with each event's properties and metric name. Filter by profile and/or metric to see what one customer did.
-
Create or update a profileTier 2 · ReversibleReads outside content
klaviyo_upsert_profileCreate a profile or update the one matching the email, phone number or external id. Only the attributes sent are changed. This does not change email or SMS consent.
-
Subscribe to email marketingTier 3 · ExternalReads outside content
klaviyo_subscribe_profileRecord email marketing consent for a person and add them to a list. If the list uses double opt-in, Klaviyo emails them a confirmation first. This also lifts earlier unsubscribe and spam-complaint suppressions, so only use it when the person has just agreed to receive marketing email.
-
List listsTier 0 · ReadReads outside content
klaviyo_list_listsList the account's lists with their ids and opt-in setting (single or double opt-in).
-
List segmentsTier 0 · ReadReads outside content
klaviyo_list_segmentsList the account's segments (rule-based groups of profiles) with their ids, for targeting campaigns.
-
List campaignsTier 0 · ReadReads outside content
klaviyo_list_campaignsList email campaigns (or SMS with the channel filter), most recently updated first, with status, audiences and send time.
-
Draft an email campaignTier 2 · ReversibleReads outside content
klaviyo_create_campaignCreate a draft email campaign for lists and/or segments with its subject, preview text and sender. Then add the email body with set_campaign_content. Nothing is sent until send_campaign.
-
Set campaign contentTier 2 · ReversibleReads outside content
klaviyo_set_campaign_contentGive a draft email campaign its body from HTML. Include {% unsubscribe %} so readers can opt out.
-
Send a campaignTier 3 · External
klaviyo_send_campaignStart sending a draft campaign to its audiences, now or at the send time set on it. This cannot be undone once delivery starts.
-
List metricsTier 0 · ReadReads outside content
klaviyo_list_metricsList the event types (metrics) the account tracks, such as Placed Order, Opened Email or Viewed Product, with their ids and source integration.
-
Report on campaignsTier 0 · ReadReads outside content
klaviyo_get_campaign_reportEngagement and revenue for one campaign or all campaigns in a period: recipients, opens, clicks, unsubscribes, conversions and revenue. Rates are fractions between 0 and 1. conversion_metric_id is the metric credited with revenue, usually Placed Order (find it with list_metrics). Klaviyo allows only 2 report calls a minute.
What can start work
These events from Klaviyo can become tasks for your agents through Intake. How Intake works.
A profile was created or changed.
Connect Klaviyo first. Then, on the Intake page, open Webhooks and sources, find it under Connector triggers and select Start watching. Then, on the Rules tab, select New rule to say which requests become tasks and who gets them.
Testing, problems and disconnecting
Everdeck checks the connection when you save it. On the connection’s page in Integrations, Test checks it again at any time.
If Klaviyo later refuses the connection, for example because a key was deleted or a sign-in expired, the connection shows Needs attention on the Integrations page and the people who manage connections are told. Agents can’t use it until a company admin fixes it with Edit or Reconnect.
To stop agents using Klaviyo, open the connection and select Disconnect. Agents stop using it at once and its saved credentials are deleted. What else happens depends on how it was connected: each way above says.
Still stuck?
Email [email protected] and say what you were trying to do. Or browse every guide.