visibility Static layout preview of Automated Workflows (Pipeline Runner), shown with a file imported, a four-step pipeline configured, and a completed run (results + per-step summary). All pages →

# Automated Workflows

Runs 100% locally

Run several tools in a row — save the steps once, reuse them anytime.

Import CSV or Excel file
upload_file Drag and drop file here Up to 1.5 GB · CSV, TSV, XLSX, XLS · encoding & delimiter auto-detected
customers_export.csv 2.1 MB
Preview: customers_export.csv

18,442 rows, 6 columns

| name | email | city | phone | signup_date
--- | --- | --- | --- | --- | ---
0 | Jane Doe | jane@acme.io | Austin | 512-555-0190 | 2024-01-04
1 | jane doe | JANE@ACME.IO | austin | (512) 555-0190 | 01/04/2024
2 | Bob Smith | bob@globex.com | Denver | 720.555.7781 | 2024-02-11
3 | R. Smith | bob@globex.com | — | 720-555-7781 | Feb 11 2024

Options
How would you like to define the pipeline?
Use the recommended default (Clean Text → Standardize → Fix Missing → Find Duplicates) · modified Build interactively Import a saved pipeline JSON
edit You started from the recommended default and edited a step, so the mode switched to Build interactively. The steps below are now yours to change — pick recommended default again to discard your edits and restore the suggested order.

Add, remove, reorder (drag the row index), enable, or configure each step. Open a step's Configure panel to set its options in plain language. Tool order is recommended, not enforced — violations surface as warnings below the table.

| Step | Enabled | Configure
--- | --- | --- | ---
≡ 0 | Clean Text Trim spaces, collapse repeats, leave case as-is | check | tune Configure expand_more

Configure: Clean Text
check Trim leading & trailing whitespace
check Collapse repeated spaces to one
Normalize smart quotes & dashes to plain ASCII
Letter case
Leave as-is

≡ 1 | Standardize Formats Format phone as phone, signup_date as a date | check | tune Configure chevron_right

Configure: Standardize Formats

Choose a target format for each column. Columns left as “Leave as-is” are untouched.

Column | Format as
--- | ---
name | Leave as-is
email | Leave as-is
phone | Phone number
signup_date | Date

≡ 2 | Fix Missing Values Flag blank cells (treat “N/A” and “—” as blank) | check | tune Configure chevron_right

Configure: Fix Missing Values
What should happen to blank cells?
Flag them (mark blanks, change nothing) Fill them in (numbers → median, text → most common) Drop rows that have any blank
Treat these as blank (comma-separated)
N/A, —
Matched case-insensitively after stripping whitespace.

≡ 3 | Find Duplicates Match on email & phone; keep the most complete row, merge in missing fields | check | tune Configure chevron_right
＋ | Add step

Configure: Find Duplicates
When rows match, which one survives?
Keep the most complete row
Other options: keep the first seen, keep the last seen.
check Merge matched rows (fill each survivor's blanks from its duplicates)
Match on these columns
email ✕ phone ✕
Advanced — import / export pipeline as JSON

For sharing or version control. Editing is done in the step panels above — this is just the saved form of the same settings.

{ "version": 1, "steps": [ {"tool": "text_clean", "enabled": true, "options": {"trim": true, "collapse_whitespace": true}}, {"tool": "format_standardize", "enabled": true, "options": {"column_types": {"phone": "phone", "signup_date": "date"}}}, {"tool": "missing", "enabled": true, "options": {"strategy": "flag", "sentinels": ["N/A", "—"]}}, {"tool": "dedup", "enabled": true, "options": {"survivor_rule": "most_complete", "merge": true, "keys": ["email", "phone"]}} ] }
Recommended tool order — why each step belongs where it does

text_clean before format_standardize — format parsers (phone / currency / date) fail on smart-quote-contaminated or NBSP-padded input — clean text first

text_clean before missing — sentinel detection misses cells padded with NBSP / zero-width characters — clean text first

text_clean before dedup — fuzzy matching treats NBSP-padded values as different — clean text first

format_standardize before missing — numeric imputation needs numeric dtypes; canonical phones / currencies improve sentinel detection

format_standardize before dedup — canonical phones / lowercase emails enable cross-format duplicate matching

missing before dedup — deduping rows with mixed NaN sentinels produces brittle merges — resolve missing values first

## Results

Initial rows
18,442
Final rows
18,130
Steps run
4
Elapsed
1.84 s

#### Per-step summary

step | status | elapsed | summary
--- | --- | --- | ---
text_clean | ok | 214 ms | 1,204 cells changed in name & city
format_standardize | warning ok · 141 skipped | 388 ms | 18,301 phones and 17,996 dates standardized
| info 141 phone values didn't match any known pattern and were left unchanged. The step still completed — review them in the output preview if needed.
missing | ok | 121 ms | 642 blank cells flagged (sentinel “—”)
dedup | ok | 911 ms | 312 duplicates removed across 147 groups (18,442 → 18,130 rows)

#### Output preview (first 10 rows)

| name | email | city | phone | signup_date
--- | --- | --- | --- | --- | ---
0 | Jane Doe | jane@acme.io | Austin | +1 512-555-0190 | 2024-01-04
1 | Bob Smith | bob@globex.com | Denver | +1 720-555-7781 | 2024-02-11
2 | Carla Reyes | carla@initech.co | Phoenix | +1 480-555-3320 | 2024-03-02
3 | Dan Okafor | dan@umbrella.net | ⚑ missing | +1 206-555-7745 | 2024-03-18
4 | Emily Tran | emily@hooli.com | Seattle | +1 206-555-1182 | 2024-04-05