← All guides

Guide

Connect Airtable to Hermes Agent or OpenClaw with Composio

Read the structure of an existing base, find the right record, and review a specific change before your agent writes to Airtable.

Start with one existing record

Airtable often holds the operational details that a chat assistant needs: a content calendar, a customer follow-up queue, or a project tracker. A useful first job is to find an overdue item and draft its next update. Hermes Agent can read the base through Composio, explain the matching record, and prepare a change. OpenClaw can use the same hosted connection and workflow.

Choose a base and table you already understand. For example, find one content-calendar item by its stable external reference, then propose changing its Status from “Draft” to “Ready for review.” Leave table creation, field changes, and bulk cleanup for separate tasks.

Connect Airtable in the hosted dashboard

  1. Open Dashboard → Integrations and search for Airtable. Its toolkit slug is airtable.
  2. Select Connect and follow the live authentication form. If it opens OAuth, authorize the intended account and bases. If it requests a credential, supply an Airtable personal access token through that form.
  3. Review the requested access before completing authorization. Do not paste tokens into an agent conversation.
  4. Wait for Connected, then ask for a read-only base list. Confirm the expected base before reading records or allowing writes.

The hosted steps are identical for Hermes Agent and OpenClaw. The Composio Airtable reference lists managed OAuth2 and API_KEY authentication. Here, API_KEY means a Personal Access Token (PAT), beginning with pat; Airtable retired legacy API keys.

For a PAT used in this walkthrough, select schema.bases:read and data.records:read, plus access to the intended base. Add data.records:write when you need approved record changes. Scopes, base resources, and your account’s permissions all matter. OAuth may request a broader default set; read its consent screen rather than assuming it grants only those scopes. See Airtable’s scope reference.

Discover tools, then read their current schemas

composio connections
composio search airtable list bases
composio search airtable list records

Use discovery to check the available actions and required arguments in your runtime. The following slugs are listed in Composio’s toolkit; do not invent parameters from their names.

ToolUse in this workflow
AIRTABLE_LIST_BASESIdentify the accessible base and its ID.
AIRTABLE_GET_BASE_SCHEMAInspect tables, fields, and field types.
AIRTABLE_LIST_RECORDSFind candidate rows in the chosen table.
AIRTABLE_GET_RECORDRead one record again before and after a change.
AIRTABLE_UPDATE_RECORDApply an approved change to an existing record.
AIRTABLE_CREATE_RECORDSCreate approved rows only after checking for duplicates.

Inspect, preview, approve, and verify

Use my connected Airtable account. List accessible bases, then inspect the schema of the Content Operations base. Show the table IDs and the fields in Content Calendar. Read records matching external reference CONTENT-104. Return their record IDs and current Status. Make no changes.

Confirm that the agent found exactly one intended row. Schema inspection helps distinguish editable fields from calculated fields and shows what values a select field expects. A display name can change; keep the returned base, table, and record IDs as the workflow’s anchors.

Prepare a change for that one record ID: set Status to Ready for review. Show the existing value and proposed value first. Do not change any other fields or create a record. Wait for my approval.

After reviewing the preview, authorize that specific update. Ask the agent to fetch the same record again and report the stored result. If a request times out, read the record before retrying: the write may already have succeeded. Keep returned IDs so follow-up work updates the existing row instead of creating a duplicate.

Handle pages, empty values, and provider limits

Airtable returns at most 100 records per page. Copy the returned offset unchanged for the next request until it is absent; it is an opaque cursor, not a row number. Otherwise, label the result as partial. Empty-valued fields may be omitted from record responses; use the base schema to identify fields rather than treating an absent key as a missing column.

Airtable’s limits include five requests per second per base and a separate PAT traffic limit. For a rate-limit 429, pause for 30 seconds and retry with backoff. Persistent 429s can indicate a monthly workspace allowance instead. Reduce repeated full-table reads and check the workspace containing the actual base.

  • Base missing: check the account, OAuth base grant or PAT resources, scopes, and organization API policy.
  • Read works but update fails: check write scope, collaborator permissions, field type, and whether the target field is editable.
  • Too many matches: stop and refine the business identifier; do not update the first row arbitrarily.
  • Unexpected counts: inspect pagination and filters before concluding that records were deleted.

Self-hosted: configure Hermes and OpenClaw separately

For an agent you run yourself, connect the app in your own Composio project. Create a single-toolkit MCP configuration with its auth configuration and the tools your workflow needs. Generate the complete MCP URL for the same user ID that owns the ACTIVE connection. A hosted Launch connection does not automatically carry over to your own project.

Composio: single-toolkit MCP setup

Replace the URL placeholder with the generated address. The x-api-key header uses your own Composio project key, not an Airtable or HubSpot token. Set COMPOSIO_API_KEY in the agent process environment and keep the key and MCP URL private. Merge the server entry into your existing file, preserving other settings.

Hermes Agent

Set the environment variable in ~/.hermes/.env and add the server under mcp_servers in ~/.hermes/config.yaml:

mcp_servers:
  composio:
    url: "YOUR_GENERATED_PLATFORM_MCP_URL"
    headers:
      x-api-key: "${COMPOSIO_API_KEY}"

Run hermes mcp test composio to check the connection, then start a new session or use /reload-mcp in the CLI.

Hermes upstream MCP configuration

OpenClaw

Use an OpenClaw release with the native mcp commands. Add the server under mcp.servers in ~/.openclaw/openclaw.json:

{
  "mcp": {
    "servers": {
      "composio": {
        "url": "YOUR_GENERATED_PLATFORM_MCP_URL",
        "transport": "streamable-http",
        "headers": {
          "x-api-key": "${COMPOSIO_API_KEY}"
        }
      }
    }
  }
}

Ensure the Gateway process receives COMPOSIO_API_KEY; restart that service after changing its environment. Run openclaw mcp doctor composio --probe and begin a new session. Upgrade first if your version lacks these commands, rather than adding unsupported fields to a strictly validated configuration.

OpenClaw upstream MCP commands · HTTP transport configuration

Successful MCP discovery proves that the tool server is reachable. Finish with this guide’s read-only request to verify the app account and data access. The composio shell commands above are supplied by Launch’s hosted skill; a standalone MCP setup uses each framework’s MCP client.

Frequently asked questions

Does Airtable through Composio work with Hermes Agent?

Yes. Hosted Hermes Agent and OpenClaw use the same Dashboard → Integrations connection flow. Self-hosted agents can connect through Composio MCP using their own framework configuration.

Should I connect with OAuth or a personal access token?

Follow the authentication option shown by the live connection form. Composio supports managed OAuth2 and API_KEY authentication for Airtable; the latter uses a personal access token, not a retired Airtable API key. Review OAuth consent, or select PAT scopes and base access yourself.

Why are my Airtable bases missing after connection?

Check the connected account, the bases granted during OAuth or PAT creation, schema.bases:read, and your collaborator permissions. An organization’s API access restrictions can also hide bases. Reconnect or ask the Airtable administrator to review access.

Does connecting Airtable remove pricing or API limits?

No. Hosting, model usage, Composio usage, and Airtable workspace allowances remain separate. Review the current plans for the services you use. Airtable applies provider rate limits and plan-dependent monthly API allowances, including requests made by integrations.

How do I avoid duplicate Airtable records?

Read the target table first and match a stable business identifier. Update the existing record by its returned record ID. Create only when no match exists and you approve the new row; keep the returned ID and verify the result before retrying.

Related guides

Connect your existing Airtable base

Use a hosted Hermes Agent or OpenClaw instance to verify Airtable access, then review your first record update.

Open Integrations