# Blocks

There are six categories of blocks in GoLess:

* **General**: To conduct a general action within the workflow. For example, make an HTTP request or run another workflow.
* **Browser**: To control the browser.
* **Web Interaction**: To interact with the active tab of the workflow. Prior to using blocks in this category, you should use a New Tab or Active Tab block.
* **Control Flow**: To add logic to the workflow.
* **Online Services**: Services that connect to GoLess.
* **Data**: Change or manage variables or tables of a workflow.

## Block Settings

The blocks are accompanied by a menu and parameters that may be configured.

### Menu

To find the block menu, place your mouse on a block in the editor's canvas, and it will show up above the block.

* **Delete**: remove the block
* **Block settings**: open up current block parameters.
* **Move block to group blocks**: move the block to the Group blocks by dragging and dropping the icon.
* **Enable/disable block**: deactivate block
* **Run**: execute the workflow from the active block.
* **Edit**: access block properties or click twice on the block.

You can also right-click on the block for more menus.

![Block menu](https://res.cloudinary.com/chat-story/image/upload/v1666161166/automa/block-menu_lq1vig.gif)

### Settings

The Block settings enable you to set up the block execution, error handling, and how it looks like.

* **General**
  * **Debug mode**: use CSP to run the block. Please note that this option is only functional for some blocks - for example, the Click Element Block and Forms Block.
* **On error**
  * **Enable**: Activate the error handler for the block
  * **Retry action**: retry the block execution in the event of a block error
  * **Throw error**: when selected, the block will initiate an error
  * **Continue flow**: when selected, the workflow will continue to execute
  * **Execute fallback**: when selected, the workflow will resume to the block that connects to the fallback output
  * **Insert data**: insert data into the table or variable
* **Lines**
  * **Select line**: choose the block link to customize
  * **Line label**: add a label for the link
  * **Animated**: animate the link
  * **Line color**: change the link color

![Block settings](https://res.cloudinary.com/chat-story/image/upload/v1666162997/automa/block-settings_ppatjo.gif)

## Selecting Blocks

To select blocks, press the `ctrl` key => click the block or `shift` key => drag the cursor.

![Selecting blocks](https://res.cloudinary.com/chat-story/image/upload/v1666163436/automa/selecting-blocks_vecdy3.gif)

## Linking Blocks

You can link one block to another by using the following methods:

* **Manually**: by sliding the block output towards a block input. Example:![connect block manually](https://res.cloudinary.com/chat-story/image/upload/v1662968420/automa/connect-block_advdve.gif) :::
* **Drop a block into a block output**: drop one block to the output of another block. Example:![drop to output example](https://res.cloudinary.com/chat-story/image/upload/v1642573402/automa/connect-block-ouput_nn5nx7.gif) :::
* **Clicking on the block output and input**\
  ::: Example ![Clicking the block output and input example](https://res.cloudinary.com/chat-story/image/upload/v1662968420/automa/connect-block2_slxrpv.gif) :::
* **Drop one block into another one**\
  ::: Example ![drop to another block example](https://res.cloudinary.com/chat-story/image/upload/v1656734189/automa/drop_in_a_block_zzrtaw.gif) :::
