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
Notifications dbt API
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.