Using Google Sheets 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 Google Sheets actions in action flows to connect your account, create or update spreadsheets, and log ticket data in automated workflows. You can append, insert, read, search, and update rows, making it easier to track tickets, share details with your team, and report on trends, impact, and volume.</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 Google Sheets,
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_pws_ym4_zgc__ul_ysp_sn4_zgc">
<li class="li"><a class="xref" href="#topic_fqz_sn4_zgc">Connecting Google Sheets to action builder</a></li>
<li class="li"><a class="xref" href="#topic_pk2_vn4_zgc">Using Google Sheets actions in action flows</a></li>
<li class="li"><a class="xref" href="#topic_olr_yxv_ghc">Recipe: Logging new Zendesk tickets in a Google Sheet</a></li>
</ul>
</div>
</div>
<div aria-labelledby="ariaid-title2" class="topic nested1" id="topic_fqz_sn4_zgc">
<h2 class="title topictitle2" id="ariaid-title2">Connecting Google Sheets 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_fqz_sn4_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 Google Sheets</strong><ol class="ol" id="topic_fqz_sn4_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">Google Sheets</strong>.</li>
<li class="li">Click <strong class="ph b">Connect</strong>.</li>
<li class="li">Follow Google's prompts to authenticate and complete the
connection.<p class="p">You'll log into a Google Workspace or Gmail account, and
admin approval might be required in managed environments.</p>
<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
Google Sheets.</p>
</div>
</div>
<div aria-labelledby="ariaid-title3" class="topic nested1" id="topic_pk2_vn4_zgc">
<h2 class="title topictitle2" id="ariaid-title3">Using Google Sheets actions in action flows</h2>
<div class="body">
<p class="p">Google Sheets action steps can be used to create spreadsheets and add data, such as
an AI-generated ticket summary, to the sheet, which can then be shared with other
users.</p>
<div class="p">The following Google Sheet actions are available:<ul class="ul" id="topic_pk2_vn4_zgc__ul_jby_q44_zgc">
<li class="li"><a class="xref" href="#topic_lck_r44_zgc">Create spreadsheet</a></li>
<li class="li"><a class="xref" href="#topic_enj_jqm_k3c">List spreadsheets</a></li>
<li class="li"><a class="xref" href="#topic_jj3_s44_zgc">Create a new sheet</a></li>
<li class="li"><a class="xref" href="#topic_w21_544_zgc">Append row</a></li>
<li class="li"><a class="xref" href="#topic_azm_wwc_lkc">Search rows</a></li>
<li class="li"><a class="xref" href="#topic_ibt_gxc_lkc">Update row</a></li>
<li class="li"><a class="xref" href="#topic_g2v_rxc_lkc">Insert row in
sheet</a></li>
<li class="li"><a class="xref" href="#topic_ufl_byc_lkc">Read a row</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 new Google spreadsheet</h3>
<div class="body">
<p class="p">Use the <em class="ph i">Create spreadsheet</em> action to create a spreadsheet.</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_w1w_4nz_hgc" rules="all" summary="">
<colgroup>
<col>
<col>
</colgroup>
<thead class="thead" style="text-align:left;">
<tr class="row">
<th class="entry cellrowborder" id="d89e229" style="text-align:left;vertical-align:top;"> </th>
<th class="entry cellrowborder" id="d89e231" style="text-align:left;vertical-align:top;">Variables</th>
</tr>
</thead>
<tbody class="tbody">
<tr class="row">
<td class="entry cellrowborder" headers="d89e229" style="text-align:left;vertical-align:top;">Inputs</td>
<td class="entry cellrowborder" headers="d89e231" style="text-align:left;vertical-align:top;"><code class="ph codeph">spreadsheet_title</code></td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d89e229" style="text-align:left;vertical-align:top;">Output</td>
<td class="entry cellrowborder" headers="d89e231" style="text-align:left;vertical-align:top;">
<code class="ph codeph">spreadsheet_id</code>,
<code class="ph codeph">sheet_title</code>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title5" class="topic nested2" id="topic_enj_jqm_k3c">
<h3 class="title topictitle3" id="ariaid-title5">Listing your Google spreadsheets</h3>
<div class="body">
<p class="p">Use the <em class="ph i">List spreadsheet</em> action to return a list of all spreadsheets in
the account. This step makes it possible to reference and act on spreadsheets
created outside of the action flow.</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_enj_jqm_k3c__table_fnj_jqm_k3c" rules="all" summary="">
<colgroup>
<col>
<col>
</colgroup>
<thead class="thead" style="text-align:left;">
<tr class="row">
<th class="entry cellrowborder" id="d89e297" style="text-align:left;vertical-align:top;"> </th>
<th class="entry cellrowborder" id="d89e299" style="text-align:left;vertical-align:top;">Variables</th>
</tr>
</thead>
<tbody class="tbody">
<tr class="row">
<td class="entry cellrowborder" headers="d89e297" style="text-align:left;vertical-align:top;">Inputs</td>
<td class="entry cellrowborder" headers="d89e299" style="text-align:left;vertical-align:top;">none</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d89e297" style="text-align:left;vertical-align:top;">Output</td>
<td class="entry cellrowborder" headers="d89e299" style="text-align:left;vertical-align:top;">
<code class="ph codeph">spreadsheet_id</code> and
<code class="ph codeph">sheet_title</code> for each
spreadsheet</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title6" class="topic nested2" id="topic_jj3_s44_zgc">
<h3 class="title topictitle3" id="ariaid-title6">Creating a new sheet in a Google spreadsheet</h3>
<div class="body">
<p class="p">Use the <em class="ph i">Create sheet</em> action to add a sheet to an existing spreadsheet. You
have the option to specify column headings and an initial row of data.</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_jj3_s44_zgc__table_tc1_5nz_hgc" rules="all" summary="">
<colgroup>
<col>
<col>
</colgroup>
<thead class="thead" style="text-align:left;">
<tr class="row">
<th class="entry cellrowborder" id="d89e365" style="text-align:left;vertical-align:top;"> </th>
<th class="entry cellrowborder" id="d89e367" style="text-align:left;vertical-align:top;">Variables</th>
</tr>
</thead>
<tbody class="tbody">
<tr class="row">
<td class="entry cellrowborder" headers="d89e365" style="text-align:left;vertical-align:top;">Inputs</td>
<td class="entry cellrowborder" headers="d89e367" style="text-align:left;vertical-align:top;">
<code class="ph codeph">spreadsheet_id</code>,
<code class="ph codeph">sheet_title</code>
</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d89e365" style="text-align:left;vertical-align:top;">Output</td>
<td class="entry cellrowborder" headers="d89e367" style="text-align:left;vertical-align:top;">
<code class="ph codeph">spreadsheet_id</code>,
<code class="ph codeph">sheet_title</code>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title7" class="topic nested2" id="topic_w21_544_zgc">
<h3 class="title topictitle3" id="ariaid-title7">Appending a row to a Google spreadsheet</h3>
<div class="body">
<p class="p">Use the <em class="ph i">Append row</em> action to add a row to a sheet.</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_w21_544_zgc__table_r2p_knz_hgc" rules="all" summary="">
<colgroup>
<col>
<col>
</colgroup>
<thead class="thead" style="text-align:left;">
<tr class="row">
<th class="entry cellrowborder" id="d89e437" style="text-align:left;vertical-align:top;"> </th>
<th class="entry cellrowborder" id="d89e439" style="text-align:left;vertical-align:top;">Variables</th>
</tr>
</thead>
<tbody class="tbody">
<tr class="row">
<td class="entry cellrowborder" headers="d89e437" style="text-align:left;vertical-align:top;">Inputs</td>
<td class="entry cellrowborder" headers="d89e439" style="text-align:left;vertical-align:top;">
<code class="ph codeph">spreadsheet_id</code>,
<code class="ph codeph">sheet_title</code>,
<code class="ph codeph">values</code>
</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d89e437" style="text-align:left;vertical-align:top;">Output</td>
<td class="entry cellrowborder" headers="d89e439" style="text-align:left;vertical-align:top;">
<code class="ph codeph">spreadsheet_id</code>,
<code class="ph codeph">sheet_title</code>,
<code class="ph codeph">values</code>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title8" class="topic nested2" id="topic_azm_wwc_lkc">
<h3 class="title topictitle3" id="ariaid-title8">Searching rows in a Google spreadsheet</h3>
<div class="body">
<p class="p">Use the <em class="ph i">Search rows</em> action to search the first 1,000 rows of a sheet for
rows matching one or more filter conditions. The result indicates when the
search limit is reached.</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_azm_wwc_lkc__table_bzm_wwc_lkc" rules="all" summary="">
<colgroup>
<col>
<col>
</colgroup>
<thead class="thead" style="text-align:left;">
<tr class="row">
<th class="entry cellrowborder" id="d89e514" style="text-align:left;vertical-align:top;"> </th>
<th class="entry cellrowborder" id="d89e516" style="text-align:left;vertical-align:top;">Variables</th>
</tr>
</thead>
<tbody class="tbody">
<tr class="row">
<td class="entry cellrowborder" headers="d89e514" style="text-align:left;vertical-align:top;">Inputs</td>
<td class="entry cellrowborder" headers="d89e516" style="text-align:left;vertical-align:top;">
<code class="ph codeph">spreadsheet</code>, <code class="ph codeph">sheet</code>,
<code class="ph codeph">Does the first row contain headers?</code>,
<code class="ph codeph">filter conditions</code>
</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d89e514" style="text-align:left;vertical-align:top;">Output</td>
<td class="entry cellrowborder" headers="d89e516" style="text-align:left;vertical-align:top;">Array of matching rows with row numbers and values, match
count, truncation indicator, and HTTP status code.</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title9" class="topic nested2" id="topic_ibt_gxc_lkc">
<h3 class="title topictitle3" id="ariaid-title9">Updating a row in a Google spreadsheet</h3>
<div class="body">
<p class="p">Use the <em class="ph i">Update row</em> action to update one or more cells on a specific row in
a sheet.</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_ibt_gxc_lkc__table_jbt_gxc_lkc" rules="all" summary="">
<colgroup>
<col>
<col>
</colgroup>
<thead class="thead" style="text-align:left;">
<tr class="row">
<th class="entry cellrowborder" id="d89e587" style="text-align:left;vertical-align:top;"> </th>
<th class="entry cellrowborder" id="d89e589" style="text-align:left;vertical-align:top;">Variables</th>
</tr>
</thead>
<tbody class="tbody">
<tr class="row">
<td class="entry cellrowborder" headers="d89e587" style="text-align:left;vertical-align:top;">Inputs</td>
<td class="entry cellrowborder" headers="d89e589" style="text-align:left;vertical-align:top;">Required: <code class="ph codeph">spreadsheet</code>,
<code class="ph codeph">sheet</code>, <code class="ph codeph">Does the first row
contain headers?</code>, <code class="ph codeph">row
number</code><p class="p">Optional: Column fields (dynamically
generated based on sheet headers)</p>
</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d89e587" style="text-align:left;vertical-align:top;">Output</td>
<td class="entry cellrowborder" headers="d89e589" style="text-align:left;vertical-align:top;">Spreadsheet ID, sheet title, row number, updated columns
list, and HTTP status code.</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title10" class="topic nested2" id="topic_g2v_rxc_lkc">
<h3 class="title topictitle3" id="ariaid-title10">Inserting a row in a Google spreadsheet</h3>
<div class="body">
<p class="p">Use the <em class="ph i">Insert row in sheet</em> action to insert a new row into the sheet,
setting one or more cells by column. Leave the row number blank to append after
the last row with data, or set it to insert at that position and shift existing
rows down.</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_g2v_rxc_lkc__table_h2v_rxc_lkc" rules="all" summary="">
<colgroup>
<col>
<col>
</colgroup>
<thead class="thead" style="text-align:left;">
<tr class="row">
<th class="entry cellrowborder" id="d89e663" style="text-align:left;vertical-align:top;"> </th>
<th class="entry cellrowborder" id="d89e665" style="text-align:left;vertical-align:top;">Variables</th>
</tr>
</thead>
<tbody class="tbody">
<tr class="row">
<td class="entry cellrowborder" headers="d89e663" style="text-align:left;vertical-align:top;">Inputs</td>
<td class="entry cellrowborder" headers="d89e665" style="text-align:left;vertical-align:top;">Required: <code class="ph codeph">spreadsheet</code>,
<code class="ph codeph">sheet</code>, <code class="ph codeph">Does the first row
contain headers?</code>, <code class="ph codeph">row number</code>,
<code class="ph codeph">row values </code>(dynamically generated
column fields based on sheet headers).<p class="p">Optional: Column
fields (dynamically generated based on sheet
headers)</p>
</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d89e663" style="text-align:left;vertical-align:top;">Output</td>
<td class="entry cellrowborder" headers="d89e665" style="text-align:left;vertical-align:top;">Spreadsheet ID, sheet title, row number, updated columns
list, and HTTP status code.</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title11" class="topic nested2" id="topic_ufl_byc_lkc">
<h3 class="title topictitle3" id="ariaid-title11">Reading a row in a Google spreadsheet</h3>
<div class="body">
<p class="p">Use the <em class="ph i">Read a row</em> action to read the contents of a specific row in a
sheet.</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_ufl_byc_lkc__table_vfl_byc_lkc" rules="all" summary="">
<colgroup>
<col>
<col>
</colgroup>
<thead class="thead" style="text-align:left;">
<tr class="row">
<th class="entry cellrowborder" id="d89e744" style="text-align:left;vertical-align:top;"> </th>
<th class="entry cellrowborder" id="d89e746" style="text-align:left;vertical-align:top;">Variables</th>
</tr>
</thead>
<tbody class="tbody">
<tr class="row">
<td class="entry cellrowborder" headers="d89e744" style="text-align:left;vertical-align:top;">Inputs</td>
<td class="entry cellrowborder" headers="d89e746" style="text-align:left;vertical-align:top;">Required: <code class="ph codeph">spreadsheet</code>,
<code class="ph codeph">sheet</code>, <code class="ph codeph">Does the first row
contain headers?</code>, <code class="ph codeph">row
number</code><p class="p">Optional: Column fields (dynamically
generated based on sheet headers)</p>
</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d89e744" style="text-align:left;vertical-align:top;">Output</td>
<td class="entry cellrowborder" headers="d89e746" style="text-align:left;vertical-align:top;">Spreadsheet ID, sheet title, row number, row values as
object with column names as keys, and HTTP status
code.</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title12" class="topic nested1" id="topic_olr_yxv_ghc">
<h2 class="title topictitle2" id="ariaid-title12">Recipe: Logging new Zendesk tickets in a Google Sheet</h2>
<div class="body">
<p class="p">The following example action flow adds data to a centralized ticket log in Google
Sheets. Each time a Zendesk ticket submitted, the action flow automatically adds a
new row to the spreadsheet with the full details. This allows the team to automate
the tracking of trends, analization of impact, and reporting on volume.</p>
<div class="p">Such an action flow would consist of the following steps:<ol class="ol" id="topic_olr_yxv_ghc__ol_t2n_bxq_chc">
<li class="li">Add an action flow trigger with the following details:<ol class="ol" id="topic_olr_yxv_ghc__ol_l2n_nwq_chc" type="a">
<li class="li">Click <strong class="ph b">Add trigger</strong>.</li>
<li class="li">In the step sidebar, under <strong class="ph b">Zendesk</strong>, click
<strong class="ph b">Tickets</strong>.</li>
<li class="li">Click <strong class="ph b">Lifecycle</strong> and select <strong class="ph b">Ticket created</strong>.</li>
</ol>
</li>
<li class="li">Add a step to look up ticket details:<ol class="ol" id="topic_olr_yxv_ghc__ol_u1q_wcx_chc" type="a">
<li class="li">In the action builder, beneath the action flow trigger, click the
<strong class="ph b">Add step</strong> icon (<img class="image" id="topic_olr_yxv_ghc__image_ls5_1xr_1hc" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/icon_action_flows_add.png" width="16">).</li>
<li class="li">In the step sidebar, under <strong class="ph b">Zendesk actions</strong>, click <strong class="ph b">Look up
ticket</strong>.</li>
<li class="li">Under <strong class="ph b">Ticket ID</strong>, click into the field and then click
<strong class="ph b">Select a variable instead</strong>.</li>
<li class="li">Within the variable menu, select <strong class="ph b">Ticket created</strong> as the step
that output the variable you want to use, and then select <strong class="ph b">Ticket
ID</strong>.</li>
</ol>
</li>
<li class="li">Add a step to look up user details about the ticket requester:<ol class="ol" id="topic_olr_yxv_ghc__ol_zjp_qdx_chc" type="a">
<li class="li">In the action builder, click the <strong class="ph b">Add step</strong> icon (<img class="image" id="topic_olr_yxv_ghc__image_ox3_rdx_chc" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/icon_action_flows_add.png" width="16">).</li>
<li class="li">In the step sidebar, under <strong class="ph b">Zendesk actions</strong>, click <strong class="ph b">Look up
user</strong>.</li>
<li class="li">Under <strong class="ph b">User ID type</strong>, select <strong class="ph b">Zendesk user ID</strong>.</li>
<li class="li">For <strong class="ph b">User ID</strong>, click <strong class="ph b">Add variable</strong>.</li>
<li class="li">Within the variable menu, select <strong class="ph b">Look up ticket</strong> as the step
that outputs the variale you want to use, and then select
<strong class="ph b">Requester ID</strong>.</li>
</ol>
</li>
<li class="li">Add a step to lookup details about the ticket requester's organization:<ol class="ol" id="topic_olr_yxv_ghc__ol_wxc_k2x_chc" type="a">
<li class="li">In the action builder, click the <strong class="ph b">Add step</strong> icon (<img class="image" id="topic_olr_yxv_ghc__image_xxc_k2x_chc" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/icon_action_flows_add.png" width="16">).</li>
<li class="li">In the step sidebar, under <strong class="ph b">Zendesk actions</strong>, click <strong class="ph b">Look up
organization</strong>.</li>
<li class="li">Under <strong class="ph b">Organization ID type</strong>, select <strong class="ph b">Zendesk organization
ID</strong>.</li>
<li class="li">For <strong class="ph b">Organization ID</strong>, click <strong class="ph b">Add variable</strong>.</li>
<li class="li">Within the variable menu, select <strong class="ph b">Look up user</strong> as the step
that outputs the variale you want to use, and then select
<strong class="ph b">Organization ID</strong>.</li>
</ol>
</li>
<li class="li">Add a step to look up user details about the ticket assignee:<ol class="ol" id="topic_olr_yxv_ghc__ol_olj_hzv_ghc" type="a">
<li class="li">In the action builder, click the <strong class="ph b">Add step</strong> icon (<img class="image" id="topic_olr_yxv_ghc__image_plj_hzv_ghc" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/icon_action_flows_add.png" width="16">).</li>
<li class="li">In the step sidebar, under <strong class="ph b">Zendesk actions</strong>, click <strong class="ph b">Look up
user</strong>.</li>
<li class="li">Under <strong class="ph b">User ID type</strong>, select <strong class="ph b">Zendesk user ID</strong>.</li>
<li class="li">For <strong class="ph b">User ID</strong>, click <strong class="ph b">Add variable</strong>.</li>
<li class="li">Within the variable menu, select <strong class="ph b">Look up ticket</strong> as the step
that outputs the variale you want to use, and then select
<strong class="ph b">Assignee ID</strong>.</li>
</ol>
</li>
<li class="li">Add a step that adds a row to a Google Sheets spreadsheet with the
information you collected for the ticket, requester, organization, and
assignee:<ol class="ol" id="topic_olr_yxv_ghc__ol_jhh_52x_chc" type="a">
<li class="li">In the action builder, click the <strong class="ph b">Add step</strong> icon (<img class="image" id="topic_olr_yxv_ghc__image_lqs_52x_chc" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/icon_action_flows_add.png" width="16">).</li>
<li class="li">In the step sidebar, under <strong class="ph b">External actions</strong>, click <strong class="ph b">Google
Sheets</strong> and then select <strong class="ph b">Append row to sheet</strong>.</li>
<li class="li">Select an existing <strong class="ph b">Spreadsheet</strong> or click <strong class="ph b">Create new</strong> and
enter a <strong class="ph b">Spreadsheet title</strong>.</li>
<li class="li">Select the <strong class="ph b">Sheet</strong> to which the row is being added.</li>
<li class="li">Under <strong class="ph b">Row values</strong>, use variables from the previous steps to
capture the details you want about the ticket, requester,
organization, and assignee associated with the ticket. Enter the
data in the order the columns appear in the sheet, separating each
column's value by a comma.<p class="p">For example, this might include the
ticket's ID, subject, and date created; the ticket requester's
name; the organization's name, and more. </p>
</li>
</ol>
</li>
<li class="li">Click <strong class="ph b">Save</strong>.</li>
<li class="li">Click <strong class="ph b">Test</strong> to <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/9052312956570#topic_uyj_qsw_3fc" target="_blank">test the action flow</a>.</li>
<li class="li">Click the options menu (<img class="image" id="topic_olr_yxv_ghc__image_lg5_yjx_chc" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/options-menu-icon-small.png">) and select <strong class="ph b">Activate</strong> to begin using the
action flow to automatically log incident tickets in your Google Sheets
spreadsheet.</li>
</ol>
</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/9836727346970",
"url": "https://support.zendesk.com/hc/en-us/articles/9836727346970",
"headline": "Using Google Sheets actions in action flows",
"description": "You can connect Google Sheets to action flows and use external actions to create, update, read, search, and append spreadsheet data, including logging new ticket details in a sheet.",
"articleSection": "Action builder and action flows",
"datePublished": "2025-10-16T17:49:45+00:00",
"dateModified": "2026-09-02T13:12:14.365590+00:00",
"inLanguage": "en",
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "https://support.zendesk.com/hc/en-us/articles/9836727346970"
},
"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>