> For the complete documentation index, see [llms.txt](https://support.sayprimer.com/primer/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://support.sayprimer.com/primer/primer-support-review/data-sources/uploading-via-s3.md).

# Uploading via S3

Drop people and company CSVs to your Primer S3 location for automated loading.

**Beta — contact** [**support@sayprimer.com**](mailto:support@sayprimer.com) **to request access.**

You can load people and companies into Primer by dropping CSV files to an S3 location Primer reads. This is the automated equivalent of [importing a CSV](/primer/primer-support-review/data-sources/importing-a-csv.md) and works well with pipelines like Snowflake, Hightouch or Fivetran.

## Where files go

Put each record type in its own folder under your dataset prefix:

* People — `{prefix}/datasets/people/`
* Companies — `{prefix}/datasets/companies/`

Your `prefix` comes from your sync configuration; support provides it when you're set up.

## File format

Each file is a [CSV with a header row](/primer/primer-support-review/data-sources/importing-a-csv.md) using the canonical people or company columns. Each file is a **complete snapshot** of that dataset — records absent from a new file are dropped, not merged.

## What happens after you drop a file

Primer picks up the file, processes it, and moves it into an `archived/` subfolder on success or a `failed/` subfolder on failure, so you can tell whether a drop was ingested.

## Exporting to Primer's S3 from your warehouse

Any tool that can write a CSV to an S3 prefix can feed this drop. The pattern is the same whatever you use: produce a CSV with the [canonical columns](/primer/primer-support-review/data-sources/importing-a-csv.md) and land it in the right `people/` or `companies/` folder under your prefix.

* **Snowflake** — `COPY INTO '@your_stage/...'` (or an external stage pointed at the prefix) to unload a query result as CSV directly to the S3 location.
* **Hightouch** — configure an **Amazon S3** destination targeting your prefix and sync a model to it on a schedule.
* **Fivetran** — use an S3 destination / transformation that writes the CSV to the prefix.

Because each file is a **complete snapshot**, schedule the export to write the *whole* current dataset each run, not just changed rows — anything absent from the newest file is dropped. Your prefix and the exact folders come from your sync configuration; support provides them when you're set up.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://support.sayprimer.com/primer/primer-support-review/data-sources/uploading-via-s3.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
