Blueprints

Run a dbt job and Hightouch sync, send a Telegram message on workflow completion

Source

yaml
id: elt-notification-telegram
namespace: company.team

tasks:
  - id: workflow
    type: io.kestra.plugin.core.flow.WorkingDirectory
    tasks:
      - id: clone_repository
        type: io.kestra.plugin.git.Clone
        url: https://github.com/kestra-io/dbt-demo
        branch: main

      - id: dbt
        type: io.kestra.plugin.dbt.cli.DbtCLI
        taskRunner:
          type: io.kestra.plugin.scripts.runner.docker.Docker
        containerImage: ghcr.io/kestra-io/dbt-snowflake:latest
        profiles: |
          jaffle_shop:
            outputs:
              dev:
                type: snowflake
                account: "{{ secret('SNOWFLAKE_ACCOUNT') }}"
                user: "{{ secret('SNOWFLAKE_USER') }}"
                password: "{{ secret('SNOWFLAKE_PASSWORD') }}"
                role: "{{ secret('SNOWFLAKE_ROLE') }}"
                database: "{{ secret('SNOWFLAKE_DATABASE') }}"
                warehouse: COMPUTE_WH
                schema: public
                threads: 4
                query_tag: dbt
                client_session_keep_alive: False
                connect_timeout: 10
            target: dev
        commands:
          - dbt run

  - id: hightouch
    type: io.kestra.plugin.hightouch.Sync
    token: '{{ secret("HIGHTOUCH_API_TOKEN") }}'
    syncId: 1716609

  - id: telegram_notification
    type: io.kestra.plugin.notifications.telegram.TelegramSend
    channel: "@customer_third_party_channel"
    token: "{{ secret('TELEGRAM_BOT_TOKEN') }}"
    payload: Data has been synced to your platform

About this blueprint

Snowflake Data dbt API Notifications

This flow shows how to run a dbt job and Hightouch Reverse ETL. Send a notification into a dedicated Telegram channel to let users know data has been updated.

Working Directory

Clone

Dbt CLI

Docker

Sync

Telegram Send

New to Kestra?

Use blueprints to kickstart your first workflows.

Get started with Kestra