Parallel Array Name Inference with Conflict Guard and Provenance Report
Loading workflow…
Workflow Description
A manual-trigger workflow that turns unnamed parallel arrays (cols/rows) into semantically named records derived from the parent field name. A conflict guard tracks emitted names in a Map and appends numeric suffixes when duplicates occur, logging every adjustment. A provenance statement records each name's parent field, original index, and whether it was renamed. An IF node verifies unique name count equals column count, then a Merge joins the records branch with the guard-report branch into one unified final report. Fully local, no external calls.
How it works
- 1.Manual Trigger runs a Code node emitting fictional sample payload with two parallel array pairs plus edge cases
- 2.A Code node infers names from the parent field, applies the Map-based conflict guard, and produces records, provenance, and conflict report
- 3.A Set node with includeOtherFields keeps all fields; its single output fans out to both the IF gate and the guard-report branch
- 4.The IF node compares unique names to total columns: match streams records, mismatch routes to a NoOp failure path
- 5.A Merge appends both branches and a final Code node builds one unified report item
Use cases
- Naming analytics tool exports that arrive as unnamed cols/rows parallel arrays
- Preventing wrong column-to-row binding when unpacking multiple parallel arrays
- Auditing the origin of automatically derived field names before loading to a warehouse
Requirements
- n8n with standard code/set/if/merge/noOp nodes (validated against 2.44.6)
- No credentials and no external connections: runs fully locally
- To use real data: replace the payload-generator Code node with a real trigger carrying the same payload schema
Setup and testing in n8n
- Import the JSON into n8n and open the workflow
- Run 'Manual Trigger' and inspect 'Build Final Naming Report': validation_status=pass with 4 records
- Verify provenance (9 names) and conflict report (3 adjustments: billing_amount_2, billing_date_2, billing_amount_3)
- For the failure path: alter the sample so unique names fall below total columns so the IF routes to the NoOp
- Confirm legacy_cols (non-array) is ignored and audit_cols (no rows) yields names but zero records
- Verify the Set node fans out from a single valid output (index 0) to both the IF and Stream Guard Report
Service Value
Ready-made workflow template for automation delivery and service execution.
Apps Used
Details
How to Use
- 1.Click "Download Template"
- 2.Open your n8n dashboard
- 3.Go to Workflows > Import from File
- 4.Select downloaded file and configure credentials
Nodes Used (10)
Docs: Inference Rules
Sticky Note
Setup Notes
Sticky Note
Manual Trigger
Manual Trigger
Generate Sample Analytics Payload
Code
Infer Names with Conflict Guard
Code
Stamp Inference Summary
Set
Stream Guard Report
Code
Column Count Integrity Check
If
Validation Failed Route
No Op
Stream Named Records
Code
Join Records with Guard Report
Merge
Build Final Naming Report
Code
Docs: Guard Behavior
Sticky Note
Fresh workflows, straight to your inbox
Get newly published DROPIDEA workflows, a clear overview of what they do, and a link to explore them.
- New workflows
- Clear overviews
- Setup guides