# Trigger from a file upload
URL: https://docs.awellhealth.com/docs/automate-with-events/trigger-from-a-file-upload

> For the complete documentation index, see [llms.txt](https://docs.awellhealth.com/llms.txt).





This trigger starts care flows from files uploaded to an FTP server Awell provisions. It takes
practically no engineering effort and starts **many care flows in one batch**.

> Not to be confused with [collecting files and images](/docs/design-care-flows/file-upload), which is a
> form question type. This page is about a file that *starts* care flows.

## Awell polls the server and starts the flows it finds [#awell-polls-the-server-and-starts-the-flows-it-finds]

1. **Awell provisions a secure FTP server** and provides the login credentials.
2. **Files arrive as CSV** (or a similar format), in a structure agreed in advance.
3. **Awell polls the server periodically**, for example hourly. When it finds a new file it processes it
   and starts the required care flows.
4. **Awell handles the patient side**: checking whether the patient already exists, creating the record
   if not, then starting the flow.
5. **Awell keeps logs** for auditability.

<img alt="Monitor's data ingestion view, listing each uploaded file with its status, success rate, record count and processing time" src="__img0" />

**Monitor → Data Ingestion** is where those runs are reviewed, per file.

Polling is the part to design around: enrollment happens on the poll interval rather than the moment
the file lands. If a flow needs to start within seconds, use a
[webhook](/docs/automate-with-events/start-a-care-flow-from-an-incoming-webhook) instead.

## Best for scheduled batches and systems that can't call an API [#best-for-scheduled-batches-and-systems-that-cant-call-an-api]

* A batch of patients enrolls on a schedule, for example a weekly list from another team.
* The source system can produce a file but can't call an API.
* The audit trail a file leaves behind is worth having.

## Agree the format first [#agree-the-format-first]

Agree the file format before the first upload: which columns map to which baseline data points, what
identifies the patient, and what happens to a malformed row.

## Next steps [#next-steps]

**Next:** [ADT feeds](/docs/automate-with-events/adt-feeds) for hospital-driven enrollment.
