Your warehouse connection, projected
Pick an existing Etlworks warehouse connection. At run time the engine projects it into a dbt profile on the execution node. You never keep a second copy of the credentials.
dbt integration
dbt is a first-class flow type in Etlworks. Point it at an existing warehouse connection and the engine builds the dbt profile at run time, no second credential store, no wrapper scripts. Or trigger a dbt Platform job and watch it in the same history.
The problem
Something has to land the data before dbt can model it, and something has to schedule dbt, hold its credentials, pin its project version, and tell you what happened. That is usually a second tool, a third credential store, and a wrapper script nobody wants to own.
Why a shell step is not an integration
dbt run from a script is the easy part.Plenty of tools can execute a command. What they leave you with is a warehouse password copied into a second place, a project on whatever revision the box happened to have, logs in a file nobody reads, and no answer to “which commit produced this table, and did the tests pass?” The work is in the connection handling, the project provenance, and the results, not in launching the process.
Capabilities
Pick an existing Etlworks warehouse connection. At run time the engine projects it into a dbt profile on the execution node. You never keep a second copy of the credentials.
dbt is its own flow type, alongside JavaScript, CLI, and SSH flows. It nests inside Composer and workflows, so extract, load, dbt, and downstream delivery run as one governed execution.
build, run, test, seed, snapshot, compile, debug, list, plus source freshness and docs generate. Selectors, excludes, variables, target, threads, full refresh, and fail-fast.
Point a flow at a Git repository, ref, commit, and subdirectory. Every run checks out an immutable revision into a private workspace and records the exact commit in execution history.
dbt deps honours your lockfile with bounded, cached package acquisition. State and defer can select an authorised prior Etlworks run or an uploaded bundle, with version and project identity validated first.
manifest, run_results, catalog, and freshness artifacts are captured and stored per tenant. Model and test outcomes, timings, warnings, and downloads sit in the same history as every other flow.
Specifications
An approved compatibility matrix, not a generic adapter claim. Each row is a connection type and authentication mode validated against a pinned dbt Core and adapter pair. Anything not listed fails validation with a clear error rather than at run time.
dbt-snowflakedbt-bigquerydbt-databricksdbt-redshiftdbt-synapsedbt-fabricdbt-postgresdbt-postgresdbt-sqlserverdbt-clickhouseBefore you start
dbt Core runs as an operating-system process on the execution node, either the Etlworks host or an Integration Agent. That runtime is yours to install. Etlworks never installs dbt, an adapter, Git, an ODBC driver, or a native library on your behalf, so nothing appears on a machine without an administrator putting it there.
1.12.3dbt-snowflake, dbt-postgres, and the restdbt.executable · an executable name or an absolute path · defaults to dbtdbt.project.root · the root directory for local projects · defaults to {app.data}/dbtThe work directory itself is not configurable. It is created below the Etlworks temporary folder and removed when the execution ends.
Hosted instances ship without a dbt runtime or any warehouse adapter. On a hosted instance there are three ways forward. Run local dbt Core on an Integration Agent, a machine you control and install on yourself. Use the Execute dbt Platform Job flow, which needs no dbt installation anywhere. Or ask Etlworks support to install dbt and the adapters on your instance, naming the adapters you need. On-premise installations put the runtime on the Etlworks host.
FAQ
Start your trial
Connect your warehouse, point a flow at your dbt project, and run it on a schedule with the rest of your pipeline.