# Understanding flows

Copy as Markdown[View as Markdown](/docs/development/guides/flows/introduction.md)

***

**Added in** `eventcatalog@2.5.0`

Flows are a way to document business workflows in your organization. You can reuse your documented resources (e.g services, messages, data stores, data products) in your flows.

An example of a flow would be when a user makes a payment to an e-commence system, this interaction triggers many parts of the architecture (services, external services, commands, queries and events):

1. User requests to make payment (e.g MakePayment Command)
2. Command is sent to Payment Service (e.g Payment Service)
3. Payment service will either accept or reject payment (e.g PaymentAccepted / PaymentRejected events)
4. Notification service listens to these events and sends Emails (e.g EmailSent Event)
5. User will be notified of payment success/failure

### Example[​](#example "Direct link to Example")

![Example](/assets/images/flow-example-59e47d42d538c3deffbfce479b10980d.png)

[You can see a payment flow example here](https://demo.eventcatalog.dev/visualiser/flows/PaymentFlow/1.0.0).
