Sync Google Sheets and Airtable
Keep a Google Sheet and an Airtable base in sync. Rows added or edited in one appear automatically in the other.
Prerequisites
Section titled “Prerequisites”- Google service account or OAuth credentials for the Sheets API
- Airtable personal access token (create one)
- WCP running
1. Register Connections
Section titled “1. Register Connections”# Google Sheetscurl -X POST http://localhost:8000/api/connections \ -H "Content-Type: application/json" \ -d '{ "name": "sheets", "command": "npx", "args": ["-y", "@anthropic/mcp-server-google-sheets"], "env": { "GOOGLE_APPLICATION_CREDENTIALS": "/data/gcloud-sa.json" } }'
# Airtablecurl -X POST http://localhost:8000/api/connections \ -H "Content-Type: application/json" \ -d '{ "name": "airtable", "command": "npx", "args": ["-y", "@anthropic/mcp-server-airtable"], "env": { "AIRTABLE_API_KEY": "pat..." } }'2. Scan, Verify, Sync
Section titled “2. Scan, Verify, Sync”# Discover capabilitiescurl -X POST http://localhost:8000/api/capabilities/scan
# Check pairs — expect a "database/rows" capability matchcurl http://localhost:8000/api/capabilities/syncable-pairs
# Run synccurl -X POST http://localhost:8000/api/sync/run/await3. Strategy
Section titled “3. Strategy”For spreadsheet data, last_write_wins avoids manual conflict resolution:
curl -X PUT http://localhost:8000/api/conflicts/strategy \ -H "Content-Type: application/json" \ -d '{"strategy": "last_write_wins"}'4. Automate with Cron
Section titled “4. Automate with Cron”# Sync every 15 minutes*/15 * * * * curl -s -X POST http://localhost:8000/api/sync/run- Mount service account keys into Docker:
docker run -v /path/sa.json:/data/gcloud-sa.json ... - Monitor with
curl http://localhost:8000/api/logs?limit=10 - Use the Dashboard to visually inspect synced rows