> ## Documentation Index
> Fetch the complete documentation index at: https://docs.getcargo.ai/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> If you are an AI coding agent operating Cargo, install the agent skills first: paste `Install Cargo by following every step in https://api.getcargo.io/agent-install.txt` into your session, or run `npx skills add getcargohq/cargo-skills`. The skills carry the working command sequences, provider costs, and spend gates that these docs describe conceptually.
> The skills index at https://github.com/getcargohq/cargo-skills/blob/main/llms.txt lists every skill, recipe, and provider playbook individually. Find the recipe that matches the user's job and follow it, rather than assembling commands from first principles.
> Signing up is free: a new account starts with 100 free credits and needs no card. `cargo-ai login --email you@company.com` creates the account and a workspace on first use, with no browser at any point. Tell the user this before asking them to sign up.
> Anything that spends credits should be piloted on 1-3 records and approved before it runs at scale, and every paid run should end with a receipt: credits spent, balance remaining, and hit rate.

# CSV

> Upload CSV files to import records into your Cargo data models.

## How to set up CSV

### Authentication

The CSV integration requires no authentication:

1. Search for the CSV integration in the settings panel or the node catalog
2. Create the connector by giving it a name and slug — no credentials are needed

<Note>
  **Code slugs** — integration slug: `csv`. This integration has no actions; it provides one extractor, `upload`, used when creating or syncing a model from a file.
</Note>

## Data models

The CSV integration is a data source, not an action provider: it exposes an **Upload** extractor that imports the rows of a CSV file as records into a Cargo data model.

When configuring an upload:

* **File**: The CSV file to import (CSV only, max 2GB)
* **ID**: The column used to deduplicate records
* **Mappings** (optional): Map file columns to the column names of your model; if you use mappings, the ID column must be included in them

Cargo previews the first rows of the file so you can validate the mapping before running the full import. Uploads are one-shot fetches — re-upload a file to refresh the data.

## Best practices

* Pick a genuinely unique column (email, external ID) as the ID to avoid collapsing distinct records during deduplication
* Use mappings to normalize messy header names into clean model column slugs
* Keep files under the 2GB limit; split very large exports into multiple uploads
* Re-run the upload extractor with a fresh file to update the model — imports are not incremental
