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.