Airtable Record Sync
Create and update Airtable records with mapped fields, links, and attachments intact.
What it adds
A configured sync of app records into a selected base and table, resolving linked records and transferring attachments.
What your agent is told to do
5
What your agent is told to do
5-
1
Read the selected table's fields and their types at setup, and read them again before a mapping is used, rather than trusting a mapping saved months ago against a schema somebody has since changed.
-
2
Validate every value against its destination field type before sending, and check option values against that field's current choices so a write neither fails nor quietly expands the list.
-
3
Resolve linked records by looking up the related table first and reusing the match. Create a related record only when the lookup finds nothing, never once per write.
-
4
Serve attachments from a signed URL that lives only long enough for the provider to fetch the file, and revoke it once the fetch is confirmed. Do not make the file publicly readable to complete the transfer.
-
5
Carry a stable app identifier in a dedicated field and upsert on it. Google Sheets Row Sync and Notion Database Sync solve the same mapping and idempotency problem against other destinations, so share the mapping and queue layer and vary only the destination adapter.
Edge cases it handles
8
Edge cases it handles
8- A value of the wrong type is rejected outright, and a single-select value absent from the field's options either fails or expands the list. Validate before sending, and make expanding a list a deliberate setting rather than a side effect.
- Linked-record fields take record identifiers, not text. Writing the display name creates a new related record every time, and a month later the related table is full of near-duplicates.
- Fields get renamed, retyped, and deleted by whoever owns the base. A mapping must be revalidated, and when it no longer resolves the destination pauses with a message naming the field rather than skipping it silently.
- Attachments are fetched by the provider from a URL the app supplies. That URL must be signed, short-lived, and revoked after the fetch, or the app has published a permanent public link to customer data.
- Rate limits are enforced per base and are low. A backfill must pace itself, batch records, and back off when refused rather than saturating the limit and starving ordinary writes.
- Without an upsert key a retried job creates a second record. The key belongs in its own field on the destination, not inferred from a name or an email address.
- Bases enforce record and attachment size limits. A record that exceeds them must be reported as too large rather than retried indefinitely.
- If the connection is revoked or the base is deleted, the destination must be disabled and the owner told, not left retrying against a base that no longer exists.
Definition of done
8
Definition of done
8- Field types and option values are validated against the live schema before every send.
- Linked records resolve to existing rows and are created only when no match exists.
- A stable key field makes repeated runs idempotent, and no retry produces a duplicate record.
- Attachment URLs are signed, short-lived, and revoked after the provider fetches them.
- Backfills stay within the provider's rate limits and back off instead of failing.
- Schema changes and revoked access pause the destination with a message naming the cause.
- The feature matches the existing design system.
- No existing functionality is broken.
Related features
Contentful Entry Sync
Contentful Entry Sync
Create and update Contentful entries against the connected space, environment, and locale.
What it does
A sync that writes app records into Contentful entries using the connected space's content model and locale configuration.
How it works
- 1 Have the operator select the space, the environment, and the default locale during connection, and store all three, because writing production content into a sandbox environment is an easy and expensive mistake.
- 2 Fetch the content model at connection time and again before each sync run, map app fields to entry fields by their stable identifiers, and validate the value type against the model before attempting the write.
- 3 Write every localized field under an explicit locale rather than relying on whatever the space treats as default, and state clearly which locales the app owns and which it leaves to editors.
Copy the prompt
No account needed
Add this feature to my app:
https://addthisfeature.com/x/contentful-entry-sync
Typesense Index Sync
Typesense Index Sync
Keep a search index in step with your records so results stay current and correctly scoped.
What it does
A one-way sync from the app's records into a Typesense collection, with server-enforced tenant filtering and a rebuild path.
How it works
- 1 Identify every model users search today and declare the indexed shape explicitly: the fields people type into, the fields they filter and sort on, and nothing more. Treat a missing or newly added field as absent rather than letting the document fail validation.
- 2 Reuse the app's existing background-job system to push creates, updates, and deletes. Do not index inside the request cycle; a slow or unreachable search service must never make a save fail or hang.
- 3 Build the tenant, workspace, and permission filter on the server at query time and attach it to every search. Do not accept a filter, collection name, or scope value from a client-supplied parameter, because anything the browser can set the browser can change.
Copy the prompt
No account needed
Add this feature to my app:
https://addthisfeature.com/x/typesense-index-sync
Mapbox Geocoding
Mapbox Geocoding
Convert typed locations into coordinates and structured addresses the app can use.
What it does
Forward and reverse geocoding with confirmed matches, controlled result bias, and coordinate precision rules.
How it works
- 1 Separate the two directions explicitly: text to coordinates for entry and search, coordinates to address for a dropped pin or a device location. They take different inputs, carry different confidence, and fail differently.
- 2 Present ambiguous matches as a list the user confirms. Silently taking the first result is how a record ends up in the wrong country with nobody noticing for months.
- 3 Bias results toward a location only when the app genuinely knows one, such as a workspace address or the map viewport the user is already looking at.
Copy the prompt
No account needed
Add this feature to my app:
https://addthisfeature.com/x/mapbox-geocoding
How it works
-
1
Copy the link
Grab the Markdown instruction URL for this feature.
-
2
Give it to your AI
Paste it into Claude Code, Cursor, v0, Lovable — whatever you build with.
-
3
It inspects, then implements
Your agent reads your existing app first, then adds the feature to fit it.
Works with your stack
These instructions are written to adapt. They tell the agent to detect your framework, match your existing design system, and reuse what you already have — rather than assuming a particular stack.
Need it tighter than that? Customize the feature and tell it exactly what you're running.