Using Airtable 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 Airtable using a personal access token to automate tasks like creating, updating, deleting, and searching records. This integration supports batch operations, adding comments, and retrieving table schemas, helping you manage data and collaborate across platforms. Use a dedicated service account for secure connections and review access scopes carefully to maintain control over your Airtable data within workflows.</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 Airtable, 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_Airtable__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_Airtable__ul_ysp_sn4_zgc">
<li class="li"><a class="xref" href="#topic_fcs_gtn_g3c">Connecting Airtable to action builder</a></li>
<li class="li"><a class="xref" href="#topic_z1q_htn_g3c">Using Airtable 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 Airtable 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 a personal access token</strong></p>
<div class="p">The Airtable connection requires a personal access token (PAT) for authentication.
See the <a class="xref" href="https://support.airtable.com/docs/creating-personal-access-tokens" target="_blank">Airtable documentation</a> for details.<ol class="ol" id="topic_fcs_gtn_g3c__ol_tx1_xsz_jjc">
<li class="li">Create a personal access token at <a class="xref" href="https://airtable.com/create/tokens" target="_blank">https://airtable.com/create/tokens</a>.</li>
<li class="li">Grant the token access to the specific bases you want to use.</li>
<li class="li">Ensure the token has the following scopes: <code class="ph codeph">data.records:read,
data.records:write, data.recordComments:read,
data.recordComments:write,schema.bases:read</code>
</li>
<li class="li">Save the token or keep the window open so you can copy and paste it into
Zendesk. <p class="p">You'll need it when connecting Airtable to action
builder.</p>
</li>
</ol>
</div>
<div class="p">
<strong class="ph b">To connect action builder to Airtable</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">Airtable</strong>.</li>
<li class="li">Click <strong class="ph b">Connect</strong>.</li>
<li class="li">Follow Airtable's prompts to enter your Airtable access token and complete
the connection.<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
Airtable.</p>
</div>
</div>
<div aria-labelledby="ariaid-title3" class="topic nested1" id="topic_z1q_htn_g3c">
<h2 class="title topictitle2" id="ariaid-title3">Using Airtable actions in action flows</h2>
<div class="body">
<div class="p">The following Airtable 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 record</a></li>
<li class="li"><a class="xref" href="#topic_epg_35z_v3c">Update record</a></li>
<li class="li"><a class="xref" href="#topic_vmc_h5z_v3c">Delete record</a></li>
<li class="li"><a class="xref" href="#topic_alf_24q_jjc">Lookup record</a></li>
<li class="li"><a class="xref" href="#topic_rcd_lxm_pjc">Search records</a></li>
<li class="li"><a class="xref" href="#topic_mjr_j4q_jjc">Lookup comments</a></li>
<li class="li"><a class="xref" href="#topic_wfm_m4q_jjc">Batch create
records</a></li>
<li class="li"><a class="xref" href="#topic_vmr_lkz_jjc">Batch delete
records</a></li>
<li class="li"><a class="xref" href="#topic_lqp_skz_jjc">Add comment to
record</a></li>
<li class="li"><a class="xref" href="#topic_lvn_1nz_jjc">Lookup table
schema</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 record</h3>
<div class="body">
<p class="p">Use the <em class="ph i">Create record</em> action to create a new record in an Airtable
table.</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="d89e261" style="text-align:left;vertical-align:top;"> </th>
<th class="entry cellrowborder" id="d89e263" style="text-align:left;vertical-align:top;">Variables</th>
</tr>
</thead>
<tbody class="tbody">
<tr class="row">
<td class="entry cellrowborder" headers="d89e261" style="text-align:left;vertical-align:top;">Inputs</td>
<td class="entry cellrowborder" headers="d89e263" style="text-align:left;vertical-align:top;">Required: <code class="ph codeph">Base ID</code>, <code class="ph codeph">Table
name</code>, <code class="ph codeph">Record fields</code> (or
table-specific dynamic fields)<p class="p">Base ID starts with "app"
(e.g., appAbCd1234EfGhIj) and can be found in your
Airtable URL. </p>
<p class="p">Table name can be the table name
(for example, "Contacts") or table ID (starts with
"tbl"). </p>
<p class="p">After selecting a base and table, the
action will dynamically load that table's specific
fields. Record fields should be formatted as "FieldName:
Value, Field2: Value2" for arrays using semicolons
(Tags: tag1; tag2).</p>
</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d89e261" style="text-align:left;vertical-align:top;">Output</td>
<td class="entry cellrowborder" headers="d89e263" style="text-align:left;vertical-align:top;">Record details including ok status, baseId, tableName,
and record object (with id, createdTime, and
fields).</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 record</h3>
<div class="body">
<p class="p">Use the <em class="ph i">Update record</em> action to modify an existing record in an Airtable
table.</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="d89e339" style="text-align:left;vertical-align:top;"> </th>
<th class="entry cellrowborder" id="d89e341" style="text-align:left;vertical-align:top;">Variables</th>
</tr>
</thead>
<tbody class="tbody">
<tr class="row">
<td class="entry cellrowborder" headers="d89e339" style="text-align:left;vertical-align:top;">Inputs</td>
<td class="entry cellrowborder" headers="d89e341" style="text-align:left;vertical-align:top;">Required: <code class="ph codeph">Base ID</code>, <code class="ph codeph">Table
name</code>, <code class="ph codeph">Record ID</code>,
<code class="ph codeph">Record fields</code> (or table-specific
dynamic fields)<p class="p">Record ID starts with "rec" (e.g.,
recAbCd1234EfGhIj). </p>
<p class="p">After selecting a base and
table, the action will dynamically load that table's
specific fields. Only provide values for fields you want
to update. Existing values for fields you don't specify
will remain unchanged.</p>
</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d89e339" style="text-align:left;vertical-align:top;">Output</td>
<td class="entry cellrowborder" headers="d89e341" style="text-align:left;vertical-align:top;">Record details including ok status, baseId, tableName,
and record object (with id and updated fields).</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">Deleting a record</h3>
<div class="body">
<div class="p">Use the <em class="ph i">Delete record</em> action to permanently delete a specific record from
an Airtable table.<div class="note important" id="topic_vmc_h5z_v3c__note_chf_453_ljc">
<span class="importanttitle">Important:</span> This action
permanently deletes the record and cannot be undone. Use with
caution.</div>
</div>
<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="d89e420" style="text-align:left;vertical-align:top;"> </th>
<th class="entry cellrowborder" id="d89e422" style="text-align:left;vertical-align:top;">Variables</th>
</tr>
</thead>
<tbody class="tbody">
<tr class="row">
<td class="entry cellrowborder" headers="d89e420" style="text-align:left;vertical-align:top;">Inputs</td>
<td class="entry cellrowborder" headers="d89e422" style="text-align:left;vertical-align:top;">Required: <code class="ph codeph">Base ID</code>, <code class="ph codeph">Table
name</code>, <code class="ph codeph">Record ID</code>
</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d89e420" style="text-align:left;vertical-align:top;">Output</td>
<td class="entry cellrowborder" headers="d89e422" style="text-align:left;vertical-align:top;">Deletion details including ok status, baseId, tableName,
deleted confirmation, and record id.</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">Looking up a record</h3>
<div class="body">
<p class="p">Use the <em class="ph i">Lookup record</em> action to retrieve a record by its ID from an
Airtable table. Use this action to retrieve detailed information about a
specific record, including all of its field values. The output schema
dynamically reflects the table's actual field structure.</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="d89e492" style="text-align:left;vertical-align:top;"> </th>
<th class="entry cellrowborder" id="d89e494" style="text-align:left;vertical-align:top;">Variables</th>
</tr>
</thead>
<tbody class="tbody">
<tr class="row">
<td class="entry cellrowborder" headers="d89e492" style="text-align:left;vertical-align:top;">Inputs</td>
<td class="entry cellrowborder" headers="d89e494" style="text-align:left;vertical-align:top;">Required: <code class="ph codeph">Base ID</code>, <code class="ph codeph">Table
name</code>, <code class="ph codeph">Record ID</code>
</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d89e492" style="text-align:left;vertical-align:top;">Output</td>
<td class="entry cellrowborder" headers="d89e494" style="text-align:left;vertical-align:top;">Record details including ok status, baseId, tableId,
tableName, and record object (with id, createdTime, and
fields with their values).</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title8" class="topic nested2" id="topic_rcd_lxm_pjc">
<h3 class="title topictitle3" id="ariaid-title8">Searching for records</h3>
<div class="body">
<p class="p">Use the <em class="ph i">Search records</em> action to find records in a table using filters,
sorting, 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_rcd_lxm_pjc__table_kd3_mxm_pjc" rules="all" summary="">
<colgroup>
<col>
<col>
</colgroup>
<thead class="thead" style="text-align:left;">
<tr class="row">
<th class="entry cellrowborder" id="d89e563" style="text-align:left;vertical-align:top;"> </th>
<th class="entry cellrowborder" id="d89e565" style="text-align:left;vertical-align:top;">Variables</th>
</tr>
</thead>
<tbody class="tbody">
<tr class="row">
<td class="entry cellrowborder" headers="d89e563" style="text-align:left;vertical-align:top;">Inputs</td>
<td class="entry cellrowborder" headers="d89e565" style="text-align:left;vertical-align:top;">Required: <code class="ph codeph">Base</code>,
<code class="ph codeph">Table</code><p class="p">Optional: <code class="ph codeph">Filter by
formula</code>, <code class="ph codeph">View</code>,
<code class="ph codeph">Sort field</code>, <code class="ph codeph">Sort
direction</code>, <code class="ph codeph">Max records</code>,
<code class="ph codeph">Page size</code>, <code class="ph codeph">Offset</code>,
<code class="ph codeph">Return fields by field
ID</code></p>
<div class="p">Consider the following when using the
Search records action: <ul class="ul" id="topic_rcd_lxm_pjc__ul_i4j_2ld_qjc">
<li class="li">Filter by formula uses Airtable formula syntax
(for example, "{Name} = 'John'"). </li>
<li class="li">View constrains results to a specific view. </li>
<li class="li">Sort direction options are Ascending or
Descending.</li>
<li class="li">Page size maximum is 100. Use the offset value
from the response to fetch the next page of
results. </li>
<li class="li">Return fields by field ID determines whether to
use field names or field IDs in the output.</li>
</ul>
</div>
</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d89e563" style="text-align:left;vertical-align:top;">Output</td>
<td class="entry cellrowborder" headers="d89e565" style="text-align:left;vertical-align:top;">Array of records with ok status, baseId, tableId,
tableName, records (each with ID, createdTime, and fields),
and pagination offset.</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title9" class="topic nested2" id="topic_mjr_j4q_jjc">
<h3 class="title topictitle3" id="ariaid-title9">Looking up comments</h3>
<div class="body">
<p class="p">Use the <em class="ph i">Lookup comments</em> action to retrieve all comments on an Airtable
record.</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="d89e677" style="text-align:left;vertical-align:top;"> </th>
<th class="entry cellrowborder" id="d89e679" style="text-align:left;vertical-align:top;">Variables</th>
</tr>
</thead>
<tbody class="tbody">
<tr class="row">
<td class="entry cellrowborder" headers="d89e677" style="text-align:left;vertical-align:top;">Inputs</td>
<td class="entry cellrowborder" headers="d89e679" style="text-align:left;vertical-align:top;">Required: <code class="ph codeph">Base ID</code>, <code class="ph codeph">Table
name</code>, <code class="ph codeph">Record ID</code><p class="p">Optional:
<code class="ph codeph">Page size</code>,
<code class="ph codeph">Offset</code></p>
<p class="p">Page size controls how
many comments to return per request (1-100, default:
100). Use the offset value from the response to fetch
the next page of comments. An empty offset string
indicates no more pages are available.</p>
</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d89e677" style="text-align:left;vertical-align:top;">Output</td>
<td class="entry cellrowborder" headers="d89e679" style="text-align:left;vertical-align:top;">Comments array with ok status, baseId, tableName,
recordId, comments (each with id, text, createdTime,
lastUpdatedTime, and author details), and pagination
offset.</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title10" class="topic nested2" id="topic_wfm_m4q_jjc">
<h3 class="title topictitle3" id="ariaid-title10">Batch creating records</h3>
<div class="body">
<p class="p">Use the <em class="ph i">Batch create records</em> action to create multiple records at once in
an Airtable table.</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="d89e757" style="text-align:left;vertical-align:top;"> </th>
<th class="entry cellrowborder" id="d89e759" style="text-align:left;vertical-align:top;">Variables</th>
</tr>
</thead>
<tbody class="tbody">
<tr class="row">
<td class="entry cellrowborder" headers="d89e757" style="text-align:left;vertical-align:top;">Inputs</td>
<td class="entry cellrowborder" headers="d89e759" style="text-align:left;vertical-align:top;">Required: <code class="ph codeph">Base ID</code>, <code class="ph codeph">Table
name</code>, <code class="ph codeph">Records</code><p class="p">Format
multiple records as "FieldName: Value, Field2: Value2"
and separate each record with "---" (three dashes).
Example: "Name: John Doe, Status: Active\n---\nName:
Jane Smith, Status: Done". This is useful for bulk data
import operations.</p>
</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d89e757" style="text-align:left;vertical-align:top;">Output</td>
<td class="entry cellrowborder" headers="d89e759" style="text-align:left;vertical-align:top;">Records array with ok status, baseId, tableName, and
array of created records (each with id and
createdTime)</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title11" class="topic nested2" id="topic_vmr_lkz_jjc">
<h3 class="title topictitle3" id="ariaid-title11">Batch deleting records</h3>
<div class="body">
<div class="p">Use the <em class="ph i">Batch delete records</em> action to delete multiple records at once
from an Airtable table. This action is useful for bulk cleanup operations. <div class="note important" id="topic_vmr_lkz_jjc__note_qxb_qv3_ljc">
<span class="importanttitle">Important:</span> This action permanently deletes all
specified records and cannot be undone. Use with caution.</div>
</div>
<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="d89e832" style="text-align:left;vertical-align:top;"> </th>
<th class="entry cellrowborder" id="d89e834" style="text-align:left;vertical-align:top;">Variables</th>
</tr>
</thead>
<tbody class="tbody">
<tr class="row">
<td class="entry cellrowborder" headers="d89e832" style="text-align:left;vertical-align:top;">Inputs</td>
<td class="entry cellrowborder" headers="d89e834" style="text-align:left;vertical-align:top;">Required: <code class="ph codeph">Base ID</code>, <code class="ph codeph">Table
name</code>, <code class="ph codeph">Record IDs</code><p class="p">Record IDs
can be provided comma-separated or one per line (e.g.,
"recAbCd123, recEfGh456, recIjKl789").</p>
</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d89e832" style="text-align:left;vertical-align:top;">Output</td>
<td class="entry cellrowborder" headers="d89e834" style="text-align:left;vertical-align:top;">Records array with ok status, baseId, tableName, and
array of records (each with id and deleted
confirmation)</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title12" class="topic nested2" id="topic_lqp_skz_jjc">
<h3 class="title topictitle3" id="ariaid-title12">Adding a comment to a record</h3>
<div class="body">
<p class="p">Use the <em class="ph i">Add comment to record</em> action to post a comment on an Airtable
record. Comments are visible to all collaborators with access to the record. Use
this action to add notes, updates, or context to records from your Zendesk
workflows.</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="d89e905" style="text-align:left;vertical-align:top;"> </th>
<th class="entry cellrowborder" id="d89e907" style="text-align:left;vertical-align:top;">Variables</th>
</tr>
</thead>
<tbody class="tbody">
<tr class="row">
<td class="entry cellrowborder" headers="d89e905" style="text-align:left;vertical-align:top;">Inputs</td>
<td class="entry cellrowborder" headers="d89e907" style="text-align:left;vertical-align:top;">
<p class="p">Required: <code class="ph codeph">Base ID</code>, <code class="ph codeph">Table name or
ID</code>, <code class="ph codeph">Record ID</code>,
<code class="ph codeph">Comment text</code></p>
</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d89e905" style="text-align:left;vertical-align:top;">Output</td>
<td class="entry cellrowborder" headers="d89e907" style="text-align:left;vertical-align:top;">Comment details including ok status, baseId,
tableIdOrName, recordId, and comment object (with id, text,
createdTime, and author details including id, email, and
name).</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title13" class="topic nested2" id="topic_lvn_1nz_jjc">
<h3 class="title topictitle3" id="ariaid-title13">Looking up a table schema</h3>
<div class="body">
<p class="p">Use the <em class="ph i">Lookup table schema</em> action to retrieve the schema and field
definitions for an Airtable table. Use this action to discover the structure of
a table, including all available fields and their types. This is particularly
useful when building dynamic workflows that need to adapt to different table
structures. The tableId from this response can be used for more reliable table
references in other actions.</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="d89e983" style="text-align:left;vertical-align:top;"> </th>
<th class="entry cellrowborder" id="d89e985" style="text-align:left;vertical-align:top;">Variables</th>
</tr>
</thead>
<tbody class="tbody">
<tr class="row">
<td class="entry cellrowborder" headers="d89e983" style="text-align:left;vertical-align:top;">Inputs</td>
<td class="entry cellrowborder" headers="d89e985" style="text-align:left;vertical-align:top;">
<p class="p">Required: <code class="ph codeph">Base ID</code>, <code class="ph codeph">Table ID or
name</code></p>
</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d89e983" style="text-align:left;vertical-align:top;">Output</td>
<td class="entry cellrowborder" headers="d89e985" style="text-align:left;vertical-align:top;">Table schema including ok status, baseId, tableId,
tableName, and table object (with id, name, primaryFieldId,
description, fields array with id/name/type/description, and
views array with id/name/type).</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/10850546840090-Using-Airtable-actions-in-action-flows",
"url": "https://support.zendesk.com/hc/en-us/articles/10850546840090-Using-Airtable-actions-in-action-flows",
"headline": "Using Airtable actions in action flows",
"description": "You can connect Airtable to an action builder to automate workflows by creating, updating, deleting, and retrieving records and comments within Airtable tables using external actions.",
"articleSection": "Action builder and action flows",
"datePublished": "2026-06-01T18:15:11+00:00",
"dateModified": "2026-06-18T21:07:09.513900+00:00",
"inLanguage": "en-US",
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "https://support.zendesk.com/hc/en-us/articles/10850546840090-Using-Airtable-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>