New to Kestra?
Use blueprints to kickstart your first workflows.
Run dbt on Snowflake, trigger a Hightouch reverse ETL sync, and send a Telegram alert from Kestra. Automate ELT with built-in notifications and retries.
Build a complete reverse ETL pipeline that transforms raw data with dbt, activates it in your operational tools through a Hightouch sync, and tells your team the moment fresh data lands in a Telegram channel. This blueprint chains data transformation, reverse ETL, and team notification into a single declarative workflow so your sales, marketing, and support tools always run on up to date models without anyone watching the clock.
io.kestra.plugin.core.flow.WorkingDirectory task named workflow creates a shared working space so the cloned repository and the dbt run share the same files.io.kestra.plugin.git.Clone (clone_repository) pulls the main branch of the kestra-io/dbt-demo project, bringing in the dbt models and project files.io.kestra.plugin.dbt.cli.DbtCLI (dbt) runs dbt run against Snowflake using a Docker taskRunner and the ghcr.io/kestra-io/dbt-snowflake:latest image. The Snowflake profile is built from secrets at runtime.io.kestra.plugin.hightouch.Sync (hightouch) triggers a Hightouch reverse ETL sync by syncId, pushing the freshly modeled tables out to your downstream operational platforms.io.kestra.plugin.telegram.TelegramSend (telegram_notification) posts a message to the @customer_third_party_channel channel confirming the data has been synced.Hightouch can schedule syncs and dbt has its own runner, but neither can coordinate the full handoff: clone, transform on Snowflake, activate through reverse ETL, then alert a channel as one auditable run. Kestra ties these tools together with event and schedule triggers, automatic retries on transient failures, full execution lineage across every task, and a declarative YAML definition you can version in Git. The notification only fires after the sync actually completes, something a tool only scheduler cannot guarantee.
syncId.SNOWFLAKE_ACCOUNTSNOWFLAKE_USERSNOWFLAKE_PASSWORDSNOWFLAKE_ROLESNOWFLAKE_DATABASEHIGHTOUCH_API_TOKENTELEGRAM_BOT_TOKENsyncId in the hightouch task with your own Hightouch sync id.channel in telegram_notification to your Telegram channel handle.clone_repository at your own dbt project, or keep the demo repo to try it out.dbt run for dbt build or add dbt test commands to validate models before activation.Schedule or flow trigger so the pipeline runs on a cadence or after an upstream load.