Skip to content
Import troubleshooting

Troubleshoot Airtable to WordPress import

Imports fail quietly when a view is empty, a schedule never fires, or matching creates duplicates. Start from Sync History and the Airtable view you actually selected.

Work top-down. If you use Integration for Airtable, the log is Airtable Sync → Sync Logs.

Symptom, then the first check

SymptomCheck first
Zero posts createdThe view or filter returned no records, the base or table is wrong, or auth can’t read the base
Some fields blankType mismatch, empty Airtable cells, or a map pointed at the wrong column
Duplicates each runID map lost, two connections, or an unstable match key
Updates not applyingCreate-only import, or the wrong destination post type
Schedule does nothingWP-Cron, low traffic, or a schedule that was never saved
Images missingMedia mapping is Pro and may be unconfigured, or attachment permissions
Users not createdEmail missing or invalid, or a role the importer remaps—allowed targets are subscriber, contributor, author, editor, and custom non-administrator roles

Verify the Airtable source

  • Open the exact view selected in the connection.
  • Confirm records meet the filter, such as Status = Ready.
  • filterByFormula typos return an empty set. Test the formula in Airtable.
  • Linked-record fields may need extra resolution. Test with plain text first.

Verify authentication

  • A personal access token includes scopes that can read records for that base.
  • The OAuth connection has not been revoked.
  • The token belongs to a user who can open the workspace.

Read Sync History line by line

Success with warnings

Often a field-level skip. The post exists and one column did not land.

Hard errors

Auth, API limits, or a required WordPress field such as a user email.

Partial batch

Note which record IDs failed. Don’t re-run the whole table until those rows make sense.

Creates when you expected updates

Confirm Update existing is on for already-linked objects. Leave it on after the first successful map so later runs refresh the same WordPress IDs.

Delete-missing and scoped imports

Use delete-missing on a full-table import. When a view or filter is set, keep Status on the row so later runs can still update those objects.

Preview before a live run

Click Dry run to see creates and updates in Sync History without writing WordPress objects, then Import now when the counts look right.

Field mapping hygiene

  • Posts and terms need a title or name.
  • Dates need a format the importer accepts.
  • Select options must exist, or be creatable, based on your settings.
  • ACF mappings on Pro: confirm field names on a single test post. See mapping Airtable to ACF.

Duplicate diagnosis

  1. Note WordPress post IDs after run A.
  2. Change one Airtable field and run B.
  3. Expected: the same IDs, with updated content.
  4. New IDs mean the map or match is broken. Pause the schedule and follow publishing without duplicates.

Schedule diagnosis

  • Confirm the connection schedule. Free is daily or weekly. Pro is denser.
  • Trigger WP-Cron manually and check host cron.
  • Make sure testing didn’t leave the connection on manual-only.

API limits, volume, and plan caps

Airtable rate limits and record limits still apply. A large first import may queue. Wait for Sync History to settle before clicking Import now again. Extra clicks add load. They are not always faster.

A plan cap looks like a broken import

Free caps imported records per month and connections per entity type. Custom post types, ACF, media, delete-missing, and sub-daily schedules are Pro. Check the counters before you rebuild the connection.

Still blocked

Send the log, the destination, and the filter

Include Sync History error text with secrets removed, the destination type, and whether a view or formula is applied. Email support@ripplestep.com.

Reproduce with two records

Use a two-record view, read Sync History, and fix source, auth, or mapping from the first error.

Install Integration for Airtable free