Skip to content

Ticketing · Beta

Airtable
API integration

Ship Ticketing features without building the integration. Full Airtable API access via Proxy, normalized data through Unified APIs, and 50+ MCP-ready tools for AI agents — all extensible to your exact use case.

Built for specific customer use cases. Issues are resolved quickly.

Talk to us
Airtable

Use Cases

Why integrate with Airtable

Common scenarios for SaaS companies building Airtable integrations for their customers.

01

Sync escalated support tickets into Airtable-based ops workflows

Helpdesk and support SaaS platforms can let their users push escalated tickets directly into their operations team's Airtable bases, then register webhooks to detect status changes in Airtable and automatically close or update tickets upstream — keeping both systems in sync without manual copy-paste.

02

Push product feedback and feature requests into custom roadmap bases

Product feedback tools can create records in a customer's Airtable roadmap table when feature requests hit a threshold, and continuously update fields like upvote count or priority, giving product managers a live view in the tool they already use daily.

03

Append automated context and logs to Airtable ticket threads

Error tracking, testing, and monitoring SaaS products can post structured comments on existing Airtable records — such as stack traces, test results, or customer replies — keeping all context threaded on the ticket without creating duplicates.

04

Read Airtable records to power external-facing views in your SaaS

Customer portal, status page, or project visibility tools can pull records from their users' Airtable bases and render them natively in their own UI, turning Airtable into a flexible backend that non-technical teams already know how to manage.

05

Automate user and collaborator provisioning across Airtable workspaces

Identity management and onboarding SaaS platforms can programmatically add or remove collaborators from Airtable bases and workspaces as part of employee lifecycle workflows, ensuring access stays in sync with HR systems.

What You Can Build

Ship these features with Truto + Airtable

Concrete product features your team can ship faster by leveraging Truto’s Airtable integration instead of building from scratch.

01

Dynamic base and table field mapper

Let your end users browse their Airtable bases and tables via list_all_airtable_bases and list_all_airtable_tables, then map your product's data fields to their custom Airtable columns — no hardcoded schemas required.

02

Two-way ticket status sync via webhooks

Register webhooks on an Airtable base with create_a_airtable_webhook and consume payloads via list_all_airtable_webhook_payloads to detect record changes in real time, enabling bidirectional status synchronization between your app and Airtable.

03

Automated ticket creation with deduplication

Use create_a_airtable_record to push new tickets into Airtable, and create_a_airtable_comment to append subsequent updates to existing records instead of creating duplicates, keeping your users' bases clean.

04

Contextual comment threading on Airtable records

Push system-generated logs, customer replies, or error traces directly into an Airtable record's comment thread using create_a_airtable_comment and list_all_airtable_comments, so operations teams never lose context.

05

Collaborator lifecycle management

Automate provisioning and de-provisioning of Airtable base and workspace collaborators using create_a_airtable_base_collaborator, delete_a_airtable_base_collaborator_by_id, and the workspace collaborator endpoints as part of onboarding or offboarding flows.

06

Unified ticket and user search across Airtable

Leverage Truto's Unified Ticketing API to list tickets, comments, and collections, and the Unified User Directory API to query users and groups — abstracting away Airtable-specific record structures behind a consistent data model.

SuperAI

Airtable AI agent tools

Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.

list_all_airtable_bases

List bases accessible by the token in Airtable. Returns base id, name, and permissionLevel fields for each base. Supports pagination with optional offset parameter.

create_a_airtable_base

Create a new base in Airtable with name, workspaceId, and tables. Returns base id and tables array representing the schema of the created base. Requires at least one table and field with unique names.

create_a_airtable_table

Create a new table in Airtable base using base_id. Requires name and fields. Returns the schema of the created table including id, name, description, and fields.

update_a_airtable_table_by_id

Update a table's name, description, or date dependency settings in Airtable. Requires base_id and id. Returns updated table with id, name, description, primaryFieldId, fields, and views.

list_all_airtable_tables

Get schema of tables for base with id in Airtable. Returns an array of table models including table structure and metadata.

list_all_airtable_records

List records in a table in Airtable using base_id and table_id_or_name. Returns records array with id, createdTime, fields (cell values keyed by field name or ID), and optional commentCount if requested. Pagination supported via offset.

get_single_airtable_record_by_id

Get a single record by base_id, table_id_or_name, and id in Airtable. Returns record id, createdTime timestamp, and fields with cell values keyed by field name or field id.

create_a_airtable_record

Create multiple records in Airtable with base_id and table_id_or_name. Returns an array of records with id, createdTime, and fields containing cell values keyed by field name or field ID.

update_a_airtable_record_by_id

Update a single record by id in Airtable using base_id and table_id_or_name. Returns updated record id, createdTime timestamp, and fields with cell values keyed by field name or id.

delete_a_airtable_record_by_id

Delete a single record by base_id, table_id_or_name, and id in Airtable. Returns the record id and a deleted flag indicating successful deletion.

update_a_airtable_field_by_id

Update a field's name and/or description in Airtable using base_id, table_id, and id. Returns id, name, type, description, and options of the updated field. At least one of name or description must be specified.

create_a_airtable_field

Create a new field in Airtable for base_id and table_id. Returns the created field's id, name, type, description, and options.

list_all_airtable_comments

Get a list of comments for a record in Airtable using base_id, table_id_or_name, and record_id. Returns comment id, createdTime, lastUpdatedTime, text, parentCommentId, author info, mentioned users, and reactions.

get_single_airtable_comment_by_id

Retrieves detailed information about a specific comment on a record in Airtable using the comment’s ID.

create_a_airtable_comment

Create a comment on a record in Airtable with base_id, table_id_or_name, and record_id. Returns id, createdTime, lastUpdatedTime, text, author info, optional parentCommentId, mentioned users, and reactions.

delete_a_airtable_comment_by_id

Delete a comment by id from a record identified by base_id, table_id_or_name, and record_id in Airtable. Returns id and deleted status indicating if the comment was deleted.

update_a_airtable_comment_by_id

Update a comment on a record in Airtable using base_id, table_id_or_name, record_id, and id. Returns the updated comment's id, createdTime, lastUpdatedTime, text, parentCommentId, mentioned users, reactions, and author details.

list_all_airtable_audit_logs

Get audit log events for an enterprise in Airtable using enterprise_account_id. Returns events array with id, timestamp, action, actor, modelId, modelType, payload, payloadVersion, context, and origin details. Events are newest to oldest.

get_single_airtable_user_by_id

Get user information by id in Airtable. Requires enterprise_account_id and id. Returns basic information relevant to both internal and external users including user role and billing plan details.

delete_a_airtable_user_by_id

Delete user by id in Airtable for the specified enterprise_account_id and id. Returns an empty response on success. Note: Cannot delete sole owner if other collaborators exist, cannot delete external or non-managed users, and cannot perform action on self.

update_a_airtable_user_by_id

Update a managed user in Airtable by enterprise_account_id and id. Returns empty response on success. Can change state, email, firstName, and lastName with restrictions on state changes and email domains.

get_single_airtable_user_group_by_id

Get basic information about a specific user group in Airtable by id. Returns fields id, createdTime, enterpriseAccountId, updatedTime, name, members (userId, email, firstName, lastName, role), and optionally collaborations if requested and authorized.

get_single_airtable_enterprise_account_by_id

Get basic information about an enterprise account in Airtable using id. Returns fields including aggregated and descendants if specified in the include query parameter.

list_all_airtable_webhooks

List all webhooks registered for a base in Airtable using base_id. Returns webhook id, enabled status, notification settings, last notification time, notification URL, expiration time, last notification result, and specification.

create_a_airtable_webhook

Create a webhook in Airtable for the base specified by base_id. Returns id (webhook identifier), macSecretBase64 (MAC secret for authentication), and expirationTime (ISO format expiration time or null if no expiration).

delete_a_airtable_webhook_by_id

Delete a webhook by base_id and id in Airtable. Returns an empty response on success. Requires creator level permissions and webhook:manage scope.

airtable_webhooks_refresh

Refresh a webhook with base_id and id to extend its expiration time by 7 days in Airtable. Returns the new expirationTime in ISO format.

list_all_airtable_webhook_payloads

List webhook payloads for base_id and id in Airtable. Returns payloads array with webhook update messages, cursor indicating next payload transaction number, and mightHaveMore flag for additional payloads. Calling extends webhook life by 7 days.

airtable_webhook_notifications_enable_disable

Enable or disable webhook notifications in Airtable. Requires base_id and id. The request body must include the boolean field 'enable'. Returns an empty response on success.

list_all_airtable_views

List views for a base in Airtable using base_id. Returns id, type, name, personalForUserId if personal, and visibleFieldIds for grid views when requested.

get_single_airtable_view_by_id

Get metadata for a specific view in Airtable by base_id and id. Returns id, type, name, personalForUserId if personal, and visibleFieldIds for grid views when requested.

delete_a_airtable_view_by_id

Delete a view by base_id and id in Airtable. Returns an empty response on success.

list_all_airtable_shares

List basic information of base shares in Airtable. Requires base_id. Returns fields including shareId (unique identifier), state (enabled or disabled), createdByUserId (user who created the share), createdTime (ISO timestamp), type (base, view, or blockInstallation), isPasswordProtected, and email domain restrictions.

delete_a_airtable_share_by_id

Delete a share by base_id and id in Airtable. Hard deleted share is not recoverable. Returns an empty response on success.

update_a_airtable_share_by_id

Manage share state for a specific share in Airtable by base_id and id. The response is empty on success. When enabling a share, sharing restrictions apply.

list_all_airtable_base_collaborators

Get base collaborators for base with id in Airtable. Returns active collaborators and outstanding invites. Response includes collaborator id, email, name, and role fields.

create_a_airtable_base_collaborator

Add a new base collaborator to a base in Airtable using baseId. Returns an empty response on success. Only one collaborator can be added at a time.

delete_a_airtable_base_collaborator_by_id

Delete a base collaborator by base_id and id in Airtable. Returns an empty response on success.

get_single_airtable_workspace_collaborator_by_id

Get workspace collaborators for workspace_id in Airtable. Returns individual collaborators explicitly added to the workspace. Response includes id, createdTime, name, workspaceRestrictions, individualCollaborators, and groupCollaborators.

create_a_airtable_workspace_collaborator

Add a new workspace collaborator in Airtable by workspace_id. Supports adding one collaborator at a time. Returns empty response on success. Key limitations: only one collaborator per request, user must be verified, groups cannot be owners.

delete_a_airtable_workspace_collaborator_by_id

Delete a workspace collaborator by workspace_id and id in Airtable. Returns an empty response on success. Note: Cannot remove the sole owner of a workspace.

update_a_airtable_workspace_collaborator_by_id

Update workspace collaborator permission level in Airtable. Requires workspace_id and id. Returns empty response on success. Errors include invalid permissions for groups, non-collaborators, and sole owner restrictions.

get_single_airtable_interface_collaborator_by_id

Get general information about a specific interface in Airtable using base_id and id. Returns id, baseId, createdTime, name, permissionLevel, groupCollaborators, individualCollaborators, and inviteLinks.

create_a_airtable_interface_collaborator

Add a collaborator to an interface in Airtable using base_id and page_bundle_id. Supports adding one collaborator at a time. Returns an empty response on success.

update_a_airtable_interface_collaborator_by_id

Update permissions for an interface collaborator in Airtable using base_id, page_bundle_id, and id. The response is empty on success.

delete_a_airtable_interface_collaborator_by_id

Delete an interface collaborator by base_id, page_bundle_id, and id in Airtable. Returns an empty response on success.

delete_a_airtable_base_invite_by_id

Delete a base invite in Airtable using base id and invite_id. The invite must be outstanding. Returns an empty response on success.

delete_a_airtable_interface_invite_by_id

Delete an outstanding interface invite in Airtable by base_id, page_bundle_id, and id. Returns an empty response on success. The invite must be outstanding.

delete_a_airtable_workspace_invite_by_id

Delete a workspace invite by workspace_id and id in Airtable. Returns an empty response on success. The invite must be outstanding to be deleted.

list_all_airtable_ediscovery_exports

List eDiscovery exports for enterprise_account_id in Airtable. Returns exports sorted newest to oldest with fields id, state, createdTime, user (id, email, name), request (baseId, includeCsvFormat, shouldSendEmailOnCompletion), error message if any, and data with download URLs and expirationTime.

get_single_airtable_ediscovery_export_by_id

Get status and result of an eDiscovery export in Airtable. Requires enterprise_account_id and id. Returns fields: state (pending, processing, error, done), error message if any, createdTime, user info (id, email, name), and export data including expirationTime, jsonDownloadUrl, and optional csvZipDownloadUrl.

create_a_airtable_ediscovery_export

Create an eDiscovery export for enterprise_account_id with baseId in Airtable. Returns id, state, createdTime, user info, and download URLs for JSON and optional CSV exports.

list_all_airtable_block_installations

List block installations for a base in Airtable using base_id. Returns id, state (enabled or disabled), createdByUserId, createdTime, blockId, and optional blockSlug for each installation.

delete_a_airtable_block_installation_by_id

Delete a block installation by base_id and id in Airtable. The deleted block installation is recoverable.

update_a_airtable_block_installation_by_id

Update the state of a block installation in Airtable by base_id and id. The state can be set to 'enabled' or 'disabled'. Returns an empty response on success.

list_all_airtable_change_events

Get change events for enterprise bases in Airtable using enterprise_account_id. Returns fields id, type, actor, eventTimestamp, objectId, objectType, timestamp, context, origin, and payload. Events available for 14 days and require change events enabled.

Why Truto

Why use Truto’s MCP server for Airtable

Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 650+ integrations.

01

Auto-generated, always up to date

Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.

02

Fine-grained access control

Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.

03

Multi-tenant by design

Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.

04

Works with every MCP client

Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.

05

Built-in auth, rate limits, and error handling

Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.

06

Expiring and auditable servers

Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.

Unified APIs

Unified APIs for Airtable

Skip writing code for every integration. Use Truto’s category-specific Unified APIs out of the box or customize the mappings with AI.

Unified User Directory API

Activities

Activities are the actions performed by users in the source application.

View Docs

Groups

Groups are a collection of users in the source application. In some applications, they might also be called Teams.

View Docs

Users

The User object represents a User.

View Docs

Unified Ticketing API

Collections

Tickets and contacts can be grouped into Collections. Collection resource usually maps to the various grouping systems used in the underlying product. Some examples are lists, projects, epics, etc. You can differentiate between these grouping systems using the type attribute of a Collection.

View Docs

Comments

Comments represent the communication happening on a Ticket, both between a User and a Contact and the internal things like notes, private comments, etc. A Ticket can have one or more Comments.

View Docs

Tickets

Core resource which represents some work that needs to be carried out. Tickets are usually mapped to issues, tasks, work items, etc. depending on the underlying product.

View Docs

Workspaces

Workspaces represent the top-level subdivision in a ticketing system. They usually have their own set of settings, tickets, statuses, priorities and users. Some of the usual terminologies used by the products for the top-level subdivision are projects, bases, spaces, workspace, etc. A Workspace could belong to an Organization.

View Docs

Unified Search API

Search

Search endpoint for all the apps.

View Docs

How It Works

From zero to integrated

Go live with Airtable in under an hour. No boilerplate, no maintenance burden.

01

Link your customer’s Airtable account

Use Truto’s frontend SDK to connect your customer’s Airtable account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.

02

We handle authentication

Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.

03

Call our API, we call Airtable

Truto’s Proxy API is a 1-to-1 mapping of the Airtable API. You call us, we call Airtable, and pass the response back in the same cycle.

04

Unified response format

Every response follows a single format across all integrations. We translate Airtable’s pagination into unified cursor-based pagination. Data is always in the result attribute.

FAQs

Common questions about Airtable on Truto

Authentication, rate limits, data freshness, and everything else you need to know before you integrate.

How does Truto handle authentication for Airtable?

Truto manages OAuth 2.0 flows for Airtable on your behalf. Your end users authorize their Airtable accounts through Truto's hosted auth flow, and Truto handles token storage, refresh, and revocation — you never touch raw credentials.

How do I handle Airtable's custom schemas when every base is different?

Use list_all_airtable_bases and list_all_airtable_tables to dynamically discover your end user's bases, tables, and fields at runtime. This lets you build a field mapping UI so users connect your product's data model to their specific Airtable columns without any hardcoding.

Can I get real-time updates from Airtable instead of polling?

Yes. You can register webhooks on a specific base using create_a_airtable_webhook, then retrieve change payloads with list_all_airtable_webhook_payloads. Truto also supports airtable_webhooks_refresh to keep webhook subscriptions active and airtable_webhook_notifications_enable_disable to control notification delivery.

What Unified APIs does Truto map Airtable to?

Airtable is mapped to Truto's Unified Ticketing API (Tickets, Comments, Collections, Workspaces), Unified User Directory API (Users, Groups, Activities), and Unified Search API. This means you can read and write Airtable data using the same endpoints you use for other ticketing and directory tools.

Does Truto handle pagination and rate limits for Airtable?

Yes. Truto abstracts away Airtable's cursor-based pagination and manages rate limit retries automatically, so you can list all records or comments without implementing backoff logic or page cursors in your own code.

Can I manage comments and record-level discussions through the API?

Absolutely. You can create, list, update, and delete comments on individual Airtable records using create_a_airtable_comment, list_all_airtable_comments, update_a_airtable_comment_by_id, and delete_a_airtable_comment_by_id — enabling contextual threading directly from your product.

Airtable

Get Airtable integrated into your app

Our team understands what it takes to make a Airtable integration successful. A short, crisp 30 minute call with folks who understand the problem.

Talk to us