{"id":3394,"date":"2026-02-01T21:22:38","date_gmt":"2026-02-01T21:22:38","guid":{"rendered":"https:\/\/formsbridge.codeccoop.org\/?page_id=3394"},"modified":"2026-02-14T09:20:34","modified_gmt":"2026-02-14T09:20:34","slug":"airtable","status":"publish","type":"page","link":"https:\/\/formsbridge.codeccoop.org\/documentation\/airtable\/","title":{"rendered":"Airtable"},"content":{"rendered":"\n<div class=\"wp-block-group alignfull has-accent-1-background-color has-background has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\">\n<div style=\"height:75px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-group alignwide has-global-padding is-content-justification-left is-layout-constrained wp-container-core-group-is-layout-df8dc8f7 wp-block-group-is-layout-constrained\" style=\"margin-top:var(--wp--preset--spacing--40);margin-bottom:var(--wp--preset--spacing--80)\">\n<div style=\"height:var(--wp--preset--spacing--50)\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"has-x-small-font-size wp-block-paragraph\" style=\"margin-top:0;margin-bottom:var(--wp--preset--spacing--10)\"><a href=\"https:\/\/formsbridge.codeccoop.org\/documentation\/#addons\" data-type=\"page\" data-id=\"322\">\u2190 Documentation<\/a><\/p>\n\n\n\n<h1 class=\"wp-block-heading\" style=\"margin-top:0\">Airtable<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Airtable<\/strong> is a cloud-based, flexible spreadsheet-database hybrid platform that lets users organize, collaborate on, and manage data in customizable tables with features like attachments, automation, and integrations.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The <strong>Airtable add-on<\/strong> allows you to seamlessly integrate WordPress form submissions directly to your Airtable tables, transforming how you manage and analyze form data.<\/p>\n\n\n\n<div class=\"wp-block-group has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\">\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img decoding=\"async\" width=\"1547\" height=\"884\" data-src=\"https:\/\/formsbridge.codeccoop.org\/wp-content\/uploads\/2026\/02\/airtable.webp\" alt=\"\" class=\"wp-image-3455 lazyload\" style=\"--smush-placeholder-width: 1547px; --smush-placeholder-aspect-ratio: 1547\/884;width:757px;height:auto\" data-srcset=\"https:\/\/formsbridge.codeccoop.org\/wp-content\/uploads\/2026\/02\/airtable.webp 1547w, https:\/\/formsbridge.codeccoop.org\/wp-content\/uploads\/2026\/02\/airtable-300x171.webp 300w, https:\/\/formsbridge.codeccoop.org\/wp-content\/uploads\/2026\/02\/airtable-1024x585.webp 1024w, https:\/\/formsbridge.codeccoop.org\/wp-content\/uploads\/2026\/02\/airtable-768x439.webp 768w, https:\/\/formsbridge.codeccoop.org\/wp-content\/uploads\/2026\/02\/airtable-1536x878.webp 1536w\" data-sizes=\"(max-width: 1547px) 100vw, 1547px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" \/><\/figure>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">The add-on<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The <a href=\"https:\/\/airtable.com\/developers\/web\/api\/introduction\" target=\"_blank\" rel=\"noreferrer noopener\">Airtable API<\/a> can be used to integrate your data in Airtable with any external system. The API closely follows REST semantics, uses JSON to encode objects, and relies on standard HTTP codes to signal operation outcomes. To talk with this API, the add-on implements a custom bridge class based on the generic REST bridge that requires Bearer credentials.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">An <strong>Airtable bridge<\/strong> will store your form submissions as entries in your Aritable spreadsheets. Each field of your forms will be translated to a table column, and every form submission inserted as a new row of the table.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In addition, the add-on comes with a bridge template to create dynamic forms based on your tables.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How to use<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The first step to use the add-on is to activate it in the add-ons table in the general settings tab.<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6a26fdf6d35bb&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6a26fdf6d35bb\" class=\"wp-block-image size-large wp-lightbox-container\"><img decoding=\"async\" width=\"1024\" height=\"494\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" data-src=\"https:\/\/formsbridge.codeccoop.org\/wp-content\/uploads\/2026\/02\/imatge-1024x494.png\" alt=\"Screenshot of the add-on panel on the general settings tab with the Airtable add-on activated\" class=\"wp-image-3407 lazyload\" data-srcset=\"https:\/\/formsbridge.codeccoop.org\/wp-content\/uploads\/2026\/02\/imatge-1024x494.png 1024w, https:\/\/formsbridge.codeccoop.org\/wp-content\/uploads\/2026\/02\/imatge-300x145.png 300w, https:\/\/formsbridge.codeccoop.org\/wp-content\/uploads\/2026\/02\/imatge-768x371.png 768w, https:\/\/formsbridge.codeccoop.org\/wp-content\/uploads\/2026\/02\/imatge-1536x742.png 1536w, https:\/\/formsbridge.codeccoop.org\/wp-content\/uploads\/2026\/02\/imatge.png 1920w\" data-sizes=\"(max-width: 1024px) 100vw, 1024px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1024px; --smush-placeholder-aspect-ratio: 1024\/494;\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Once activated, a new tab named <strong>Airtable<\/strong> will be visible in the settings page. If it&#8217;s your first time, it should looks like this:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"494\" data-src=\"https:\/\/formsbridge.codeccoop.org\/wp-content\/uploads\/2026\/02\/imatge-1-1024x494.png\" alt=\"Airtable tab out of the box without bridge configurations.\" class=\"wp-image-3410 lazyload\" data-srcset=\"https:\/\/formsbridge.codeccoop.org\/wp-content\/uploads\/2026\/02\/imatge-1-1024x494.png 1024w, https:\/\/formsbridge.codeccoop.org\/wp-content\/uploads\/2026\/02\/imatge-1-300x145.png 300w, https:\/\/formsbridge.codeccoop.org\/wp-content\/uploads\/2026\/02\/imatge-1-768x371.png 768w, https:\/\/formsbridge.codeccoop.org\/wp-content\/uploads\/2026\/02\/imatge-1-1536x742.png 1536w, https:\/\/formsbridge.codeccoop.org\/wp-content\/uploads\/2026\/02\/imatge-1.png 1920w\" data-sizes=\"(max-width: 1024px) 100vw, 1024px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1024px; --smush-placeholder-aspect-ratio: 1024\/494;\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">The template wizard<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The recommended way to set up a new bridge is to use the template as a starter point. The add-on&#8217;s template wizard will set up a new Bearer credential, a backend connection and a form, all of them linked with a new bridge.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">With this setup ready, you can edit the bridge&#8217;s form to fit your requirements or manually add new forms and bridge them with the backend \/ credential you&#8217;ve configured on the previous step.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The template wizard will lead you through four steps:<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">1. Credential<\/h4>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6a26fdf6d3e53&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6a26fdf6d3e53\" class=\"wp-block-image size-large wp-lightbox-container\"><img decoding=\"async\" width=\"1024\" height=\"494\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" data-src=\"https:\/\/formsbridge.codeccoop.org\/wp-content\/uploads\/2026\/02\/imatge-2-1024x494.png\" alt=\"Screenshot of the credential step of the add-on's template wizard. The form has name and the access token fields.\" class=\"wp-image-3413 lazyload\" data-srcset=\"https:\/\/formsbridge.codeccoop.org\/wp-content\/uploads\/2026\/02\/imatge-2-1024x494.png 1024w, https:\/\/formsbridge.codeccoop.org\/wp-content\/uploads\/2026\/02\/imatge-2-300x145.png 300w, https:\/\/formsbridge.codeccoop.org\/wp-content\/uploads\/2026\/02\/imatge-2-768x371.png 768w, https:\/\/formsbridge.codeccoop.org\/wp-content\/uploads\/2026\/02\/imatge-2-1536x742.png 1536w, https:\/\/formsbridge.codeccoop.org\/wp-content\/uploads\/2026\/02\/imatge-2.png 1920w\" data-sizes=\"(max-width: 1024px) 100vw, 1024px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1024px; --smush-placeholder-aspect-ratio: 1024\/494;\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">In this step, Forms Bridge will register a new Bearer credential. To set up this authentication, you have to register a new <a href=\"https:\/\/airtable.com\/developers\/web\/guides\/personal-access-tokens\" target=\"_blank\" rel=\"noreferrer noopener\">Personal Access Token<\/a> in the <a href=\"https:\/\/airtable.com\/create\/tokens\" target=\"_blank\" rel=\"noreferrer noopener\">Airtable Builder Hub<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">When registering the Personal Access Token you should grant the following scopes to the token:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>data.records:read<\/code><\/li>\n\n\n\n<li><code>data.records:write<\/code><\/li>\n\n\n\n<li><code>schema.bases:read<\/code><\/li>\n<\/ul>\n\n\n\n<div class=\"wp-block-group has-global-padding is-layout-constrained wp-container-core-group-is-layout-320e646c wp-block-group-is-layout-constrained\" style=\"border-left-color:var(--wp--preset--color--accent-3);border-left-width:4px;margin-bottom:var(--wp--preset--spacing--50);padding-top:var(--wp--preset--spacing--10);padding-bottom:var(--wp--preset--spacing--10);padding-left:var(--wp--preset--spacing--40)\">\n<p class=\"wp-block-paragraph\" style=\"margin-top:0;margin-bottom:0\">If you already have a Bearer credential registered, the template wizard allows you to reuse it. If you want to get multiple Airtable bridges, the recommended way to proceed is to register a Bearer credential and reuse it on your bridges.<\/p>\n<\/div>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6a26fdf6d47df&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6a26fdf6d47df\" class=\"wp-block-image size-large wp-lightbox-container\"><img decoding=\"async\" width=\"1024\" height=\"555\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" data-src=\"https:\/\/formsbridge.codeccoop.org\/wp-content\/uploads\/2026\/02\/imatge-3-1024x555.png\" alt=\"Screenshot of an Airtable Personal Access Token with all the required scopes granted.\" class=\"wp-image-3416 lazyload\" data-srcset=\"https:\/\/formsbridge.codeccoop.org\/wp-content\/uploads\/2026\/02\/imatge-3-1024x555.png 1024w, https:\/\/formsbridge.codeccoop.org\/wp-content\/uploads\/2026\/02\/imatge-3-300x163.png 300w, https:\/\/formsbridge.codeccoop.org\/wp-content\/uploads\/2026\/02\/imatge-3-768x416.png 768w, https:\/\/formsbridge.codeccoop.org\/wp-content\/uploads\/2026\/02\/imatge-3-1536x833.png 1536w, https:\/\/formsbridge.codeccoop.org\/wp-content\/uploads\/2026\/02\/imatge-3.png 1863w\" data-sizes=\"(max-width: 1024px) 100vw, 1024px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1024px; --smush-placeholder-aspect-ratio: 1024\/555;\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">2. Backend<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">The backend step only requires a unique name to identify the new backend connection. By default, it proposes <strong>Airtable API<\/strong> as its name, but you can rename it at will.<\/p>\n\n\n\n<div class=\"wp-block-group has-global-padding is-layout-constrained wp-container-core-group-is-layout-320e646c wp-block-group-is-layout-constrained\" style=\"border-left-color:var(--wp--preset--color--accent-3);border-left-width:4px;margin-bottom:var(--wp--preset--spacing--50);padding-top:var(--wp--preset--spacing--10);padding-bottom:var(--wp--preset--spacing--10);padding-left:var(--wp--preset--spacing--40)\">\n<p class=\"wp-block-paragraph\" style=\"margin-top:0;margin-bottom:0\">If you already have the Airtable API registered as a backend, the template wizard allows you to reuse it. If you want to get multiple Airtable bridges, the recommended way to proceed is to register the backend once and reuse it on your bridges.<\/p>\n<\/div>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6a26fdf6d4f3e&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6a26fdf6d4f3e\" class=\"wp-block-image size-large wp-lightbox-container\"><img decoding=\"async\" width=\"1024\" height=\"495\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" data-src=\"https:\/\/formsbridge.codeccoop.org\/wp-content\/uploads\/2026\/02\/imatge-4-1024x495.png\" alt=\"\" class=\"wp-image-3417 lazyload\" data-srcset=\"https:\/\/formsbridge.codeccoop.org\/wp-content\/uploads\/2026\/02\/imatge-4-1024x495.png 1024w, https:\/\/formsbridge.codeccoop.org\/wp-content\/uploads\/2026\/02\/imatge-4-300x145.png 300w, https:\/\/formsbridge.codeccoop.org\/wp-content\/uploads\/2026\/02\/imatge-4-768x371.png 768w, https:\/\/formsbridge.codeccoop.org\/wp-content\/uploads\/2026\/02\/imatge-4-1536x743.png 1536w, https:\/\/formsbridge.codeccoop.org\/wp-content\/uploads\/2026\/02\/imatge-4.png 1913w\" data-sizes=\"(max-width: 1024px) 100vw, 1024px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1024px; --smush-placeholder-aspect-ratio: 1024\/495;\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">3. Form<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">In this step you have to choose the title of the form the template are going to create. The add-on will create a new form with a dynamic set of fields based on the table you decide to integrate with.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">4. Bridge<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">In the last step of the wizard, you have to set a unique name for the new bridge and select the <strong>table<\/strong> you want your form to get bridged.<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6a26fdf6d5550&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6a26fdf6d5550\" class=\"wp-block-image size-large wp-lightbox-container\"><img decoding=\"async\" width=\"1024\" height=\"495\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" data-src=\"https:\/\/formsbridge.codeccoop.org\/wp-content\/uploads\/2026\/02\/imatge-5-1024x495.png\" alt=\"Screenshot of the bridge step of the add-on's template wizard with two fields: Bridge name and a selector with available Airtable tables\" class=\"wp-image-3420 lazyload\" data-srcset=\"https:\/\/formsbridge.codeccoop.org\/wp-content\/uploads\/2026\/02\/imatge-5-1024x495.png 1024w, https:\/\/formsbridge.codeccoop.org\/wp-content\/uploads\/2026\/02\/imatge-5-300x145.png 300w, https:\/\/formsbridge.codeccoop.org\/wp-content\/uploads\/2026\/02\/imatge-5-768x371.png 768w, https:\/\/formsbridge.codeccoop.org\/wp-content\/uploads\/2026\/02\/imatge-5-1536x743.png 1536w, https:\/\/formsbridge.codeccoop.org\/wp-content\/uploads\/2026\/02\/imatge-5.png 1913w\" data-sizes=\"(max-width: 1024px) 100vw, 1024px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1024px; --smush-placeholder-aspect-ratio: 1024\/495;\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">After that, click on <mark style=\"background-color:#43437a\" class=\"has-inline-color has-base-color\">submit<\/mark> and Forms Bridge will generate the credential, backend, form and bridge setting. <strong>It only remains to publish the new form on a public page and wait for a new form submission!<\/strong><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Manual set up<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">With templates, you can save a lot of time while configuring your bridges, but you can achieve the same result with a manual set up.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">An Airtable bridge will require the following components:<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">1. Credential<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">As mentioned before, the Airtable API works with Bearer tokens to grant access to its resources. To solve this authentication requirement, the add-on requires you to register a Bearer credential with the one of your <a href=\"https:\/\/airtable.com\/developers\/web\/guides\/personal-access-tokens\" target=\"_blank\" rel=\"noreferrer noopener\">Airtable Personal Access Tokens<\/a>. Go to the <a href=\"https:\/\/airtable.com\/create\/tokens\" target=\"_blank\" rel=\"noreferrer noopener\">Airtable Builder Hub<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">When registering the Personal Access Token you should grant the following scopes to the token:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>data.records:read<\/code><\/li>\n\n\n\n<li><code>data.records:write<\/code><\/li>\n\n\n\n<li><code>schema.bases:read<\/code><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Once you have the token, you have to go to <code>Settings &gt; Forms Bridge &gt; HTTP &gt; Authentication<\/code> and register a new authentication credential. Select <strong>Bearer<\/strong> as the authentication schema and put the token value as the <strong>Access token<\/strong> field.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">2. Backend<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">To configure the Airtable API as a backend, follow this steps:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Register a new backend with a unique name (<em>Airtable API<\/em>, for example), and a URL with <code>https:\/\/api.airtable.com<\/code> as value.<\/li>\n\n\n\n<li>Select <code>JSON<\/code> as the <strong>Encoding Schema<\/strong><\/li>\n\n\n\n<li>Select the Bearer credential you&#8217;ve configured on the previous step.<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">3. Form<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">The add-on supports any kind of form. Get your preferred form builder and create a new form. Once created, you can choose it as the target form to be bridged in the bridges panel of the add-on.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">4. Bridge<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">The add-on\u2019s bridge is an extension of the generic REST bridge. Because of this they looks so similar. Like the REST bridge, the add-on\u2019s bridge requires a unique name, a backend, a form, an endpoint and an HTTP method.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The endpoint of an Airtable bridge should be like <code>\/v0\/{baseId}\/{tableId}\/records<\/code>. The <strong>baseId<\/strong> and <strong>tableId<\/strong> can be extracted from the table URL. For example, in the URL <code>https:\/\/airtable.com\/app123456789\/tbl987654321\/viw000000000<\/code> the baseId is &#8220;app123456789&#8221; and the tableId is &#8220;tab987654321&#8221;.<\/p>\n\n\n\n<div class=\"wp-block-group has-global-padding is-layout-constrained wp-container-core-group-is-layout-7cdf1d71 wp-block-group-is-layout-constrained\" style=\"border-left-color:var(--wp--preset--color--accent-3);border-left-width:4px;margin-bottom:var(--wp--preset--spacing--40);padding-top:var(--wp--preset--spacing--10);padding-bottom:var(--wp--preset--spacing--10);padding-left:var(--wp--preset--spacing--40)\">\n<p class=\"wp-block-paragraph\" style=\"margin-top:0;margin-bottom:0\">The <strong>tableId<\/strong> parameter of the endpoint can be replaced by the table name.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group has-global-padding is-layout-constrained wp-container-core-group-is-layout-7cdf1d71 wp-block-group-is-layout-constrained\" style=\"border-left-color:var(--wp--preset--color--accent-3);border-left-width:4px;margin-bottom:var(--wp--preset--spacing--40);padding-top:var(--wp--preset--spacing--10);padding-bottom:var(--wp--preset--spacing--10);padding-left:var(--wp--preset--spacing--40)\">\n<p class=\"wp-block-paragraph\" style=\"margin-top:0;margin-bottom:0\">Despite the different methods available (GET, POST, PUT, DELETE, PATCH), the most common case is to use the POST as the bridge method to write new rows to your spreadsheets. The other available methods are useful for API introspection or to set up workflow automations, but are not designed to be used as the bridge method.<\/p>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Troubleshooting<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">To troubleshooting your bridges you can use the plugin&#8217;s debug console from the General Settings page. Enable the debug mode and submit a sample form response to see what&#8217;s going on under the hood.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Common issues<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Authentication failures<\/strong>\n<ul class=\"wp-block-list\">\n<li>Verify Personal Access Tokens<\/li>\n\n\n\n<li>Check scope permissions<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Missing data<\/strong>\n<ul class=\"wp-block-list\">\n<li>Verify column names<\/li>\n\n\n\n<li>Check field mapping<\/li>\n\n\n\n<li>Consider API quotas and potential costs<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\" style=\"margin-top:var(--wp--preset--spacing--50)\">Add-on templates<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The add-on comes packed with the following template:<\/p>\n\n\n<ul class=\"wp-block-list\"><li class='wpct-fb-modal__trigger' data-dialog-title='From table'><p><a href='\/bridge-template\/airtable-from-table\/'><b>From table <span style='font-size:0.9em'>\ud83d\udd0e<\/span><\/a><\/b><br\/>Create a bridge and a form based on an existing table<\/p><\/li><\/ul>\n\n\n\n<div style=\"height:var(--wp--preset--spacing--40)\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-group alignwide has-global-padding is-content-justification-left is-layout-constrained wp-container-core-group-is-layout-d525c45f wp-block-group-is-layout-constrained\">\n<h2 class=\"wp-block-heading\">Supported form builders<\/h2>\n\n\n\n<div class=\"wp-block-columns alignwide is-layout-flex wp-container-core-columns-is-layout-ffc72a0a wp-block-columns-is-layout-flex\" style=\"margin-top:var(--wp--preset--spacing--70);margin-bottom:var(--wp--preset--spacing--70)\">\n<div class=\"wp-block-column is-vertically-aligned-stretch flex justify-center is-layout-flow wp-block-column-is-layout-flow\">\n<div class=\"wp-block-group is-content-justification-center is-nowrap is-layout-flex wp-container-core-group-is-layout-2486140b wp-block-group-is-layout-flex\">\n<figure class=\"wp-block-image size-medium is-resized\"><a href=\"https:\/\/contactform7.com\/\" target=\"_blank\" rel=\" noreferrer noopener\"><img decoding=\"async\" width=\"300\" height=\"231\" data-src=\"https:\/\/formsbridge.codeccoop.org\/wp-content\/uploads\/2025\/04\/contactoform7-300x231.png\" alt=\"Contact Form 7\" class=\"wp-image-47 lazyload\" style=\"--smush-placeholder-width: 300px; --smush-placeholder-aspect-ratio: 300\/231;object-fit:contain;width:120px;height:90px\" data-srcset=\"https:\/\/formsbridge.codeccoop.org\/wp-content\/uploads\/2025\/04\/contactoform7-300x231.png 300w, https:\/\/formsbridge.codeccoop.org\/wp-content\/uploads\/2025\/04\/contactoform7.png 429w\" data-sizes=\"(max-width: 300px) 100vw, 300px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" \/><\/a><\/figure>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-vertically-aligned-stretch flex justify-center is-layout-flow wp-block-column-is-layout-flow\">\n<div class=\"wp-block-group is-vertical is-content-justification-center is-layout-flex wp-container-core-group-is-layout-53ed2625 wp-block-group-is-layout-flex\">\n<figure class=\"wp-block-image size-medium is-resized\"><a href=\"https:\/\/wpforms.com\/\" target=\"_blank\" rel=\" noreferrer noopener\"><img decoding=\"async\" width=\"300\" height=\"253\" data-src=\"https:\/\/formsbridge.codeccoop.org\/wp-content\/uploads\/2025\/04\/wpforms-300x253.png\" alt=\"WP Forms\" class=\"wp-image-98 lazyload\" style=\"--smush-placeholder-width: 300px; --smush-placeholder-aspect-ratio: 300\/253;object-fit:contain;width:120px;height:90px\" data-srcset=\"https:\/\/formsbridge.codeccoop.org\/wp-content\/uploads\/2025\/04\/wpforms-300x253.png 300w, https:\/\/formsbridge.codeccoop.org\/wp-content\/uploads\/2025\/04\/wpforms.png 758w\" data-sizes=\"(max-width: 300px) 100vw, 300px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" \/><\/a><\/figure>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-vertically-aligned-stretch flex justify-center is-layout-flow wp-block-column-is-layout-flow\">\n<div class=\"wp-block-group is-vertical is-content-justification-center is-layout-flex wp-container-core-group-is-layout-53ed2625 wp-block-group-is-layout-flex\">\n<figure class=\"wp-block-image size-medium is-resized\"><a href=\"https:\/\/www.gravityforms.com\/\" target=\"_blank\" rel=\" noreferrer noopener\"><img decoding=\"async\" width=\"300\" height=\"225\" data-src=\"https:\/\/formsbridge.codeccoop.org\/wp-content\/uploads\/2025\/04\/gravityforms-300x225.png\" alt=\"Gravity Forms\" class=\"wp-image-43 lazyload\" style=\"--smush-placeholder-width: 300px; --smush-placeholder-aspect-ratio: 300\/225;object-fit:contain;width:120px;height:90px\" data-srcset=\"https:\/\/formsbridge.codeccoop.org\/wp-content\/uploads\/2025\/04\/gravityforms-300x225.png 300w, https:\/\/formsbridge.codeccoop.org\/wp-content\/uploads\/2025\/04\/gravityforms-768x576.png 768w, https:\/\/formsbridge.codeccoop.org\/wp-content\/uploads\/2025\/04\/gravityforms.png 771w\" data-sizes=\"(max-width: 300px) 100vw, 300px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" \/><\/a><\/figure>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-vertically-aligned-stretch flex justify-center is-layout-flow wp-block-column-is-layout-flow\">\n<div class=\"wp-block-group is-vertical is-content-justification-center is-layout-flex wp-container-core-group-is-layout-53ed2625 wp-block-group-is-layout-flex\">\n<figure class=\"wp-block-image size-full is-resized\"><a href=\"https:\/\/ninjaforms.com\/\" target=\"_blank\" rel=\" noreferrer noopener\"><img decoding=\"async\" width=\"207\" height=\"162\" data-src=\"https:\/\/formsbridge.codeccoop.org\/wp-content\/uploads\/2025\/04\/ninjaforms.png\" alt=\"Ninja Forms\" class=\"wp-image-49 lazyload\" style=\"--smush-placeholder-width: 207px; --smush-placeholder-aspect-ratio: 207\/162;object-fit:contain;width:120px;height:90px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" \/><\/a><\/figure>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-vertically-aligned-stretch flex justify-center is-layout-flow wp-block-column-is-layout-flow\">\n<div class=\"wp-block-group is-vertical is-content-justification-center is-layout-flex wp-container-core-group-is-layout-53ed2625 wp-block-group-is-layout-flex\">\n<figure class=\"wp-block-image size-full is-resized\"><a href=\"https:\/\/woocommerce.com\/\" target=\"_blank\" rel=\" noreferrer noopener\"><img decoding=\"async\" width=\"1000\" height=\"511\" data-src=\"https:\/\/formsbridge.codeccoop.org\/wp-content\/uploads\/2025\/05\/Woo_logo_color.png\" alt=\"\" class=\"wp-image-1474 lazyload\" style=\"--smush-placeholder-width: 1000px; --smush-placeholder-aspect-ratio: 1000\/511;object-fit:contain;width:180px;height:90px\" data-srcset=\"https:\/\/formsbridge.codeccoop.org\/wp-content\/uploads\/2025\/05\/Woo_logo_color.png 1000w, https:\/\/formsbridge.codeccoop.org\/wp-content\/uploads\/2025\/05\/Woo_logo_color-300x153.png 300w, https:\/\/formsbridge.codeccoop.org\/wp-content\/uploads\/2025\/05\/Woo_logo_color-768x392.png 768w\" data-sizes=\"(max-width: 1000px) 100vw, 1000px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" \/><\/a><\/figure>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u2190 Documentation Airtable Airtable is a cloud-based, flexible spreadsheet-database hybrid platform that lets users organize, collaborate on, and manage data in customizable tables with features like attachments, automation, and integrations. The Airtable add-on allows you to seamlessly integrate WordPress form submissions directly to your Airtable tables, transforming how you manage and analyze form data. The [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":322,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-3394","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/formsbridge.codeccoop.org\/wp-json\/wp\/v2\/pages\/3394","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/formsbridge.codeccoop.org\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/formsbridge.codeccoop.org\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/formsbridge.codeccoop.org\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/formsbridge.codeccoop.org\/wp-json\/wp\/v2\/comments?post=3394"}],"version-history":[{"count":13,"href":"https:\/\/formsbridge.codeccoop.org\/wp-json\/wp\/v2\/pages\/3394\/revisions"}],"predecessor-version":[{"id":3518,"href":"https:\/\/formsbridge.codeccoop.org\/wp-json\/wp\/v2\/pages\/3394\/revisions\/3518"}],"up":[{"embeddable":true,"href":"https:\/\/formsbridge.codeccoop.org\/wp-json\/wp\/v2\/pages\/322"}],"wp:attachment":[{"href":"https:\/\/formsbridge.codeccoop.org\/wp-json\/wp\/v2\/media?parent=3394"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}