Using Klaviyo actions in action flows

<body>
<p id="docs-hc-snippet" style="display: none;">Before you can include external actions in your action flows, you must connect the action builder to the external system.</p>
<div class="article-banners">
<div id="docs-wmp-link">
<a href="https://support.zendesk.com/hc/en-us/articles/5411234991258-plan" rel="noopener" target="_blank">What's my plan?</a>
</div>

<div class="article-banner" id="suite_all">
<table>
<tbody>
<tr>
<td>
<strong>All Suites</strong>
</td>
<td>Team, Growth, Professional, Enterprise, or Enterprise Plus</td>
</tr>
</tbody>
</table>
</div>

<div class="article-banner" id="support_all">
<table>
<tbody>
<tr>
<td>
<strong>Support</strong>
</td>
<td>Team, Professional, or Enterprise</td>
</tr>
</tbody>
</table>
</div>

</div>
<div id="docs-ai-summary">
<p id="docs-ai-summary-toggle">Summary: <span id="up-triangle">◀</span><span id="down-triangle">▼</span></p>
<p id="docs-ai-summary-content">You can connect action flows to Klaviyo using an API key to automate customer profile management, event tracking, list subscriptions, and campaign creation. This integration supports creating, updating, and looking up profiles, managing lists and metrics, and handling campaigns. Use a dedicated service account for secure connections and review permissions carefully to maintain control over data and actions performed through the integration.</p>
</div>

<div class="body">

<div class="p">By connecting the <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/8855513857306" target="_blank">action builder</a> to external systems, such as Klaviyo, admins
can integrate Zendesk with external systems in automated workflows, improving
collaboration and maintaining a seamless experience across multiple platforms.<div class="note" id="zug_action_flow_external_Klaviyo__note_i2z_jtz_v3c">
<span class="notetitle">Note:</span> The steps associated with external systems in action flows are
referred to collectively as <em class="ph i">external actions</em>.</div>
</div>
<div class="p">This article contains the following topics:<ul class="ul" id="zug_action_flow_external_Klaviyo__ul_ysp_sn4_zgc">
<li class="li"><a class="xref" href="#topic_fcs_gtn_g3c">Connecting Klaviyo to action builder</a></li>
<li class="li"><a class="xref" href="#topic_z1q_htn_g3c">Using Klaviyo actions in action flows</a></li>
</ul>
</div>
</div>
<div aria-labelledby="ariaid-title2" class="topic nested1" id="topic_fcs_gtn_g3c">
<h2 class="title topictitle2" id="ariaid-title2">Connecting Klaviyo to action builder</h2>
<div class="body">
<p class="p">Before you can include external actions in your action flows, you must connect the
action builder to the external system.</p>
<div class="p">When connecting to external systems for use in action flows, the following best practices are recommended:<ul class="ul" id="topic_fcs_gtn_g3c__d8e13">
<li class="li">All external actions performed by an action flow are attributed to the user who connected the
external system. Therefore, it's a best practice to use a dedicated service
account rather than personal credentials when connecting to each external
system.</li>
<li class="li">All integrations request access to necessary scopes. However, it's important that you review and validate the scopes before authorizing the connection to the external system.</li>
<li class="li">When managing credentials for API key-based tools, such as OpenAI, it's best to store keys in a secure vault or credential manager.</li>
</ul>
</div>
<p class="p"><strong class="ph b">To create an API key</strong></p>
<div class="p">The Klaviyo connection requires an API key for authentication. For detailed
instructions, see the <a class="xref" href="https://developers.klaviyo.com/en/reference/api_overview" target="_blank">Klaviyo API credentials documentation</a>.<div class="note important" id="topic_fcs_gtn_g3c__note_z5h_gxz_jjc">
<span class="importanttitle">Important:</span> Keep your API key secure and do not share
it. The key grants access to your Klaviyo account and allows action flows to
perform operations on your behalf.</div>
<ol class="ol" id="topic_fcs_gtn_g3c__ol_tx1_xsz_jjc">
<li class="li">Log in to your Klaviyo account.</li>
<li class="li">Go to <strong class="ph b">Settings</strong> &gt; <strong class="ph b">API Keys</strong>.</li>
<li class="li">Copy the key in the format: <code class="ph codeph">Klaviyo-API-Key {your_key}</code>
</li>
<li class="li">Save the API key or keep the window open so you can copy and paste it into
Zendesk. <p class="p">You'll need it when connecting Klaviyo to action
builder.</p>
</li>
</ol>
</div>
<div class="p">
<strong class="ph b">To connect action builder to Klaviyo</strong><ol class="ol" id="topic_fcs_gtn_g3c__ol_psh_lk4_zgc">
<li class="li"><span class="ph">In <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/4581766374554#topic_hfg_dyz_1hb" target="_blank">Admin Center</a>, click <img class="image" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/ac_apps_integrations_icon.png">
<strong class="ph b">Apps and integrations</strong> in the sidebar, then select <strong class="ph b">Actions &gt; Action
flows</strong>.</span></li>
<li class="li">
<a class="xref" href="https://support.zendesk.com/hc/en-us/articles/8855601898266" target="_blank">Create</a> or <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/9052312956570" target="_blank">edit</a> an action flow.</li>
<li class="li">Open the step sidebar.</li>
<li class="li">Under <strong class="ph b">External actions</strong>, click <strong class="ph b">Klaviyo</strong>.</li>
<li class="li">Click <strong class="ph b">Connect</strong>.</li>
<li class="li">Follow the prompts to enter your Klaviyo API key and complete the
connection. Paste the full key, including the prefix.<p class="p">When you authorize
the connection, you'll be redirected to Klaviyo to grant permissions to
your Zendesk account.</p>
<p class="p">The Klaviyo connection uses OAuth 2.0 with
the authorization code grant type. Review the permissions carefully
before authorizing the connection. These permissions allow action flows
to create and modify pages, add comments, manage database items, and
update content in your Klaviyo workspace on your behalf. </p>
<div class="note" id="topic_fcs_gtn_g3c__note_ilr_mtz_v3c">
<span class="notetitle">Note:</span> All external actions performed by an action flow
are attributed to the user who connected the external system. Therefore,
it is a best practice to use a dedicated service account rather than
personal credentials when connecting to each external
system.</div>
</li>
</ol>
</div>
<p class="p">After you've connected to the system, you'll see an indicator that it's connected and
details about the instance you're connected to, as well as the actions available for
Klaviyo.</p>
</div>
</div>
<div aria-labelledby="ariaid-title3" class="topic nested1" id="topic_z1q_htn_g3c">
<h2 class="title topictitle2" id="ariaid-title3">Using Klaviyo actions in action flows</h2>
<div class="body">
<div class="p">The following Klaviyo actions are available:<ul class="ul" id="topic_z1q_htn_g3c__ul_jby_q44_zgc">
<li class="li"><a class="xref" href="#topic_lck_r44_zgc">Create profile</a></li>
<li class="li"><a class="xref" href="#topic_epg_35z_v3c">Update profile</a></li>
<li class="li"><a class="xref" href="#topic_vmc_h5z_v3c">Lookup profile</a></li>
<li class="li"><a class="xref" href="#topic_alf_24q_jjc">Create event</a></li>
<li class="li"><a class="xref" href="#topic_mjr_j4q_jjc">Subscribe profile to
list</a></li>
<li class="li"><a class="xref" href="#topic_wfm_m4q_jjc">Remove profile from
list</a></li>
<li class="li"><a class="xref" href="#topic_vmr_lkz_jjc">Lookup list</a></li>
<li class="li"><a class="xref" href="#topic_lqp_skz_jjc">List lists</a></li>
<li class="li"><a class="xref" href="#topic_lvn_1nz_jjc">Create list</a></li>
<li class="li"><a class="xref" href="#topic_lyl_jnz_jjc">Lookup metric</a></li>
<li class="li"><a class="xref" href="#topic_w5w_cd1_kjc">List metrics</a></li>
<li class="li"><a class="xref" href="#topic_eyt_dd1_kjc">Create campaign</a></li>
<li class="li"><a class="xref" href="#topic_rpp_2d1_kjc">Look up campaigns</a></li>
<li class="li"><a class="xref" href="#topic_ugw_fd1_kjc">List campaigns</a></li>
</ul>
</div>
</div>
<div aria-labelledby="ariaid-title4" class="topic nested2" id="topic_lck_r44_zgc">
<h3 class="title topictitle3" id="ariaid-title4">Creating a profile</h3>
<div class="body">
<p class="p">Use the <em class="ph i">Create profile</em> action to create a new customer profile in Klaviyo
with contact information and attributes.</p>
<p class="p">This action has the following inputs and outputs:</p>
<div class="p">
<div class="tablenoborder">
<table border="1" cellpadding="4" cellspacing="0" class="table" frame="border" id="topic_lck_r44_zgc__table_dgb_n11_w3c" rules="all" summary="">
<colgroup>
<col>
<col>
</colgroup>
<thead class="thead" style="text-align:left;">
<tr class="row">
<th class="entry cellrowborder" id="d89e292" style="text-align:left;vertical-align:top;"> </th>
<th class="entry cellrowborder" id="d89e294" style="text-align:left;vertical-align:top;">Variables</th>
</tr>
</thead>
<tbody class="tbody">
<tr class="row">
<td class="entry cellrowborder" headers="d89e292" style="text-align:left;vertical-align:top;">Inputs</td>
<td class="entry cellrowborder" headers="d89e294" style="text-align:left;vertical-align:top;">Optional: <code class="ph codeph">Email</code>, <code class="ph codeph">Phone
number</code>, <code class="ph codeph">First name</code>,
<code class="ph codeph">Last name</code>,
<code class="ph codeph">Organization</code>, <code class="ph codeph">Title</code>,
<code class="ph codeph">Image URL</code>, <code class="ph codeph">Address line
1</code>, <code class="ph codeph">Address line 2</code>,
<code class="ph codeph">City</code>, <code class="ph codeph">Region/State</code>,
<code class="ph codeph">Country</code>, <code class="ph codeph">Zip/Postal
code</code><p class="p">Phone numbers must use E.164 format with
a <strong class="ph b">+</strong> sign, country code, and subscriber number
with no spaces or special characters (e.g.,
+15551234567).</p>
</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d89e292" style="text-align:left;vertical-align:top;">Output</td>
<td class="entry cellrowborder" headers="d89e294" style="text-align:left;vertical-align:top;">Returns an object containing the profile ID, email, phone
number, first name, last name, organization, title, image,
created and updated timestamps, and location object (with
address1, address2, city, region, country, zip).</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title5" class="topic nested2" id="topic_epg_35z_v3c">
<h3 class="title topictitle3" id="ariaid-title5">Updating a profile</h3>
<div class="body">
<p class="p">Use the <em class="ph i">Update profile</em> action to update an existing customer profile in
Klaviyo with new information.</p>
<p class="p">This action has the following inputs and outputs:</p>
<div class="p">
<div class="tablenoborder">
<table border="1" cellpadding="4" cellspacing="0" class="table" frame="border" id="topic_epg_35z_v3c__table_xf2_1jz_jjc" rules="all" summary="">
<colgroup>
<col>
<col>
</colgroup>
<thead class="thead" style="text-align:left;">
<tr class="row">
<th class="entry cellrowborder" id="d89e400" style="text-align:left;vertical-align:top;"> </th>
<th class="entry cellrowborder" id="d89e402" style="text-align:left;vertical-align:top;">Variables</th>
</tr>
</thead>
<tbody class="tbody">
<tr class="row">
<td class="entry cellrowborder" headers="d89e400" style="text-align:left;vertical-align:top;">Inputs</td>
<td class="entry cellrowborder" headers="d89e402" style="text-align:left;vertical-align:top;">Required: <code class="ph codeph">Profile ID</code><p class="p">Optional:
<code class="ph codeph">Email</code>, <code class="ph codeph">Phone
number</code>, <code class="ph codeph">First name</code>,
<code class="ph codeph">Last name</code>,
<code class="ph codeph">Organization</code>,
<code class="ph codeph">Title</code>, <code class="ph codeph">Image URL</code>,
<code class="ph codeph">Address line 1</code>, <code class="ph codeph">Address
line 2</code>, <code class="ph codeph">City</code>,
<code class="ph codeph">Region/State</code>,
<code class="ph codeph">Country</code>, <code class="ph codeph">Zip/Postal
code</code></p>
<p class="p">Phone numbers must use E.164
format with a <strong class="ph b">+</strong> sign, country code, and
subscriber number with no spaces or special characters
(e.g., +15551234567).</p>
</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d89e400" style="text-align:left;vertical-align:top;">Output</td>
<td class="entry cellrowborder" headers="d89e402" style="text-align:left;vertical-align:top;">Returns an object containing the profile ID, email, phone
number, first name, last name, organization, title, image,
created and updated timestamps, and location object (with
address1, address2, city, region, country, zip).</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title6" class="topic nested2" id="topic_vmc_h5z_v3c">
<h3 class="title topictitle3" id="ariaid-title6">Looking up a profile</h3>
<div class="body">
<p class="p">Use the <em class="ph i">Lookup profile</em> action to retrieve a single customer profile by ID,
email, or phone number.</p>
<p class="p">This action has the following inputs and outputs:</p>
<div class="p">
<div class="tablenoborder">
<table border="1" cellpadding="4" cellspacing="0" class="table" frame="border" id="topic_vmc_h5z_v3c__table_qtw_kjz_jjc" rules="all" summary="">
<colgroup>
<col>
<col>
</colgroup>
<thead class="thead" style="text-align:left;">
<tr class="row">
<th class="entry cellrowborder" id="d89e512" style="text-align:left;vertical-align:top;"> </th>
<th class="entry cellrowborder" id="d89e514" style="text-align:left;vertical-align:top;">Variables</th>
</tr>
</thead>
<tbody class="tbody">
<tr class="row">
<td class="entry cellrowborder" headers="d89e512" style="text-align:left;vertical-align:top;">Inputs</td>
<td class="entry cellrowborder" headers="d89e514" style="text-align:left;vertical-align:top;">Required: <code class="ph codeph">Identity profile by</code>,
<code class="ph codeph">Profile identifier</code><p class="p">You can identify
profiles by ID, Email, or Phone number. The Profile
identifier field becomes visible after selecting the
identification method.</p>
</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d89e512" style="text-align:left;vertical-align:top;">Output</td>
<td class="entry cellrowborder" headers="d89e514" style="text-align:left;vertical-align:top;">Returns an object containing the profile ID, email, phone
number, first name, last name, organization, title, image,
created and updated timestamps, and location object (with
address1, address2, city, region, country, zip).</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title7" class="topic nested2" id="topic_alf_24q_jjc">
<h3 class="title topictitle3" id="ariaid-title7">Creating an event</h3>
<div class="body">
<p class="p">Use the <em class="ph i">Create event</em> action in Klaviyo to trigger flows and measure
engagement.</p>
<p class="p">This action has the following inputs and outputs:</p>
<div class="p">
<div class="tablenoborder">
<table border="1" cellpadding="4" cellspacing="0" class="table" frame="border" id="topic_alf_24q_jjc__table_yhf_pjz_jjc" rules="all" summary="">
<colgroup>
<col>
<col>
</colgroup>
<thead class="thead" style="text-align:left;">
<tr class="row">
<th class="entry cellrowborder" id="d89e583" style="text-align:left;vertical-align:top;"> </th>
<th class="entry cellrowborder" id="d89e585" style="text-align:left;vertical-align:top;">Variables</th>
</tr>
</thead>
<tbody class="tbody">
<tr class="row">
<td class="entry cellrowborder" headers="d89e583" style="text-align:left;vertical-align:top;">Inputs</td>
<td class="entry cellrowborder" headers="d89e585" style="text-align:left;vertical-align:top;">Required: <code class="ph codeph">Metric name</code>, <code class="ph codeph">Profile
ID</code><p class="p">Optional: <code class="ph codeph">Properties</code>,
<code class="ph codeph">Timestamp</code></p>
<p class="p">Properties should
be provided as key-value pairs in JSON format. Timestamp
should use ISO 8601 format (e.g., 2025-01-15T14:30:00Z)
and defaults to current time if not
provided.</p>
</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d89e583" style="text-align:left;vertical-align:top;">Output</td>
<td class="entry cellrowborder" headers="d89e585" style="text-align:left;vertical-align:top;">Returns an object containing the metric name, profile ID,
and properties object.</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title8" class="topic nested2" id="topic_mjr_j4q_jjc">
<h3 class="title topictitle3" id="ariaid-title8">Subscribing a profile to a list</h3>
<div class="body">
<p class="p">Use the <em class="ph i">Subscribe profile to list</em> action to add a profile to a list with
optional email and SMS consent settings.</p>
<p class="p">This action has the following inputs and outputs:</p>
<div class="p">
<div class="tablenoborder">
<table border="1" cellpadding="4" cellspacing="0" class="table" frame="border" id="topic_mjr_j4q_jjc__table_n25_xjz_jjc" rules="all" summary="">
<colgroup>
<col>
<col>
</colgroup>
<thead class="thead" style="text-align:left;">
<tr class="row">
<th class="entry cellrowborder" id="d89e660" style="text-align:left;vertical-align:top;"> </th>
<th class="entry cellrowborder" id="d89e662" style="text-align:left;vertical-align:top;">Variables</th>
</tr>
</thead>
<tbody class="tbody">
<tr class="row">
<td class="entry cellrowborder" headers="d89e660" style="text-align:left;vertical-align:top;">Inputs</td>
<td class="entry cellrowborder" headers="d89e662" style="text-align:left;vertical-align:top;">Required: <code class="ph codeph">List</code><p class="p">Optional:
<code class="ph codeph">Email</code>, <code class="ph codeph">Phone
number</code>, <code class="ph codeph">Profile ID</code>,
<code class="ph codeph">Email consent</code>, <code class="ph codeph">SMS
consent</code></p>
<p class="p">Phone numbers must use E.164
format. Email consent and SMS consent options include
Yes - Subscribe to email/SMS (SUBSCRIBED) or No - Do not
subscribe to email/SMS (NONE).</p>
</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d89e660" style="text-align:left;vertical-align:top;">Output</td>
<td class="entry cellrowborder" headers="d89e662" style="text-align:left;vertical-align:top;">Returns an object containing success status (boolean) and
message.</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title9" class="topic nested2" id="topic_wfm_m4q_jjc">
<h3 class="title topictitle3" id="ariaid-title9">Removing a profile from a list</h3>
<div class="body">
<p class="p">Use the <em class="ph i">Remove profile from list</em> action to remove a profile from a
specific list in Klaviyo.</p>
<p class="p">This action has the following inputs and outputs:</p>
<div class="p">
<div class="tablenoborder">
<table border="1" cellpadding="4" cellspacing="0" class="table" frame="border" id="topic_wfm_m4q_jjc__table_zlg_ckz_jjc" rules="all" summary="">
<colgroup>
<col>
<col>
</colgroup>
<thead class="thead" style="text-align:left;">
<tr class="row">
<th class="entry cellrowborder" id="d89e743" style="text-align:left;vertical-align:top;"> </th>
<th class="entry cellrowborder" id="d89e745" style="text-align:left;vertical-align:top;">Variables</th>
</tr>
</thead>
<tbody class="tbody">
<tr class="row">
<td class="entry cellrowborder" headers="d89e743" style="text-align:left;vertical-align:top;">Inputs</td>
<td class="entry cellrowborder" headers="d89e745" style="text-align:left;vertical-align:top;">Required: <code class="ph codeph">List</code>, <code class="ph codeph">Profile
ID</code>
</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d89e743" style="text-align:left;vertical-align:top;">Output</td>
<td class="entry cellrowborder" headers="d89e745" style="text-align:left;vertical-align:top;">Returns an object containing success status (boolean) and
message.</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title10" class="topic nested2" id="topic_vmr_lkz_jjc">
<h3 class="title topictitle3" id="ariaid-title10">Looking up a list</h3>
<div class="body">
<p class="p">Use the <em class="ph i">Lookup list</em> action to retrieve details of a specific list by ID or
name.</p>
<p class="p">This action has the following inputs and outputs:</p>
<div class="p">
<div class="tablenoborder">
<table border="1" cellpadding="4" cellspacing="0" class="table" frame="border" id="topic_vmr_lkz_jjc__table_wmr_lkz_jjc" rules="all" summary="">
<colgroup>
<col>
<col>
</colgroup>
<thead class="thead" style="text-align:left;">
<tr class="row">
<th class="entry cellrowborder" id="d89e811" style="text-align:left;vertical-align:top;"> </th>
<th class="entry cellrowborder" id="d89e813" style="text-align:left;vertical-align:top;">Variables</th>
</tr>
</thead>
<tbody class="tbody">
<tr class="row">
<td class="entry cellrowborder" headers="d89e811" style="text-align:left;vertical-align:top;">Inputs</td>
<td class="entry cellrowborder" headers="d89e813" style="text-align:left;vertical-align:top;">Required: <code class="ph codeph">Identify list by</code>, <code class="ph codeph">List
identifier</code><p class="p">You can identify lists by ID or
Name. The List identifier field becomes visible after
selecting the identification method.</p>
</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d89e811" style="text-align:left;vertical-align:top;">Output</td>
<td class="entry cellrowborder" headers="d89e813" style="text-align:left;vertical-align:top;">Returns an object containing the list ID, name, created
and updated timestamps, and opt-in process.</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title11" class="topic nested2" id="topic_lqp_skz_jjc">
<h3 class="title topictitle3" id="ariaid-title11">Listing lists</h3>
<div class="body">
<p class="p">Use the <em class="ph i">List lists</em> action to retrieve all lists in Klaviyo with optional
name filtering and pagination.</p>
<p class="p">This action has the following inputs and outputs:</p>
<div class="p">
<div class="tablenoborder">
<table border="1" cellpadding="4" cellspacing="0" class="table" frame="border" id="topic_lqp_skz_jjc__table_nqp_skz_jjc" rules="all" summary="">
<colgroup>
<col>
<col>
</colgroup>
<thead class="thead" style="text-align:left;">
<tr class="row">
<th class="entry cellrowborder" id="d89e881" style="text-align:left;vertical-align:top;"> </th>
<th class="entry cellrowborder" id="d89e883" style="text-align:left;vertical-align:top;">Variables</th>
</tr>
</thead>
<tbody class="tbody">
<tr class="row">
<td class="entry cellrowborder" headers="d89e881" style="text-align:left;vertical-align:top;">Inputs</td>
<td class="entry cellrowborder" headers="d89e883" style="text-align:left;vertical-align:top;">
<p class="p">Optional: <code class="ph codeph">Name</code>, <code class="ph codeph">Page
cursor</code></p>
</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d89e881" style="text-align:left;vertical-align:top;">Output</td>
<td class="entry cellrowborder" headers="d89e883" style="text-align:left;vertical-align:top;">Returns an object containing an array of lists (each with
ID, name, created and updated timestamps, and opt-in
process) and next page cursor for pagination.</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title12" class="topic nested2" id="topic_lvn_1nz_jjc">
<h3 class="title topictitle3" id="ariaid-title12">Creating lists</h3>
<div class="body">
<p class="p">Use the <em class="ph i">Create list</em> action to create a new list in Klaviyo for organizing
profiles.</p>
<p class="p">This action has the following inputs and outputs:</p>
<div class="p">
<div class="tablenoborder">
<table border="1" cellpadding="4" cellspacing="0" class="table" frame="border" id="topic_lvn_1nz_jjc__table_nvn_1nz_jjc" rules="all" summary="">
<colgroup>
<col>
<col>
</colgroup>
<thead class="thead" style="text-align:left;">
<tr class="row">
<th class="entry cellrowborder" id="d89e952" style="text-align:left;vertical-align:top;"> </th>
<th class="entry cellrowborder" id="d89e954" style="text-align:left;vertical-align:top;">Variables</th>
</tr>
</thead>
<tbody class="tbody">
<tr class="row">
<td class="entry cellrowborder" headers="d89e952" style="text-align:left;vertical-align:top;">Inputs</td>
<td class="entry cellrowborder" headers="d89e954" style="text-align:left;vertical-align:top;">
<p class="p">Required: <code class="ph codeph">Name</code></p>
</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d89e952" style="text-align:left;vertical-align:top;">Output</td>
<td class="entry cellrowborder" headers="d89e954" style="text-align:left;vertical-align:top;">Returns an object containing the list ID, name, created
and updated timestamps, and opt-in process.</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title13" class="topic nested2" id="topic_lyl_jnz_jjc">
<h3 class="title topictitle3" id="ariaid-title13">Looking up a metric</h3>
<div class="body">
<p class="p">Use the <em class="ph i">Lookup metric</em> action to retrieve details of a specific metric by
ID.</p>
<p class="p">This action has the following inputs and outputs:</p>
<div class="p">
<div class="tablenoborder">
<table border="1" cellpadding="4" cellspacing="0" class="table" frame="border" id="topic_lyl_jnz_jjc__table_myl_jnz_jjc" rules="all" summary="">
<colgroup>
<col>
<col>
</colgroup>
<thead class="thead" style="text-align:left;">
<tr class="row">
<th class="entry cellrowborder" id="d89e1021" style="text-align:left;vertical-align:top;"> </th>
<th class="entry cellrowborder" id="d89e1023" style="text-align:left;vertical-align:top;">Variables</th>
</tr>
</thead>
<tbody class="tbody">
<tr class="row">
<td class="entry cellrowborder" headers="d89e1021" style="text-align:left;vertical-align:top;">Inputs</td>
<td class="entry cellrowborder" headers="d89e1023" style="text-align:left;vertical-align:top;">
<p class="p">Required: <code class="ph codeph">Metric ID</code></p>
</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d89e1021" style="text-align:left;vertical-align:top;">Output</td>
<td class="entry cellrowborder" headers="d89e1023" style="text-align:left;vertical-align:top;">Returns an object containing the metric ID, name, created
and updated timestamps, and integration object (with ID,
name, and category).</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title14" class="topic nested2" id="topic_w5w_cd1_kjc">
<h3 class="title topictitle3" id="ariaid-title14">Listing metrics</h3>
<div class="body">
<p class="p">Use the <em class="ph i">List metrics</em> action to retrieve all metrics in Klaviyo with
optional filtering and pagination. Use this action to discover available event
metrics for tracking customer behavior.</p>
<p class="p">This action has the following inputs and outputs:</p>
<div class="p">
<div class="tablenoborder">
<table border="1" cellpadding="4" cellspacing="0" class="table" frame="border" id="topic_w5w_cd1_kjc__table_x5w_cd1_kjc" rules="all" summary="">
<colgroup>
<col>
<col>
</colgroup>
<thead class="thead" style="text-align:left;">
<tr class="row">
<th class="entry cellrowborder" id="d89e1089" style="text-align:left;vertical-align:top;"> </th>
<th class="entry cellrowborder" id="d89e1091" style="text-align:left;vertical-align:top;">Variables</th>
</tr>
</thead>
<tbody class="tbody">
<tr class="row">
<td class="entry cellrowborder" headers="d89e1089" style="text-align:left;vertical-align:top;">Inputs</td>
<td class="entry cellrowborder" headers="d89e1091" style="text-align:left;vertical-align:top;">
<p class="p">Optional: <code class="ph codeph">Integration name</code>,
<code class="ph codeph">Integration category</code>, <code class="ph codeph">Page
cursor</code></p>
</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d89e1089" style="text-align:left;vertical-align:top;">Output</td>
<td class="entry cellrowborder" headers="d89e1091" style="text-align:left;vertical-align:top;">Returns an object containing an array of metrics (each
with ID, name, created and updated timestamps, and
integration object with ID, name, and category) and next
page cursor for pagination.</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title15" class="topic nested2" id="topic_eyt_dd1_kjc">
<h3 class="title topictitle3" id="ariaid-title15">Creating campaigns</h3>
<div class="body">
<p class="p">Use the <em class="ph i">Create campaign</em> action to create a new marketing campaign in
Klaviyo with email or SMS channel.</p>
<p class="p">This action has the following inputs and outputs:</p>
<div class="p">
<div class="tablenoborder">
<table border="1" cellpadding="4" cellspacing="0" class="table" frame="border" id="topic_eyt_dd1_kjc__table_fyt_dd1_kjc" rules="all" summary="">
<colgroup>
<col>
<col>
</colgroup>
<thead class="thead" style="text-align:left;">
<tr class="row">
<th class="entry cellrowborder" id="d89e1163" style="text-align:left;vertical-align:top;"> </th>
<th class="entry cellrowborder" id="d89e1165" style="text-align:left;vertical-align:top;">Variables</th>
</tr>
</thead>
<tbody class="tbody">
<tr class="row">
<td class="entry cellrowborder" headers="d89e1163" style="text-align:left;vertical-align:top;">Inputs</td>
<td class="entry cellrowborder" headers="d89e1165" style="text-align:left;vertical-align:top;">
<p class="p">Required: <code class="ph codeph">Name</code>, <code class="ph codeph">List</code>,
<code class="ph codeph">Channel</code>, <code class="ph codeph">Send
strategy</code></p>
<p class="p">Optional: <code class="ph codeph">Subject</code>, <code class="ph codeph">Preview
text</code>, <code class="ph codeph">From email</code>,
<code class="ph codeph">From name</code>, <code class="ph codeph">Reply-to
email</code></p>
<p class="p">Channel options are Email or SMS. </p>
<p class="p">Send strategy options include Immediate, Scheduled
(static), Throttled, or Smart Send Time. Subject line is
required for email campaigns.</p>
</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d89e1163" style="text-align:left;vertical-align:top;">Output</td>
<td class="entry cellrowborder" headers="d89e1165" style="text-align:left;vertical-align:top;">Returns an object containing the campaign ID, name,
status, channel, created and updated timestamps, and send
time.</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title16" class="topic nested2" id="topic_rpp_2d1_kjc">
<h3 class="title topictitle3" id="ariaid-title16">Looking up a campaign</h3>
<div class="body">
<p class="p">Use the <em class="ph i">Lookup campaign</em> action to retrieve details of a specific campaign
by ID or name.</p>
<p class="p">This action has the following inputs and outputs:</p>
<div class="p">
<div class="tablenoborder">
<table border="1" cellpadding="4" cellspacing="0" class="table" frame="border" id="topic_rpp_2d1_kjc__table_spp_2d1_kjc" rules="all" summary="">
<colgroup>
<col>
<col>
</colgroup>
<thead class="thead" style="text-align:left;">
<tr class="row">
<th class="entry cellrowborder" id="d89e1263" style="text-align:left;vertical-align:top;"> </th>
<th class="entry cellrowborder" id="d89e1265" style="text-align:left;vertical-align:top;">Variables</th>
</tr>
</thead>
<tbody class="tbody">
<tr class="row">
<td class="entry cellrowborder" headers="d89e1263" style="text-align:left;vertical-align:top;">Inputs</td>
<td class="entry cellrowborder" headers="d89e1265" style="text-align:left;vertical-align:top;">
<p class="p">Required: <code class="ph codeph">Identify campaign by</code>,
<code class="ph codeph">Campaign identifier</code></p>
<p class="p">When searching by Name (contains), the search returns the
first match. </p>
<p class="p">The Campaign identifier field becomes visible after
selecting the identification method.</p>
</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d89e1263" style="text-align:left;vertical-align:top;">Output</td>
<td class="entry cellrowborder" headers="d89e1265" style="text-align:left;vertical-align:top;">Returns an object containing the campaign ID, name,
status, channel, created and updated timestamps, send time,
and archived status (boolean).</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title17" class="topic nested2" id="topic_ugw_fd1_kjc">
<h3 class="title topictitle3" id="ariaid-title17">Listing campaigns</h3>
<div class="body">
<p class="p">Use the <em class="ph i">List campaigns</em> action to retrieve campaigns in Klaviyo with
optional filtering and pagination.</p>
<p class="p">This action has the following inputs and outputs:</p>
<div class="p">
<div class="tablenoborder">
<table border="1" cellpadding="4" cellspacing="0" class="table" frame="border" id="topic_ugw_fd1_kjc__table_vgw_fd1_kjc" rules="all" summary="">
<colgroup>
<col>
<col>
</colgroup>
<thead class="thead" style="text-align:left;">
<tr class="row">
<th class="entry cellrowborder" id="d89e1340" style="text-align:left;vertical-align:top;"> </th>
<th class="entry cellrowborder" id="d89e1342" style="text-align:left;vertical-align:top;">Variables</th>
</tr>
</thead>
<tbody class="tbody">
<tr class="row">
<td class="entry cellrowborder" headers="d89e1340" style="text-align:left;vertical-align:top;">Inputs</td>
<td class="entry cellrowborder" headers="d89e1342" style="text-align:left;vertical-align:top;">
<p class="p">Required: <code class="ph codeph">Channel</code></p>
<p class="p">Optional: <code class="ph codeph">Name</code>, <code class="ph codeph">Status</code>,
<code class="ph codeph">Archived</code>, <code class="ph codeph">Page
cursor</code></p>
<p class="p">Status options include Draft, Scheduled, Sent, or
Cancelled. </p>
<p class="p">Archived filter accepts Yes or No.</p>
</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d89e1340" style="text-align:left;vertical-align:top;">Output</td>
<td class="entry cellrowborder" headers="d89e1342" style="text-align:left;vertical-align:top;">Returns an object containing an array of campaigns (each
with ID, name, status, channel, created and updated
timestamps, send time, and archived status) and next page
cursor for pagination.</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
<script id="docs-schema-markup" type="application/ld+json">{
"@context": "https://schema.org",
"@type": "TechArticle",
"@id": "https://support.zendesk.com/hc/en-us/articles/10850586700954-Using-Klaviyo-actions-in-action-flows",
"url": "https://support.zendesk.com/hc/en-us/articles/10850586700954-Using-Klaviyo-actions-in-action-flows",
"headline": "Using Klaviyo actions in action flows",
"description": "You can connect the action builder to Klaviyo using an API key to automate workflows that create, update, and manage customer profiles, events, lists, metrics, and campaigns within Klaviyo from action flows.",
"articleSection": "Action builder and action flows",
"datePublished": "2026-06-01T18:13:22+00:00",
"dateModified": "2026-06-05T14:40:29.495162+00:00",
"inLanguage": "en-US",
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "https://support.zendesk.com/hc/en-us/articles/10850586700954-Using-Klaviyo-actions-in-action-flows"
},
"author": {
"@type": "Organization",
"name": "Zendesk",
"url": "https://www.zendesk.com"
},
"publisher": {
"@type": "Organization",
"name": "Zendesk"
},
"isPartOf": {
"@type": "WebSite",
"name": "Zendesk Help",
"url": "https://support.zendesk.com/hc/en-us"
},
"about": {
"@type": "SoftwareApplication",
"name": "Zendesk"
}
}</script><script id="ai-summary-script">
//<![CDATA[
const ai_summary_style = document.createElement('style');
ai_summary_style.innerHTML = `#styled-article-body{padding:0 0 0}#article-body #docs-ai-summary{background-color:#f3f3f3;border:1px solid #d3d3d3;padding:10px 10px 6px;margin-bottom:16px}#article-body #docs-ai-summary #docs-ai-summary-toggle{font-size:.9em;font-weight:700;margin-bottom:4px;cursor:pointer;display:flex;justify-content:space-between;align-items:center}#article-body #docs-ai-summary #docs-ai-summary-toggle #up-triangle{margin-left:auto;padding-right:10px;display:none}#article-body #docs-ai-summary #docs-ai-summary-toggle #down-triangle{margin-left:auto;padding-right:10px}#article-body #docs-ai-summary #docs-ai-summary-content{font-size:.9em;padding-left:25px;padding-right:25px;margin-bottom:12px}`;
document.head.appendChild(ai_summary_style);

const toggleAISummary = () => {
const summary = document.getElementById("docs-ai-summary-content");
const upTriangle = document.getElementById("up-triangle");
const downTriangle = document.getElementById("down-triangle");
if (summary.style.display === "none") {
summary.style.display = "block";
upTriangle.style.display = "none";
downTriangle.style.display = "inline";
} else {
summary.style.display = "none";
upTriangle.style.display = "inline";
downTriangle.style.display = "none";
}
};

document.getElementById("docs-ai-summary-toggle").addEventListener("click", toggleAISummary);
//]]>
</script>
</body>