/csv-tools

The CSV Tools node lets you upload or link to a CSV file and perform powerful actions like filtering, selecting columns, splitting, and more – without any coding. You’ll receive back a new downloadable CSV file (or ZIP archive), ready to use.


Endpoint

POST to:

https://node.nodetrigger.com/api/csv-tools

Request Format

Send a JSON object like this:

{
  "csvUrl": "https://example.com/your-file.csv",
  "action": "columns",
  "options": {
    "keep": ["name", "email"]
  }
}

Actions You Can Use

Here are all the actions currently available:


1. read

What it does:
Reads your CSV and re-exports it without changes. Useful for testing or reformatting.

Example:

{
  "csvUrl": "https://example.com/data.csv",
  "action": "read"
}

2. columns

What it does:
Keeps only the columns you care about. Useful to remove unnecessary data.

Options:

  • keep: a list of column names to keep

Example:

{
  "csvUrl": "https://example.com/contacts.csv",
  "action": "columns",
  "options": {
    "keep": ["name", "email", "country"]
  }
}

3. filter

What it does:
Filters your rows based on a rule. Only rows matching the rule will be included.

Options:

  • condition: A simple rule using column names. Examples:
    • "country == 'France'"
    • "price > 100"
    • "status === 'active'"

Example:

{
  "csvUrl": "https://example.com/products.csv",
  "action": "filter",
  "options": {
    "condition": "price > 50"
  }
}

4. split

What it does:
Splits a large CSV into multiple smaller files. Great for bulk processing or sending in parts.

Options:

  • chunkSize: How many rows per file (excluding header row)

Example:

{
  "csvUrl": "https://example.com/bigfile.csv",
  "action": "split",
  "options": {
    "chunkSize": 1000
  }
}

Output:

  • If 1 file: a single CSV link
  • If more: one ZIP file with all CSVs inside


Output

After calling the API, you’ll receive:

{
  "status": "ok",
  "url": "https://node.nodetrigger.com/uploads/csv-output-abc123.csv",
  "rowCount": 342,
  "columns": ["name", "email", "country"]
}

Or for split:

{
  "status": "ok",
  "zip": "https://node.nodetrigger.com/uploads/csv-split-abc123.zip"
}

Tips

  • Your CSV file must be accessible via direct public link.
  • Make sure the first row in your CSV contains column names (headers).
  • Column names are case-sensitive ("email""Email").
  • The output link expires automatically after some time – download it soon after processing.

Need Help?

If you need help building your JSON, figuring out filters, or uploading your file, just reach out. We’re happy to help.


Condition Syntax (for filter)

You can use comparisons like:

  • == → equal to
  • === → exactly equal (type & value)
  • != → not equal
  • > / < / >= / <= → greater/less than
  • Combine with && and ||"price > 50 && category == 'Shoes'"