# Understanding Directual Scenarios

{% hint style="info" %}
101-course: [The basics of Directual scenarios](https://www.directual.com/101-crash-course/scenarios-the-basics)
{% endhint %}

Directual scenarios are a crucial component of your application's back-end logic. Scenarios manage and process data based on specified criteria.

{% embed url="<https://youtu.be/MdfWP8NhMpQ>" %}

Directual scenarios process objects in a **target data structure**. You can select the **target data structure** when configuring the **START step:**

![Choosing target structure for scenario](https://3071851461-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M4Nnmtk9_gFGWOddsf6%2F-M6i6zQxx_9o_Im5BZKR%2F-M6iF-WWjFIOGbrtioct%2Fscen1.gif?alt=media\&token=26305e42-19b7-4864-a7fa-6a1bee511c3c)

## Types of triggers

Directual scenarios offer two primary types of triggers:

* [Real-time, event-](https://readme.directual.com/scenarios/event-driven-triggers)[based](https://readme.directual.com/scenarios/event-driven-triggers) (as a reaction to an [event](https://readme.directual.com/scenarios/principles-of-scenarios/directual-event-model)): These scenarios respond to specific events, such as user actions or changes in the application's data. For instance, a scenario can be triggered when a user submits a form.
* [Schedule](https://readme.directual.com/scenarios/schedule-triggers)[d](https://readme.directual.com/scenarios/schedule-triggers): Scheduled scenarios run at predefined times or intervals, providing you with the ability to automate tasks. For example, you can schedule a scenario to execute every Monday at 4:40 p.m. GMT.

Additional trigger options:

* [Calling scenarios from within scenarios](https://readme.directual.com/scenarios/editing-scenarios/system-steps/link-scenario-step): You can execute one scenario from another using the Link scenario step, creating complex workflows by chaining scenarios together
* [Synchronous scenarios](https://readme.directual.com/scenarios/synchronic-scenarios-1): These scenarios respond to synchronous POST requests and process incoming data, returning it as an API response

{% hint style="info" %}
Note that a single scenario has the capability to incorporate all available trigger types!
{% endhint %}

![An example of a scenario which combines different trigger types](https://3071851461-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M4Nnmtk9_gFGWOddsf6%2F-MBcigRIqhuj12YkObG4%2F-MBcj43lX0YFMwPiehBr%2Ftriggers.jpg?alt=media\&token=15fcb133-b6b6-4b0a-a34e-72187551d5e5)
