Sync external API data
Keep external API data fresh for your product, RAG pipeline, or change-detection workflow.
Many products need a local copy of customer data from CRMs, file stores, ticketing tools, billing systems, calendars, or communication apps. Doing this reliably means handling OAuth, polling, pagination, rate limits, retries, deletions, and missed webhooks for every provider.
Tenklo gives you a function runtime for this pattern. A sync function fetches data from the external API, writes records into Tenklo's cache, and notifies your app when records change. Your app then reads the changed records by cursor.
When this fits
Use Tenklo to sync external API data when you need to:
- Keep a local database or search index updated from customer tools.
- Feed RAG pipelines with fresh external data.
- Detect changes from APIs that do not offer reliable webhooks.
- Combine polling with provider webhooks for near real-time updates.
- Sync large datasets without restarting from scratch after failures.
For one-off reads or writes, use Run external API operations.
How Tenklo fits in
- Your user authorizes an integration with Tenklo.
- You enable a template sync function or deploy your own.
- Tenklo runs the sync function on its schedule, or when a provider webhook arrives.
- The function saves records into Tenklo's records cache.
- Tenklo sends your app a webhook when records change.
- Your app reads changed records with a cursor and stores them in your system.
The same foundation works for classic data sync, indexing, RAG ingestion, and trigger-style workflows.
What to read next
- Sync functions - build, run, and consume sync functions end to end.
- Records cache - understand records, change metadata, and cursors.
- Checkpoints - make long-running functions resumable and incremental.
- Deletion detection - surface deletes from external APIs.
- Real-time syncs - combine provider webhooks with polling.
- Sync partitioning - fan out one connection into multiple sync variants.
You can also pair sync functions with Action functions for two-way sync: sync reads from the external API, then call a function on demand to write changes back.