New to Kestra?
Use blueprints to kickstart your first workflows.
Orchestrate Airbyte Cloud syncs and dbt builds with Kestra. Ingest Salesforce, Google Analytics, and Facebook Ads in parallel, then model data into BigQuery.
Stand up a complete extract, load, and transform (ELT) pipeline that ingests SaaS data with Airbyte Cloud and models it with dbt, all coordinated by Kestra. This blueprint solves the classic analytics engineering gap: keeping managed ingestion and version-controlled transformations in lockstep so that dbt never runs against stale or half-loaded tables. It fans out three Airbyte Cloud connection syncs in parallel (Salesforce, Google Analytics, and Facebook Ads), waits for every load to finish, then clones a dbt project and runs a dbt build against BigQuery to produce analytics-ready models.
data_ingestion task is an io.kestra.plugin.core.flow.Parallel block that triggers three io.kestra.plugin.airbyte.cloud.jobs.Sync tasks at once: salesforce, google_analytics, and facebook_ads, each pointed at its own Airbyte Cloud connectionId.pluginDefaults on io.kestra.plugin.airbyte.cloud.jobs.Sync, so credentials stay out of the task bodies.Parallel block only completes once all three syncs return, which gates transformation until the raw data has landed.dbt task is an io.kestra.plugin.core.flow.WorkingDirectory. Inside it, io.kestra.plugin.git.Clone checks out the dbt project from a Git repository on the main branch.io.kestra.plugin.dbt.cli.Build then runs the dbt build inside a Docker taskRunner using the ghcr.io/kestra-io/dbt-bigquery image. A profiles.yml and a sa.json keyfile are supplied as inputFiles, with the BigQuery service account passed in from a secret.Airbyte Cloud schedules syncs and dbt Cloud schedules builds, but neither can natively guarantee that dbt starts only after a specific set of loads has finished. Kestra closes that gap with a declarative YAML pipeline: the Parallel block plus WorkingDirectory express the dependency explicitly, retries can be added per task, event or schedule triggers can drive the run, and every execution is captured for lineage and replay. You get one source of truth for the whole ELT flow instead of two disconnected schedulers.
AIRBYTE_CLOUD_API_TOKEN: API token used to authenticate the Airbyte Cloud syncs.GCP_CREDS: GCP service account JSON written to sa.json for the dbt BigQuery profile.AIRBYTE_CLOUD_API_TOKEN and GCP_CREDS secrets to your Kestra instance.connectionId values with your own Airbyte Cloud connections.io.kestra.plugin.git.Clone at your dbt repository and branch.profiles.yml dataset, project, and location to match your BigQuery setup.Parallel block to ingest additional sources.Schedule trigger to refresh data on a cadence, or a webhook trigger for event-driven runs.