Using Google Calendar 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 your action builder to Google Calendar to automate event management within your workflows. This lets you create, look up, update, and delete calendar events using specific inputs like time, attendees, and event details. Using a dedicated service account for the connection is recommended to keep actions attributed properly and maintain security. This integration helps streamline scheduling tasks directly from your support environment.</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 Calendar,
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_Google_Calendar__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_Google_Calendar__ul_ysp_sn4_zgc">
<li class="li"><a class="xref" href="#topic_fcs_gtn_g3c">Connecting Google Calendar to action builder</a></li>
<li class="li"><a class="xref" href="#topic_z1q_htn_g3c">Using Google Calendar 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 Google Calendar 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>
<div class="p">
<strong class="ph b">To connect action builder to Google Calendar</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">Google Calendar</strong>.</li>
<li class="li">Click <strong class="ph b">Connect</strong>.</li>
<li class="li">Follow Google Calendar's prompts to authenticate and complete the
connection.<p class="p">The
<code class="ph codeph">https://www.googleapis.com/auth/calendar</code> scope must
be authorized during the connection process.</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
Google Calendar.</p>
</div>
</div>
<div aria-labelledby="ariaid-title3" class="topic nested1" id="topic_z1q_htn_g3c">
<h2 class="title topictitle2" id="ariaid-title3">Using Google Calendar actions in action flows</h2>
<div class="body">
<p class="p">Google Calendar action steps can be used to create and search files and folders.</p>
<div class="p">The following Google Calendar 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 event</a></li>
<li class="li"><a class="xref" href="#topic_fdn_25z_v3c">Lookup event</a></li>
<li class="li"><a class="xref" href="#topic_epg_35z_v3c">Update event</a></li>
<li class="li"><a class="xref" href="#topic_vmc_h5z_v3c">Delete event</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 events</h3>
<div class="body">
<p class="p">Use the <em class="ph i">Create event</em> action to create events.</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="d89e206" style="text-align:left;vertical-align:top;"> </th>
<th class="entry cellrowborder" id="d89e208" style="text-align:left;vertical-align:top;">Variables</th>
</tr>
</thead>
<tbody class="tbody">
<tr class="row">
<td class="entry cellrowborder" headers="d89e206" style="text-align:left;vertical-align:top;">Inputs</td>
<td class="entry cellrowborder" headers="d89e208" style="text-align:left;vertical-align:top;">Required: <code class="ph codeph">Time</code>, <code class="ph codeph">Start
time</code>, <code class="ph codeph">End time</code><p class="p">Use the
format YYYY-MM-DD hh:mm for <code class="ph codeph">Start time</code>
and <code class="ph codeph">End time</code></p>
<p class="p">Optional:
<code class="ph codeph">Attendees</code>, <code class="ph codeph">Calendar
Id</code>, <code class="ph codeph">Description</code>,
<code class="ph codeph">Reminder minutes</code></p>
</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d89e206" style="text-align:left;vertical-align:top;">Output</td>
<td class="entry cellrowborder" headers="d89e208" style="text-align:left;vertical-align:top;">Event metadata</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title5" class="topic nested2" id="topic_fdn_25z_v3c">
<h3 class="title topictitle3" id="ariaid-title5">Looking up events</h3>
<div class="body">
<p class="p">Use the <em class="ph i">Lookup event</em> action to look up events.</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_fdn_25z_v3c__table_alq_bb1_w3c" 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;">Required: At least <code class="ph codeph">Event Id</code> or
<code class="ph codeph">Title</code> is required.<p class="p">Optional:
<code class="ph codeph">Calendar Id</code></p>
</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;">Event metadata</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title6" class="topic nested2" id="topic_epg_35z_v3c">
<h3 class="title topictitle3" id="ariaid-title6">Updating events</h3>
<div class="body">
<p class="p">Use the <em class="ph i">Update event</em> action to update events.</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_v3p_db1_w3c" rules="all" summary="">
<colgroup>
<col>
<col>
</colgroup>
<thead class="thead" style="text-align:left;">
<tr class="row">
<th class="entry cellrowborder" id="d89e370" style="text-align:left;vertical-align:top;"> </th>
<th class="entry cellrowborder" id="d89e372" style="text-align:left;vertical-align:top;">Variables</th>
</tr>
</thead>
<tbody class="tbody">
<tr class="row">
<td class="entry cellrowborder" headers="d89e370" style="text-align:left;vertical-align:top;">Inputs</td>
<td class="entry cellrowborder" headers="d89e372" style="text-align:left;vertical-align:top;">Required: <code class="ph codeph">Event Id</code>,
<code class="ph codeph">Title</code>, <code class="ph codeph">Start time</code>,
<code class="ph codeph">End time</code><p class="p"><code class="ph codeph">Event Id</code>
can be sourced from <a class="xref" href="#topic_fdn_25z_v3c">Lookup event</a> or <a class="xref" href="#topic_lck_r44_zgc">Create
event</a> actions.</p>
<p class="p">Optional:
<code class="ph codeph">Attendees</code>,
<code class="ph codeph">Description</code></p>
</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d89e370" style="text-align:left;vertical-align:top;">Output</td>
<td class="entry cellrowborder" headers="d89e372" style="text-align:left;vertical-align:top;">Event metadata</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title7" class="topic nested2" id="topic_vmc_h5z_v3c">
<h3 class="title topictitle3" id="ariaid-title7">Deleting events</h3>
<div class="body">
<p class="p">Use the <em class="ph i">Delete event</em> action to delete events.</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_qq5_fb1_w3c" rules="all" summary="">
<colgroup>
<col>
<col>
</colgroup>
<thead class="thead" style="text-align:left;">
<tr class="row">
<th class="entry cellrowborder" id="d89e464" style="text-align:left;vertical-align:top;"> </th>
<th class="entry cellrowborder" id="d89e466" style="text-align:left;vertical-align:top;">Variables</th>
</tr>
</thead>
<tbody class="tbody">
<tr class="row">
<td class="entry cellrowborder" headers="d89e464" style="text-align:left;vertical-align:top;">Inputs</td>
<td class="entry cellrowborder" headers="d89e466" style="text-align:left;vertical-align:top;">Required: <code class="ph codeph">Event Id</code>
</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d89e464" style="text-align:left;vertical-align:top;">Output</td>
<td class="entry cellrowborder" headers="d89e466" style="text-align:left;vertical-align:top;">Event metadata</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/10559257423770-Using-Google-Calendar-actions-in-action-flows",
"url": "https://support.zendesk.com/hc/en-us/articles/10559257423770-Using-Google-Calendar-actions-in-action-flows",
"headline": "Using Google Calendar actions in action flows",
"description": "You can connect an action builder to Google Calendar to automate event management tasks such as creating, looking up, updating, and deleting events within action flows.",
"articleSection": "Extending Zendesk",
"datePublished": "2026-04-16T18:56:01+00:00",
"dateModified": "2026-04-23T15:55:23.816598+00:00",
"inLanguage": "en-US",
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "https://support.zendesk.com/hc/en-us/articles/10559257423770-Using-Google-Calendar-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>