New to Kestra?
Use blueprints to kickstart your first workflows.
Schedule and orchestrate Airbyte Cloud connection syncs with Kestra. Run ETL ingestion on a cron, with retries, alerting, and full run history.
id: airbyte-cloud-sync
namespace: company.team
tasks:
- id: data_ingestion
type: io.kestra.plugin.airbyte.cloud.jobs.Sync
connectionId: ac127cf2-9ae3-4f9b-9dd0-e3a0944d1447
token: "{{ secret('AIRBYTE_CLOUD_API_TOKEN') }}"
triggers:
- id: every_minute
type: io.kestra.plugin.core.trigger.Schedule
cron: "*/1 * * * *"
Keep your data warehouse fresh by triggering an Airbyte Cloud connection sync on a recurring schedule. This blueprint runs a single Airbyte Cloud connection as a scheduled ETL job, so source data is ingested automatically without anyone clicking "Sync" in the Airbyte UI. It is a clean starting point for incremental data ingestion, operational analytics, and ELT pipelines where one source needs to refresh reliably and often.
every_minute trigger (io.kestra.plugin.core.trigger.Schedule) fires on a cron expression (*/1 * * * * in this example) to kick off the flow on a fixed cadence.data_ingestion task (io.kestra.plugin.airbyte.cloud.jobs.Sync) calls the Airbyte Cloud API to start a sync for the connection identified by connectionId, authenticating with the token property.Airbyte Cloud can schedule a connection on its own, but it cannot place that sync inside a larger pipeline. With Kestra you orchestrate the sync alongside everything that depends on it: add retries on transient API failures, fire event-driven triggers instead of fixed clocks, branch into transformation and quality-check tasks the moment ingestion succeeds, and capture full execution lineage and run history. The whole workflow is declarative YAML, versioned and reviewable, rather than settings buried in a vendor UI.
connectionId of the connection you want to sync.AIRBYTE_CLOUD_API_TOKEN: an Airbyte Cloud API key, used by the token property to authenticate the Sync task.AIRBYTE_CLOUD_API_TOKEN secret in Kestra.connectionId value with the connection you want to sync.cron on the every_minute trigger to your desired cadence.retry and failure alerting (Slack, email) for resilient ingestion.