- How do I install and configure tapp/laravel-airtable in Laravel?
- Run composer require tapp/laravel-airtable, publish the package config, then set your Airtable base ID and token in .env. The service provider registers a container-bound client and the Airtable facade, so Airtable::table('Name') works right away. There are no migrations or schema files to own. Most teams can get working reads in under an hour.
- Is tapp/laravel-airtable an Eloquent driver for Airtable?
- No. The package is a thin, container-bound HTTP SDK with a facade and a lightweight fluent query builder that maps calls to Airtable REST parameters. It is not an Eloquent driver, so do not expect model events, relationships, or schema ownership. Wrap it behind an interface you own so the facade does not leak into domain code.
- Which Laravel and PHP versions does tapp/laravel-airtable support?
- It is evaluated here as working with PHP 8.x and Laravel 9 through 11, using Laravel's HTTP client underneath. Before you commit, check the package's composer.json constraints against your exact runtime. Pin the package version explicitly, because a low-velocity package can still ship a breaking minor.
- How do I avoid Airtable 429 rate limit errors in Laravel?
- Airtable enforces roughly 5 requests per second per base, and this package does not add throttling, backoff, batching, or queueing. Naive loops over N records will produce 429s in production. Push writes onto Laravel queues, batch create and update calls up to 10 records per request, and cache reads. Configure the Laravel HTTP client with longer timeouts and sensible retry semantics rather than the defaults.
- How do I query, create, and update Airtable records with this package?
- The fluent builder supports reads with filterByFormula and pagination offsets, plus create and update calls for records. Confirm these helpers in the version you install, and escape any user-supplied formula values yourself. Batch writes at Airtable's 10-records-per-request limit, and keep bulk work off the request path.
- How should I authenticate with Airtable, API key or Personal Access Token?
- Use scoped Airtable Personal Access Tokens rather than legacy API keys, which Airtable has been retiring. Issue separate tokens per environment, grant the minimum scopes each needs, and plan for rotation. Token scope and rotation are your responsibility, not the package's.
- Can I use tapp/laravel-airtable on a hot request path in production?
- Not without a cache. Airtable offers no webhooks here, so reads on a hot path mean either stale TTL data or a cache you invalidate on write. The package fits content and config reads or outbound pushes of operational records, not a primary system of record or transactional store. Also check whether your data is contractually allowed to leave your systems.
- How do I handle Airtable schema changes breaking my Laravel code?
- Airtable fields are edited by humans in a UI, so a renamed or retyped field silently breaks mapping code with no compile-time or migration signal. There is no schema contract in the repo. Define who owns the base, agree a change-notification process, and add contract tests against a known base shape. Keeping your own gateway interface makes the blast radius smaller.
- How do I test an Airtable integration without hitting the live API?
- Use Laravel's Http::fake to stub Airtable responses, or define an AirtableGateway interface and bind a fake implementation in your test container. Assert mapping for dates, selects, linked records, and attachments, plus pagination and 429 retry behavior. That keeps tests fast and avoids consuming your base's rate limit.
- Is tapp/laravel-airtable actively maintained, and what are the alternatives?
- Adoption signal is weak: around 112 stars and zero tracked dependents, with a single maintainer and a future-dated release you should verify against real repo tags. Alternatives are direct Http:: calls behind your own adapter, a vendored fork, or a different Airtable SDK. If the package is abandoned, that gateway interface is your exit path.