# Workflow Blocks

Workflows are made up of Blocks. You can connect multiple Blocks together to build computer vision applications.

In this section of the Roboflow documentation, we will cover:

1. What each Block does
2. How to use each Block
3. When a Block may be useful
4. The response returned by a Block

This section is intended as reference as you build a Workflow. We encourage you to come here whenever you have a question about how to use a particular Block in the Workflows editor.

Several categories of Blocks are available:

| Category                  | Descriptoin                                                                                               |
| ------------------------- | --------------------------------------------------------------------------------------------------------- |
| Models                    | Run a fine-tuned or foundation model.                                                                     |
| Visualizations            | Visualize the output of a model.                                                                          |
| Logic and Branching       | Control the flow of your Workflow.                                                                        |
| Data Storage              | Save data in a Roboflow dataset or an external database.                                                  |
| Notifications             | Send an alert, such as an SMS message or email.                                                           |
| Video Processing          | Analyze the contents of videos with tracking algorithms, time in zone analysis, and line crossing checks. |
| Transformations           | Manipulate image and prediction data.                                                                     |
| Classical Computer Vision | Run classical computer vision tasks, such as edge deteciton, template matching, and size measurement.     |
| Enterprise                | Connect Roboflow to your Enterprise systems, such as using MQTT or Modbus TCP.                            |
| Advanced                  | Advanced blocks for specific use cases, like PASS/FAIL analysis, data caching, and embedding similarity.  |
| Custom                    | Make and run custom blocks with Python                                                                    |


---

# 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.roboflow.com/workflows/workflow-blocks.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.
