OutCallerAI LogoOutCallerAI

Airtable Integration

Import Airtable records into OutCallerAI use cases and write completed call outcomes back to Airtable.

Overview

Connect Airtable to import records from a base, table, or view into an OutCallerAI use case. Imported leads stay linked to their source record so repeated synchronizations do not create duplicates and completed call outcomes can be written back to Airtable.

Capabilities

  • Lead import: Import up to 1,000 records from a selected table or filtered view.
  • Field mapping: Map Airtable fields to lead name, phone, email, and description.
  • Duplicate prevention: Re-syncing updates the lead linked to the same Airtable record.
  • Call result sync: Write call status, summary, duration, recording URL, and completion time to fields you select.
  • Manual incremental sync: Run Save and sync records again whenever new rows are ready to call.

Prerequisites

  • An Airtable account with access to the base you want to connect.
  • An Airtable OAuth integration registered by your OutCallerAI administrator.
  • The OAuth integration must enable data.records:read, data.records:write, and schema.bases:read.
  • An OutCallerAI use case with an assigned agent.
  • Airtable fields containing a lead name and callable phone number.
  • Writable Airtable fields for any call results you want OutCallerAI to return.

Setup

  1. Open Integrations: Go to the Integrations Dashboard, select Airtable, and open Setup.
  2. Connect Airtable: Select Connect Airtable, sign in to Airtable, and authorize the requested scopes. Choose the bases or workspaces Airtable should share with OutCallerAI.
  3. Choose the source: Select the Airtable base, table, and optional view. A view is useful when only records in a queue such as “Ready to call” should be imported.
  4. Choose a use case: Select the OutCallerAI use case that should receive imported leads.
  5. Map lead fields: Map Lead name and Phone, which are required. Map Email and Description when available.
  6. Map call results: Keep result write-back enabled and choose the Airtable fields that should receive status, summary, duration, recording URL, and completion time. Leave fields unmapped when you do not want them updated.
  7. Preview and sync: Preview a sample to verify the mapping, then select Save and sync records.

How it works

OutCallerAI reads records using stable Airtable field IDs, so renaming a mapped field does not break the saved mapping. Each imported lead stores the source base, table, and record ID. A later sync updates that lead instead of creating another one.

After a call completes, OutCallerAI updates only the Airtable fields explicitly selected in the call-result mapping. Other columns remain unchanged. Airtable remains the source of truth for the source record while OutCallerAI owns calling and call execution.

Verify the integration

Create a test row with a unique phone number, preview it, and run Save and sync records. Confirm the lead appears in the selected use case. Complete a test call, then confirm the mapped result fields were updated on the same Airtable row. Edit the source row and sync again to verify that the existing lead is updated rather than duplicated.

Troubleshooting

  • If no bases appear, confirm the OAuth grant includes the required scopes and the expected base was selected in Airtable. Scopes alone do not grant resource access.
  • If preview fails, confirm the OAuth grant includes data.records:read and the selected table or view still exists.
  • If a record is skipped, confirm its mapped phone field contains a value.
  • If call results are not written back, confirm data.records:write is enabled and the mapped destination fields are editable and compatible with the returned value.
  • If authorization fails, confirm the Airtable redirect URI exactly matches {WEBAPP_BASE_URL}/api/integrations/airtable/oauth/callback, then reconnect after revoking any stale grant.
  • Airtable limits API traffic per base. If Airtable rate-limits a sync, wait 30 seconds and try again.
  • Airtable does not return empty field values. A blank mapped field is treated as empty, not as a missing column.

Disconnect

Select Disconnect Integration in the Airtable drawer. OutCallerAI deletes the saved connection credentials and stops imports and result synchronization. Existing leads and Airtable values remain. You can also revoke the authorization grant from Airtable's developer hub.

How is this guide?