Using Shopify 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_gpee">
<table>
<tbody>
<tr>
<td>
<strong>All Suites</strong>
</td>
<td>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">Use Shopify actions in action flows to connect your support workflows to Shopify and pull in customer, order, product, refund, and policy data without leaving your ticket. You can search, look up, create, update, cancel, and refund records, which helps you handle orders, returns, and customer requests from one place.</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 Shopify, admins
can integrate Zendesk with external systems in automated workflows, improving
collaboration and maintaining a seamless experience across multiple platforms.<div class="note">
<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="topic_sxy_hrw_zgc__ul_omj_bj4_zgc">
<li class="li"><a class="xref" href="#topic_x34_4rw_zgc">Connecting Shopify to action builder</a></li>
<li class="li"><a class="xref" href="#topic_r1d_prw_zgc">Using Shopify actions in action flows</a></li>
</ul>
</div>
</div>
<div aria-labelledby="ariaid-title2" class="topic nested1" id="topic_x34_4rw_zgc">
<h2 class="title topictitle2" id="ariaid-title2">Connecting Shopify 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_x34_4rw_zgc__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>
<div class="p">
<strong class="ph b">To connect action builder to Shopify</strong><ol class="ol" id="topic_x34_4rw_zgc__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">Shopify</strong>.</li>
<li class="li">Click <strong class="ph b">Connect</strong>.</li>
<li class="li">Use the Shopify OAuth system to authenticate the account.<div class="note">
<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
Shopify.</p>
</div>
</div>
<div aria-labelledby="ariaid-title3" class="topic nested1" id="topic_r1d_prw_zgc">
<h2 class="title topictitle2" id="ariaid-title3">Using Shopify actions in action flows</h2>
<div class="body">
<p class="p">Shopify action steps make it possible to automatically populate customer information
and order details when handling tickets, cancel tickets, and issue refunds without
leaving Zendesk.</p>
<div class="p">The following Shopify actions are available:<ul class="ul" id="topic_r1d_prw_zgc__ul_jrl_wrw_zgc">
<li class="li"><a class="xref" href="#topic_xq4_xrw_zgc">Search order</a></li>
<li class="li"><a class="xref" href="#topic_qz1_yrw_zgc">Cancel order</a></li>
<li class="li"><a class="xref" href="#topic_ayk_yrw_zgc">Create refund</a></li>
<li class="li"><a class="xref" href="#topic_pcp_24v_kkc">Lookup customer</a></li>
<li class="li"><a class="xref" href="#topic_k4j_f4v_kkc">List customer
orders</a></li>
<li class="li"><a class="xref" href="#topic_v1d_g4v_kkc">Search customers</a></li>
<li class="li"><a class="xref" href="#topic_pzz_g4v_kkc">Search orders by
filter</a></li>
<li class="li"><a class="xref" href="#topic_efy_h4v_kkc">Create customer</a></li>
<li class="li"><a class="xref" href="#topic_wcq_34v_kkc">Update customer</a></li>
<li class="li"><a class="xref" href="#topic_nn3_j4v_kkc">Lookup order</a></li>
<li class="li"><a class="xref" href="#topic_njh_k4v_kkc">Search products</a></li>
<li class="li"><a class="xref" href="#topic_mby_k4v_kkc">Create product</a></li>
<li class="li"><a class="xref" href="#topic_f14_l4v_kkc">Update product</a></li>
<li class="li"><a class="xref" href="#topic_g1g_m4v_kkc">Lookup product</a></li>
<li class="li"><a class="xref" href="#topic_ot1_n4v_kkc">Read return
eligibility</a></li>
<li class="li"><a class="xref" href="#topic_l4t_n4v_kkc">Read legal
policies</a></li>
</ul>
</div>
</div>
<div aria-labelledby="ariaid-title4" class="topic nested2" id="topic_xq4_xrw_zgc">
<h3 class="title topictitle3" id="ariaid-title4">Searching for an order</h3>
<div class="body">
<p class="p">Use the <em class="ph i">Search order</em> action to retrieve details of a Shopify order using
an email address, order ID, or order date.</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_xq4_xrw_zgc__table_qb3_csz_hgc" rules="all" summary="">
<colgroup>
<col>
<col>
</colgroup>
<thead class="thead" style="text-align:left;">
<tr class="row">
<th class="entry cellrowborder" id="d89e263" style="text-align:left;vertical-align:top;"> </th>
<th class="entry cellrowborder" id="d89e265" style="text-align:left;vertical-align:top;">Variables</th>
</tr>
</thead>
<tbody class="tbody">
<tr class="row">
<td class="entry cellrowborder" headers="d89e263" style="text-align:left;vertical-align:top;">Inputs</td>
<td class="entry cellrowborder" headers="d89e265" style="text-align:left;vertical-align:top;">Required: <code class="ph codeph">Query</code>
</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d89e263" style="text-align:left;vertical-align:top;">Output</td>
<td class="entry cellrowborder" headers="d89e265" style="text-align:left;vertical-align:top;">Array of orders with ID, name, note, total price, and
currency.</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title5" class="topic nested2" id="topic_qz1_yrw_zgc">
<h3 class="title topictitle3" id="ariaid-title5">Canceling an order</h3>
<div class="body">
<p class="p">Use the <em class="ph i">Cancel order</em> action to cancel the order in Shopify. When canceling
an order, you can configure the action to also issue a refund, restock items,
and notify the customer.</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_qz1_yrw_zgc__table_pgt_dsz_hgc" rules="all" summary="">
<colgroup>
<col>
<col>
</colgroup>
<thead class="thead" style="text-align:left;">
<tr class="row">
<th class="entry cellrowborder" id="d89e328" style="text-align:left;vertical-align:top;"> </th>
<th class="entry cellrowborder" id="d89e330" style="text-align:left;vertical-align:top;">Variables</th>
</tr>
</thead>
<tbody class="tbody">
<tr class="row">
<td class="entry cellrowborder" headers="d89e328" style="text-align:left;vertical-align:top;">Inputs</td>
<td class="entry cellrowborder" headers="d89e330" style="text-align:left;vertical-align:top;">Required: <code class="ph codeph">Order ID</code>,
<code class="ph codeph">Reason</code>, <code class="ph codeph">Refund</code>,
<code class="ph codeph">Restock</code>, <code class="ph codeph">Notify
customer</code>
</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d89e328" style="text-align:left;vertical-align:top;">Output</td>
<td class="entry cellrowborder" headers="d89e330" style="text-align:left;vertical-align:top;">Success status and order ID</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title6" class="topic nested2" id="topic_ayk_yrw_zgc">
<h3 class="title topictitle3" id="ariaid-title6">Creating a refund</h3>
<div class="body">
<p class="p">Use the <em class="ph i">Create refund</em> action to initiate a full refund process in Shopify.
You can choose whether to notify customers.</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_ayk_yrw_zgc__table_sv1_gsz_hgc" rules="all" summary="">
<colgroup>
<col>
<col>
</colgroup>
<thead class="thead" style="text-align:left;">
<tr class="row">
<th class="entry cellrowborder" id="d89e405" style="text-align:left;vertical-align:top;"> </th>
<th class="entry cellrowborder" id="d89e407" style="text-align:left;vertical-align:top;">Variables</th>
</tr>
</thead>
<tbody class="tbody">
<tr class="row">
<td class="entry cellrowborder" headers="d89e405" style="text-align:left;vertical-align:top;">Inputs</td>
<td class="entry cellrowborder" headers="d89e407" style="text-align:left;vertical-align:top;">Required: <code class="ph codeph">Order ID</code><p class="p">Optional:
<code class="ph codeph">Notes</code>, <code class="ph codeph">Notify
customer</code></p>
</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d89e405" style="text-align:left;vertical-align:top;">Output</td>
<td class="entry cellrowborder" headers="d89e407" style="text-align:left;vertical-align:top;">Refund details including refund ID, note, total refunded
amount, and currency.</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title7" class="topic nested2" id="topic_pcp_24v_kkc">
<h3 class="title topictitle3" id="ariaid-title7">Looking up a customer</h3>
<div class="body">
<p class="p">Use the <em class="ph i">Lookup customer</em> action to retrieve full details for a Shopify
customer by ID. This action is in limited availability.</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_pcp_24v_kkc__table_qcp_24v_kkc" rules="all" summary="">
<colgroup>
<col>
<col>
</colgroup>
<thead class="thead" style="text-align:left;">
<tr class="row">
<th class="entry cellrowborder" id="d89e478" style="text-align:left;vertical-align:top;"> </th>
<th class="entry cellrowborder" id="d89e480" style="text-align:left;vertical-align:top;">Variables</th>
</tr>
</thead>
<tbody class="tbody">
<tr class="row">
<td class="entry cellrowborder" headers="d89e478" style="text-align:left;vertical-align:top;">Inputs</td>
<td class="entry cellrowborder" headers="d89e480" style="text-align:left;vertical-align:top;">Required: <code class="ph codeph">Customer ID</code><p class="p">Optional:
<code class="ph codeph">Filter metafields by namespace</code>,
<code class="ph codeph">Include custom fields</code></p>
</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d89e478" style="text-align:left;vertical-align:top;">Output</td>
<td class="entry cellrowborder" headers="d89e480" style="text-align:left;vertical-align:top;">Customer details including ID, name, email, phone,
addresses, order history, and custom fields.</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title8" class="topic nested2" id="topic_k4j_f4v_kkc">
<h3 class="title topictitle3" id="ariaid-title8">Listing customer orders</h3>
<div class="body">
<p class="p">Use the <em class="ph i">List customer orders</em> action to retrieve all orders for a specific
Shopify customer. This action is in limited availability.</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_k4j_f4v_kkc__table_l4j_f4v_kkc" rules="all" summary="">
<colgroup>
<col>
<col>
</colgroup>
<thead class="thead" style="text-align:left;">
<tr class="row">
<th class="entry cellrowborder" id="d89e550" style="text-align:left;vertical-align:top;"> </th>
<th class="entry cellrowborder" id="d89e552" style="text-align:left;vertical-align:top;">Variables</th>
</tr>
</thead>
<tbody class="tbody">
<tr class="row">
<td class="entry cellrowborder" headers="d89e550" style="text-align:left;vertical-align:top;">Inputs</td>
<td class="entry cellrowborder" headers="d89e552" style="text-align:left;vertical-align:top;">Required: <code class="ph codeph">Customer ID</code><p class="p">Optional:
<code class="ph codeph">Include custom fields</code>,
<code class="ph codeph">Include line items</code>, <code class="ph codeph">Max
results</code>, <code class="ph codeph">Query</code>,
<code class="ph codeph">Reverse sort</code>, <code class="ph codeph">Sort
by</code></p>
</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d89e550" style="text-align:left;vertical-align:top;">Output</td>
<td class="entry cellrowborder" headers="d89e552" style="text-align:left;vertical-align:top;">Array of customer orders with full details, line items,
and pagination info.</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title9" class="topic nested2" id="topic_v1d_g4v_kkc">
<h3 class="title topictitle3" id="ariaid-title9">Searching customers</h3>
<div class="body">
<p class="p">Use the <em class="ph i">Search customers</em> action to search for customers in Shopify by
email, name, or phone number. This action is in limited availability.</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_v1d_g4v_kkc__table_w1d_g4v_kkc" rules="all" summary="">
<colgroup>
<col>
<col>
</colgroup>
<thead class="thead" style="text-align:left;">
<tr class="row">
<th class="entry cellrowborder" id="d89e635" style="text-align:left;vertical-align:top;"> </th>
<th class="entry cellrowborder" id="d89e637" style="text-align:left;vertical-align:top;">Variables</th>
</tr>
</thead>
<tbody class="tbody">
<tr class="row">
<td class="entry cellrowborder" headers="d89e635" style="text-align:left;vertical-align:top;">Inputs</td>
<td class="entry cellrowborder" headers="d89e637" style="text-align:left;vertical-align:top;">Required: <code class="ph codeph">Query</code><p class="p">Optional:
<code class="ph codeph">Filter metafields by namespace</code>,
<code class="ph codeph">Include custom fields</code>, <code class="ph codeph">Max
results</code>, <code class="ph codeph">Reverse sort</code>,
<code class="ph codeph">Sort by</code></p>
</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d89e635" style="text-align:left;vertical-align:top;">Output</td>
<td class="entry cellrowborder" headers="d89e637" style="text-align:left;vertical-align:top;">Array of customer matches with details and pagination
info.</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title10" class="topic nested2" id="topic_pzz_g4v_kkc">
<h3 class="title topictitle3" id="ariaid-title10">Searching orders by filter</h3>
<div class="body">
<p class="p">Use the <em class="ph i">Search orders by filter</em> action to search Shopify orders using a
condition builder to filter by status, date, and more. This action is in limited
availability.</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_pzz_g4v_kkc__table_qzz_g4v_kkc" rules="all" summary="">
<colgroup>
<col>
<col>
</colgroup>
<thead class="thead" style="text-align:left;">
<tr class="row">
<th class="entry cellrowborder" id="d89e716" style="text-align:left;vertical-align:top;"> </th>
<th class="entry cellrowborder" id="d89e718" style="text-align:left;vertical-align:top;">Variables</th>
</tr>
</thead>
<tbody class="tbody">
<tr class="row">
<td class="entry cellrowborder" headers="d89e716" style="text-align:left;vertical-align:top;">Inputs</td>
<td class="entry cellrowborder" headers="d89e718" style="text-align:left;vertical-align:top;">Optional: <code class="ph codeph">Filter conditions</code>,
<code class="ph codeph">Include custom fields</code>, <code class="ph codeph">Include
line items</code>, <code class="ph codeph">Max results</code>,
<code class="ph codeph">Reverse sort</code>, <code class="ph codeph">Sort
by</code>
</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d89e716" style="text-align:left;vertical-align:top;">Output</td>
<td class="entry cellrowborder" headers="d89e718" style="text-align:left;vertical-align:top;">Array of orders matching the filter conditions with full
details and pagination info.</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title11" class="topic nested2" id="topic_efy_h4v_kkc">
<h3 class="title topictitle3" id="ariaid-title11">Creating a customer</h3>
<div class="body">
<p class="p">Use the <em class="ph i">Create customer</em> action to create a new customer record in Shopify.
This action is in limited availability.</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_efy_h4v_kkc__table_ify_h4v_kkc" rules="all" summary="">
<colgroup>
<col>
<col>
</colgroup>
<thead class="thead" style="text-align:left;">
<tr class="row">
<th class="entry cellrowborder" id="d89e797" style="text-align:left;vertical-align:top;"> </th>
<th class="entry cellrowborder" id="d89e799" style="text-align:left;vertical-align:top;">Variables</th>
</tr>
</thead>
<tbody class="tbody">
<tr class="row">
<td class="entry cellrowborder" headers="d89e797" style="text-align:left;vertical-align:top;">Inputs</td>
<td class="entry cellrowborder" headers="d89e799" style="text-align:left;vertical-align:top;">Required: <code class="ph codeph">Email</code><p class="p">Optional:
<code class="ph codeph">Address line 1</code>,
<code class="ph codeph">City</code>, <code class="ph codeph">Country</code>,
<code class="ph codeph">First name</code>, <code class="ph codeph">Last
name</code>, <code class="ph codeph">Note</code>,
<code class="ph codeph">Phone</code>,
<code class="ph codeph">Province/State</code>,
<code class="ph codeph">Tags</code>, <code class="ph codeph">Tax exempt</code>,
<code class="ph codeph">ZIP/Postal code</code></p>
</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d89e797" style="text-align:left;vertical-align:top;">Output</td>
<td class="entry cellrowborder" headers="d89e799" style="text-align:left;vertical-align:top;">Created customer details including ID, email, name,
phone, addresses, and custom fields</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title12" class="topic nested2" id="topic_wcq_34v_kkc">
<h3 class="title topictitle3" id="ariaid-title12">Updating a customer</h3>
<div class="body">
<p class="p">Use the <em class="ph i">Update customer</em> action to update an existing customer record in
Shopify. This action is in limited availability.</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_wcq_34v_kkc__table_xcq_34v_kkc" rules="all" summary="">
<colgroup>
<col>
<col>
</colgroup>
<thead class="thead" style="text-align:left;">
<tr class="row">
<th class="entry cellrowborder" id="d89e897" style="text-align:left;vertical-align:top;"> </th>
<th class="entry cellrowborder" id="d89e899" style="text-align:left;vertical-align:top;">Variables</th>
</tr>
</thead>
<tbody class="tbody">
<tr class="row">
<td class="entry cellrowborder" headers="d89e897" style="text-align:left;vertical-align:top;">Inputs</td>
<td class="entry cellrowborder" headers="d89e899" style="text-align:left;vertical-align:top;">Required: <code class="ph codeph">Customer ID</code><p class="p">Optional:
<code class="ph codeph">Address line 1</code>,
<code class="ph codeph">City</code>, <code class="ph codeph">Country</code>,
<code class="ph codeph">Email</code>, <code class="ph codeph">First name</code>,
<code class="ph codeph">Last name</code>, <code class="ph codeph">Note</code>,
<code class="ph codeph">Phone</code>,
<code class="ph codeph">Province/State</code>,
<code class="ph codeph">Tags</code>, <code class="ph codeph">Tax exempt</code>,
<code class="ph codeph">ZIP/Postal code</code></p>
</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d89e897" style="text-align:left;vertical-align:top;">Output</td>
<td class="entry cellrowborder" headers="d89e899" style="text-align:left;vertical-align:top;">Updated customer details including ID, email, name,
phone, addresses, and custom fields. </td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title13" class="topic nested2" id="topic_nn3_j4v_kkc">
<h3 class="title topictitle3" id="ariaid-title13">Looking up an order</h3>
<div class="body">
<p class="p">Use the <em class="ph i">Lookup order</em> action to retrieve a single Shopify order with its
line items and custom fields. This action is in limited availability.</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_nn3_j4v_kkc__table_on3_j4v_kkc" rules="all" summary="">
<colgroup>
<col>
<col>
</colgroup>
<thead class="thead" style="text-align:left;">
<tr class="row">
<th class="entry cellrowborder" id="d89e1002" style="text-align:left;vertical-align:top;"> </th>
<th class="entry cellrowborder" id="d89e1004" style="text-align:left;vertical-align:top;">Variables</th>
</tr>
</thead>
<tbody class="tbody">
<tr class="row">
<td class="entry cellrowborder" headers="d89e1002" style="text-align:left;vertical-align:top;">Inputs</td>
<td class="entry cellrowborder" headers="d89e1004" style="text-align:left;vertical-align:top;">Required: <code class="ph codeph">Order ID</code><p class="p">Optional:
<code class="ph codeph">Filter metafields by namespace</code>,
<code class="ph codeph">Include custom fields</code></p>
</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d89e1002" style="text-align:left;vertical-align:top;">Output</td>
<td class="entry cellrowborder" headers="d89e1004" style="text-align:left;vertical-align:top;">Order details including ID, status, totals, line items,
customer, addresses, and custom fields.</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title14" class="topic nested2" id="topic_njh_k4v_kkc">
<h3 class="title topictitle3" id="ariaid-title14">Searching products</h3>
<div class="body">
<p class="p">Use the <em class="ph i">Search products</em> action to search for products in Shopify by title,
vendor, tag, or other criteria. This action is in limited availability.</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_njh_k4v_kkc__table_ojh_k4v_kkc" rules="all" summary="">
<colgroup>
<col>
<col>
</colgroup>
<thead class="thead" style="text-align:left;">
<tr class="row">
<th class="entry cellrowborder" id="d89e1074" style="text-align:left;vertical-align:top;"> </th>
<th class="entry cellrowborder" id="d89e1076" style="text-align:left;vertical-align:top;">Variables</th>
</tr>
</thead>
<tbody class="tbody">
<tr class="row">
<td class="entry cellrowborder" headers="d89e1074" style="text-align:left;vertical-align:top;">Inputs</td>
<td class="entry cellrowborder" headers="d89e1076" style="text-align:left;vertical-align:top;">Required: <code class="ph codeph">Query</code><p class="p">Optional:
<code class="ph codeph">Filter metafields by namespace</code>,
<code class="ph codeph">Include custom fields</code>, <code class="ph codeph">Max
results</code>, <code class="ph codeph">Reverse sort</code>,
<code class="ph codeph">Sort by</code></p>
</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d89e1074" style="text-align:left;vertical-align:top;">Output</td>
<td class="entry cellrowborder" headers="d89e1076" style="text-align:left;vertical-align:top;">Array of product matches with variants, inventory, and
pagination info.</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title15" class="topic nested2" id="topic_mby_k4v_kkc">
<h3 class="title topictitle3" id="ariaid-title15">Creating a product</h3>
<div class="body">
<p class="p">Use the <em class="ph i">Create product</em> action to create a new product listing in Shopify.
This action is in limited availability.</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_mby_k4v_kkc__table_nby_k4v_kkc" rules="all" summary="">
<colgroup>
<col>
<col>
</colgroup>
<thead class="thead" style="text-align:left;">
<tr class="row">
<th class="entry cellrowborder" id="d89e1155" style="text-align:left;vertical-align:top;"> </th>
<th class="entry cellrowborder" id="d89e1157" style="text-align:left;vertical-align:top;">Variables</th>
</tr>
</thead>
<tbody class="tbody">
<tr class="row">
<td class="entry cellrowborder" headers="d89e1155" style="text-align:left;vertical-align:top;">Inputs</td>
<td class="entry cellrowborder" headers="d89e1157" style="text-align:left;vertical-align:top;">Required: <code class="ph codeph">Title</code><p class="p">Optional:
<code class="ph codeph">Description</code>, <code class="ph codeph">Product
type</code>, <code class="ph codeph">Status</code>,
<code class="ph codeph">Tags</code>,
<code class="ph codeph">Vendor</code></p>
</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d89e1155" style="text-align:left;vertical-align:top;">Output</td>
<td class="entry cellrowborder" headers="d89e1157" style="text-align:left;vertical-align:top;">Created product details including ID, title, description,
variants, inventory, and custom fields.</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title16" class="topic nested2" id="topic_f14_l4v_kkc">
<h3 class="title topictitle3" id="ariaid-title16">Updating a product</h3>
<div class="body">
<p class="p">Use the <em class="ph i">Update product</em> action to update an existing product listing in
Shopify. This action is in limited availability.</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_f14_l4v_kkc__table_g14_l4v_kkc" rules="all" summary="">
<colgroup>
<col>
<col>
</colgroup>
<thead class="thead" style="text-align:left;">
<tr class="row">
<th class="entry cellrowborder" id="d89e1236" style="text-align:left;vertical-align:top;"> </th>
<th class="entry cellrowborder" id="d89e1238" style="text-align:left;vertical-align:top;">Variables</th>
</tr>
</thead>
<tbody class="tbody">
<tr class="row">
<td class="entry cellrowborder" headers="d89e1236" style="text-align:left;vertical-align:top;">Inputs</td>
<td class="entry cellrowborder" headers="d89e1238" style="text-align:left;vertical-align:top;">Required: <code class="ph codeph">Product ID</code><p class="p">Optional:
<code class="ph codeph">Description</code>, <code class="ph codeph">Product
type</code>, <code class="ph codeph">Status</code>,
<code class="ph codeph">Tags</code>,
<code class="ph codeph">Vendor</code></p>
</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d89e1236" style="text-align:left;vertical-align:top;">Output</td>
<td class="entry cellrowborder" headers="d89e1238" style="text-align:left;vertical-align:top;">Updated product details including ID, title, description,
variants, inventory, and custom fields.</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title17" class="topic nested2" id="topic_g1g_m4v_kkc">
<h3 class="title topictitle3" id="ariaid-title17">Looking up a product</h3>
<div class="body">
<p class="p">Use the <em class="ph i">Lookup product</em> action to retrieve a single Shopify product with
its variants and custom fields. This action is in limited availability.</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_g1g_m4v_kkc__table_h1g_m4v_kkc" rules="all" summary="">
<colgroup>
<col>
<col>
</colgroup>
<thead class="thead" style="text-align:left;">
<tr class="row">
<th class="entry cellrowborder" id="d89e1317" style="text-align:left;vertical-align:top;"> </th>
<th class="entry cellrowborder" id="d89e1319" style="text-align:left;vertical-align:top;">Variables</th>
</tr>
</thead>
<tbody class="tbody">
<tr class="row">
<td class="entry cellrowborder" headers="d89e1317" style="text-align:left;vertical-align:top;">Inputs</td>
<td class="entry cellrowborder" headers="d89e1319" style="text-align:left;vertical-align:top;">Required: <code class="ph codeph">Product ID</code><p class="p">Optional:
<code class="ph codeph">Filter metafields by namespace</code>,
<code class="ph codeph">Include custom fields</code></p>
</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d89e1317" style="text-align:left;vertical-align:top;">Output</td>
<td class="entry cellrowborder" headers="d89e1319" style="text-align:left;vertical-align:top;">Product details including ID, title, description,
variants, inventory, and custom fields.</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title18" class="topic nested2" id="topic_ot1_n4v_kkc">
<h3 class="title topictitle3" id="ariaid-title18">Reading return eligibility</h3>
<div class="body">
<p class="p">Use the <em class="ph i">Read return eligibility</em> action to check which line items in a
Shopify order are eligible for return. This action is in limited
availability.</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_ot1_n4v_kkc__table_pt1_n4v_kkc" rules="all" summary="">
<colgroup>
<col>
<col>
</colgroup>
<thead class="thead" style="text-align:left;">
<tr class="row">
<th class="entry cellrowborder" id="d89e1389" style="text-align:left;vertical-align:top;"> </th>
<th class="entry cellrowborder" id="d89e1391" style="text-align:left;vertical-align:top;">Variables</th>
</tr>
</thead>
<tbody class="tbody">
<tr class="row">
<td class="entry cellrowborder" headers="d89e1389" style="text-align:left;vertical-align:top;">Inputs</td>
<td class="entry cellrowborder" headers="d89e1391" style="text-align:left;vertical-align:top;">Required: <code class="ph codeph">Order ID</code>
</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d89e1389" style="text-align:left;vertical-align:top;">Output</td>
<td class="entry cellrowborder" headers="d89e1391" style="text-align:left;vertical-align:top;">Return eligibility status and array of returnable
fulfillments with eligible line items and
quantities.</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title19" class="topic nested2" id="topic_l4t_n4v_kkc">
<h3 class="title topictitle3" id="ariaid-title19">Reading legal policies</h3>
<div class="body">
<p class="p">Use the <em class="ph i">Read legal policies</em> action to read the Shopify store legal
policies including refund, privacy, and shipping. This action is in limited
availability.</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_l4t_n4v_kkc__table_m4t_n4v_kkc" rules="all" summary="">
<colgroup>
<col>
<col>
</colgroup>
<thead class="thead" style="text-align:left;">
<tr class="row">
<th class="entry cellrowborder" id="d89e1455" style="text-align:left;vertical-align:top;"> </th>
<th class="entry cellrowborder" id="d89e1457" style="text-align:left;vertical-align:top;">Variables</th>
</tr>
</thead>
<tbody class="tbody">
<tr class="row">
<td class="entry cellrowborder" headers="d89e1455" style="text-align:left;vertical-align:top;">Inputs</td>
<td class="entry cellrowborder" headers="d89e1457" style="text-align:left;vertical-align:top;">Optional: <code class="ph codeph">Policy type</code>
</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d89e1455" style="text-align:left;vertical-align:top;">Output</td>
<td class="entry cellrowborder" headers="d89e1457" style="text-align:left;vertical-align:top;">Array of store legal policies including type, title, URL,
and content.</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/9849578907930",
"url": "https://support.zendesk.com/hc/en-us/articles/9849578907930",
"headline": "Using Shopify actions in action flows",
"description": "You connect Shopify to action flows and use external actions to look up customers, search orders, cancel orders, create refunds, and manage products and legal policies.",
"articleSection": "Action builder and action flows",
"datePublished": "2025-10-20T15:38:50+00:00",
"dateModified": "2026-09-03T13:06:40.265103+00:00",
"inLanguage": "en",
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "https://support.zendesk.com/hc/en-us/articles/9849578907930"
},
"author": {
"@type": "Organization",
"name": "Zendesk",
"@id": "https://www.zendesk.com"
},
"publisher": {
"@type": "Organization",
"name": "Zendesk",
"@id": "https://www.zendesk.com"
},
"isPartOf": {
"@type": "WebSite",
"name": "Zendesk Help",
"@id": "https://support.zendesk.com/hc/"
},
"about": {
"@type": "SoftwareApplication",
"name": "Zendesk",
"@id": "https://www.zendesk.com",
"softwareAddOn": {
"@type": "SoftwareApplication",
"name": "Apps and integrations",
"@id": "https://support.zendesk.com/hc/en-us/sections/5283127227418"
}
}
}</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>