New to Kestra?
Use blueprints to kickstart your first workflows.
Orchestrate containerized dbt transformations on BigQuery with test inspection and automated conditional Slack incident alerting in Kestra.
Data teams relying on dbt for Google BigQuery modeling require dependable daily transformation pipelines that execute cleanly, catch failing data contracts early, and alert on-call data engineers immediately when model compilation or schema tests fail.
This blueprint orchestrates containerized dbt build operations targeting Google BigQuery. It executes transformations inside an official dbt container, inspects exit codes and test outcomes with a dedicated Python validation task, and conditionally dispatches rich notification payloads to your designated Slack operations channel.
run_dbt_models (io.kestra.plugin.scripts.shell.Commands): Spawns the official ghcr.io/dbt-labs/dbt-bigquery container via Docker task runner and executes the dbt compilation and run cycle against BigQuery.inspect_execution_results (io.kestra.plugin.scripts.python.Script): Analyzes the generated test manifest and run metrics, outputting structured status parameters via Kestra.outputs.notify_conditional_status (io.kestra.plugin.core.flow.If): Evaluates whether both the CLI exit code and schema validations passed. If successful, dispatches notify_slack_success; otherwise, routes to notify_slack_failure.alert_on_pipeline_failure (errors block): Intercepts fatal runner aborts or network dropouts to immediately notify engineers via Slack with the execution ID.Kestra simplifies dbt operations by decoupling transformation orchestration from underlying infrastructure. Through Docker runner isolation, granular secrets management for Google Cloud Service Accounts, and event-driven alerting via Slack, Kestra provides a robust, observable data platform control plane without needing dedicated Kubernetes orchestration clusters.
GCP_CREDS: Google Cloud Service Account JSON credentials.SLACK_WEBHOOK_URL: Slack Incoming Webhook endpoint for alerting.GCP_CREDS and SLACK_WEBHOOK_URL secrets in your Kestra namespace.dbt_target and slack_channel inputs to fit your organizational setup.daily_dbt_schedule cron trigger for automated daily execution.