> For the complete documentation index, see [llms.txt](https://flapjax.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://flapjax.gitbook.io/docs/start-here/how-your-data-flows.md).

# How Flapjax processes your events

*Article · Collection: Getting started*

You send Flapjax data all day. A new customer, an updated profile, a record of something that happened. Every one of them takes the same path. Flapjax stores the data, your automations react, and your labels, segments and reports catch up. This article walks that path in plain terms.

## What counts as an event

An event in Flapjax is a change to a **person** or a **record**. Creating one, updating one, deleting one. A new signup, a profile edit and a row logged to a stack are all the same kind of thing underneath.

The meaning comes from you. A purchase, a session, a transaction: you decide that with your stacks and automations. Flapjax hard-wires none of it.

## The journey of one event

**1. It arrives.** You send data through the REST API, a streaming connection, a CSV import, or by typing it into the interface. Sometimes your data points at something Flapjax has never seen, such as a record referring to an unknown customer. Flapjax then creates a placeholder and keeps the link. Later writes fill in the detail.

**2. Flapjax stores it.** The person or record is saved straight away. This step is synchronous. Once your API call returns a success, the data is written.

**3. Flapjax checks your automations.** The moment the data lands, Flapjax looks at everything that might care about it:

* Does this change match a **sequence** trigger? The person gets enrolled.
* Does it match a **workflow** trigger? A run starts.
* Does it match a **smart label** rule? The label goes on or comes off.
* Is an automation **waiting** for exactly this event? The run resumes.

**4. Actions run.** Enrolled sequences and started workflows execute their steps. They update data, branch on conditions, loop over records, wait out delays and send messages.

**5. Messages go out.** Emails, SMS, push notifications and chat messages travel through your connected providers. After a message goes out, the automation picks up where it stopped.

**6. Everything reflects the change.** Your segments, labels and reports run live, so they already include the new data. In the web app, changes appear across your tabs and your teammates' screens with no refresh.

## How fast is it?

Flapjax reacts as data arrives, not on a schedule. Automations fire on the triggering event. Smart labels get re-evaluated the instant a person or record changes.

A few heavier views load on demand: the people list, the records grid, the communications log and reports. You see their latest data on open or refresh.

## What if two things happen at once?

Flapjax processes plenty in parallel to stay fast. That suits almost every use case.

Send many changes for the *same* person within a moment of each other and they may run at the same time, not in a strict order. Space those changes out, or model them so the order does not matter.

## When something goes wrong

An event that cannot be processed never disappears quietly. Flapjax records it for you to inspect. See [What happens when an event fails](/docs/troubleshooting/when-an-event-fails.md).

## Quick recap

You send data. Flapjax stores it right away. Your automations react in real time. Messages send, data updates, and your labels, segments and reports stay current. You configure what reacts and how. Flapjax runs the flow.
