# Before you trigger a care flow
URL: https://docs.awellhealth.com/docs/automate-with-events/before-you-trigger-a-care-flow

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



Several triggers can start a care flow, and nothing restricts a care flow to one of them. Each suits
different situations, so running more than one is normal.

Whichever trigger starts it, a care flow needs a patient and whatever data its logic reads.

## Create a patient first [#create-a-patient-first]

Every care flow is linked to a patient, so the patient has to exist before the flow can start.

**Anonymous patients are supported**, with no protected health information at all, which suits a public
intake form where the person filling it in isn't known yet.

**Populate `patient_code`.** It holds the calling system's own internal ID for the patient, and it's
what matches a patient in Awell to the same person elsewhere. Skipping it makes the two records harder
to match up later. See
[Patient identifiers](/docs/connect-systems/patient-identifiers).

## Decide what data the flow needs at start [#decide-what-data-the-flow-needs-at-start]

At start, a care flow needs:

1. **Data about the patient**, as above.
2. **Data the care flow's logic needs.** Anything a condition, a calculation or a timing reference
   reads. These arrive as
   [baseline data points](/docs/design-care-flows/enrich-your-care-flow-with-baseline-data).

If the flow's logic reads a baseline value that never arrived, the flow reaches that logic and stops
without raising an error. Work out what the logic needs before wiring the trigger, not after.

## Triggers, ordered by engineering effort [#triggers-ordered-by-engineering-effort]

| Trigger                                                                                   | Engineering effort      | Best when                                          |
| ----------------------------------------------------------------------------------------- | ----------------------- | -------------------------------------------------- |
| [Awell Care](/docs/automate-with-events/trigger-from-awell-care)                          | None                    | A person starts flows, or a flow needs testing     |
| [Hosted Pages link](/docs/automate-with-events/trigger-with-a-hosted-pages-link)          | Very low                | Patients self-enroll from a link or QR code        |
| [File upload](/docs/automate-with-events/trigger-from-a-file-upload)                      | Very low                | Batches, on a schedule                             |
| [Incoming webhook](/docs/automate-with-events/start-a-care-flow-from-an-incoming-webhook) | Low                     | Another system emits an event                      |
| [ADT feeds](/docs/automate-with-events/adt-feeds)                                         | Medium, plus a hospital | Hospital admission and discharge should drive care |
| [The API](/docs/automate-with-events/trigger-with-the-api)                                | Highest                 | The integration needs full control                 |

## Next steps [#next-steps]

**Next:** [Enrollment triggers](/docs/automate-with-events/enrollment-triggers), the place in the app
where all of this is managed.
