Your first workflow
Walk through building a real end-to-end workflow: read rows from PostgreSQL, transform them, and load into Snowflake. Same shape as most production integrations.
Step 1: Create the project
From Projects, click New Project, choose Starter Project (creates a Start, Source, Target, Decision, two Target template), and name it CRM Lead Sync (or similar). The starter graph is a good base; we'll customise it next.
Step 2: Register the source connection (PostgreSQL)
- Connections pageClick New Connection. Pick PostgreSQL.
- Fill the basicsHost, port (5432), database, user, password. Mark the connection scope (Project or Global).
- Add an environment overrideAdd an Environment Setting so DEV/QA/Prod can point at different databases without changing the connection.
- Test ConnectionVerifies the credentials and lets the wizard save.
- SaveThe connection appears in the list under the project's scope.
Step 3: Register the target connection (Snowflake)
Same wizard, pick Snowflake. Snowflake supports two auth modes:
- Password -- username + password + account + warehouse + database + schema + role.
- Keypair -- username + account + warehouse + database + schema + role + private key (+ optional passphrase). Recommended for service-account use.
Test Connection. Save.
Step 4: Wire the flow
On the canvas:
- SourceConfigure with the Postgres connection. Pick the table or write a SELECT in script mode.
- TransformOpen the Map Fields modal. Drag source columns to target columns. Use expressions for derived fields, lookups, or coalesce.
- LoadConfigure with the Snowflake connection. Pick the destination table. Choose mode: Append, Replace, or Merge by key.
- Wire themClick and drag from each node's output port to the next node's input port. Source -> Transform -> Load.
Step 5: Quick Debug Run
Click Quick Debug Run (10 rows) in the canvas header. The runtime pulls 10 rows from Postgres, walks them through Transform, and dry-runs the Load. The right-rail Inspector shows per-node row counts and payload samples. Iterate on the mapping until the Load preview looks right.
Step 6: Deploy as a Job
Open Jobs, click New Job, pick the project + workflow + environment, set a cron schedule (e.g. hourly), and save. The Runtime Executions page picks up the next scheduled run.
Step 7: Watch it run
Open Monitor -> Runtime Executions. The latest run shows status, duration, per-node row counts, and logs. Click into a run to expand per-node detail; the payload sample shows the actual rows that moved.
Where to go next
- Configure Action for the full Source, Target, Script, and Notification reference.
- Transform (Map Fields) for advanced mapping (expressions, lookups, type coercion).
- Execution Hooks for pre/post-run database hooks (e.g. truncate before load).
- Runtime Executions for troubleshooting failed runs.