In OutSystems Platform, the logic of your eSpace is implemented through Actions. You can add business logic to your eSpace both in the requests (e.g. pressing a button) and in the responses (before rendering a screen) of your eSpace.
A request is executed in the context of the screen where it is invoked; while the response may be executed either by the same screen where the request was placed or by a different screen. For instance, for a request to create a new Customer, the response may be executed by the same screen (showing the new Customer data) or by a different screen (with an updated list of Customers).
Actions executed by the request are called Screen Actions. A Screen Action reacts to an action of the end-user in a specific screen. Screen actions are those that normally implement business logic, such as creating new records in the database.
An action that is executed by the response and runs before the rendering of the screen is called a Screen Preparation. A Screen Preparation prepares the screen rendering. It is this special action the one that normally fetches the content of the database, for example to display a list of Customers.
Avoid executing operations in the Screen Preparation that change information in the database.
In a Screen Action or in a Screen Preparation you can invoke System actions, user-defined actions or actions defined and made available by external systems.
System Actions: are provided the OutSystems Platform and you cannot change their behavior or even see how they're implemented. See Entity Actions, Role Actions, Wake<Timer> Action and other System Actions.
User-defined: your own actions designed in Service Studio. See User-defined Actions.
Referenced Actions: defined and made available by external systems, through extensions or web services.
Screen actions, screen preparation and user-defined actions are implemented through Action Flows and Service Studio provides a specific editor to design these action flows.
Create a Screen Action | Create the Screen Preparation | Create a User-defined Action | Action Flow Toolbox