# Actions

Workflow contains a tree of actions and actions are where you define logic for data fetching, transforming of the data and syncing of the final resulting data.\
\
Currently there are just four action types:

* [Expression](https://docs.syncmate.com/getting-started/actions/expression)
* [HTTP paginated](https://docs.syncmate.com/getting-started/actions/http-paginated)
* [Foreach](https://docs.syncmate.com/getting-started/actions/foreach)
* [CMS Data Sync](https://docs.syncmate.com/getting-started/actions/cms-data-sync)

Important concept with every action is that fields in actions that have highlighting are **JavaScript expressions**. Another important concept is that **ctx** object is used to pass data from parent into its children and to the next action in the scope.

<figure><img src="https://296734879-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FQlDOQVFjSsWJSm47zpFE%2Fuploads%2FTbDYnji84wrxO8Zk21zF%2FForeach.png?alt=media&#x26;token=2f6d8ed1-86af-4071-9fdf-79aac15f9026" alt=""><figcaption></figcaption></figure>
