Skip to main content

Creating DAGs

Via CLI​

ash proai dag create user-processing-dag

Via YAML​

dag:
name: user-processing-dag
description: "User data processing workflow"
schedule: "0 3 * * *"

nodes:
- id: extract
type: source
connector: prod-postgres
query: "SELECT * FROM users"

- id: validate
type: transform
depends_on: [extract]
sql: "SELECT * FROM extract WHERE email IS NOT NULL"

- id: enrich
type: transform
depends_on: [validate]
sql: "SELECT * FROM validate LEFT JOIN geo_data ON validate.country = geo_data.code"

- id: load
type: destination
depends_on: [enrich]
connector: prod-snowflake
table: enriched_users
`

## Via Designer

1. Open the DAG Builder
2. Add nodes from the component palette
3. Connect nodes by drawing edges
4. Configure each node's properties
5. Validate and save

## See Also

- [Dependencies](/docs/dag-builder/dependencies) — Node dependencies
- [Conditionals](/docs/dag-builder/conditionals) — Conditional branching