# Backend Workflows

Backend workflows are workflows executed on the server side of your application. In principle, the heavy actions that run on the backend should be at least a couple of times faster because they are use server resources and not the client. And because they are run server-side they will use your app's available capacity.&#x20;

Rule of thumb: you should use backend workflows for data changes that require substantial resource availability like the creation of dozens and dozens of database things, making changes to the lists or the result of the change or creation of the object does not have to be immediately visible to the user.&#x20;

When you create or update a thing on the client side, Bubble is smart enough to display the change first for the User and then make changes to the database behind the scenes. Because of that sometimes it makes sense to build a workflow specifically for client-side as it will provide better UX (changes will be visible faster for the User). For example: adding an item to a shopping cart, or adding 3 newly created items to the list.&#x20;

Other advanced use cases are for example exposing your endpoints to communicate with 3rd party solutions via webhooks integration.

Read more about server-side actions in the [Bubble manual](https://manual.bubble.io/help-guides/the-bubble-api):

* [Database triggers](https://manual.bubble.io/core-resources/events/trigger-event#trigger-event)
* [Data API](https://manual.bubble.io/core-resources/api/data-api)
* [Recurring events](https://manual.bubble.io/help-guides/the-bubble-api/scheduled-workflows#set-up-a-recurring-event)

Read about how to secure your backend [in this section](/working-with-the-framework/security-and-privacy/authenticating-endpoints.md).&#x20;


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.openbuild.io/working-with-the-framework/data-and-workflows/backend-workflows.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
