# ⚡ New API Release: Data Set Sync with CSV

**URL:** <https://community.process.st/t/new-api-release-data-set-sync-with-csv/1928>\
**Category:** Announcements\
**Tags:** api, data-sets, data-accuracy\
**Created:** [October 2, 2025, 1:25pm UTC](https://community.process.st/t/new-api-release-data-set-sync-with-csv/1928 "2025-10-02T13:25:47Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Ellie](https://yyz2.discourse-cdn.com/flex030/user_avatar/community.process.st/ellie/32/42_2.png) [@Ellie](https://community.process.st/u/Ellie)\
**Post date:** [October 2, 2025, 1:25pm UTC](https://community.process.st/t/new-api-release-data-set-sync-with-csv/1928/1 "2025-10-02T13:25:47Z")

</div>

We’ve shipped [a new API endpoint](https://public-api.process.st/api/v1.1/docs/index.html#operation/importDataSetRecords) that makes it a cinch to **import data into Data Sets via CSV**. This opens up powerful automation use cases for keeping external systems in sync with Process Street.

**What it does** Imports records into an existing Data Set from a CSV file using one of 3 **strategies** :

- **Append** → Add new rows only, doesn’t pay attention to any of the existing data

- **Upsert** → Updates a row if the key matches, otherwise creates it, doesn’t delete anything

- **Sync** → Upsert + remove rows that don’t exist in the CSV file

For Upsert and Sync, you must define a **key** column that used to determine if a row matches.

**Why it’s useful**

- Sync external data sources with Data Sets.

- Combine with [Code Tasks](https://www.process.st/help/docs/code-task/) + [Scheduled Workflows](https://www.process.st/help/docs/scheduled-workflow-runs/) to automate daily data refreshes.

**Limitations**

- Max file size: 20 MB

- Only available via the Public API - we plan to add it to the UI in the future

- Key column must be Text (when using Upsert or Sync) - we plan to support Number keys in the future

- All column names in the data set must be unique, as well as all columns in the CSV being imported

- All column names are normalized for matching, so First Name = first name = FIRST NAME.

**Perfect for**

- Keeping CRM, ERP, or HR system data synced

- Automated data pipelines

- Workflows that depend on always-fresh data like real estate/property management
