# Tutorial

### Create a new Workflow

Create a new workflow in your B2Data environment.

<figure><img src="https://content.gitbook.com/content/BX1ikfC8m9miSMXUCjf2/blobs/zaJSr5txU2kro0dRNID4/image.png" alt=""><figcaption><p>Create New Workflow</p></figcaption></figure>

### Add Nodes to your workflow

In the left section you can find a list of nodes that you can use to build your workflow. Six of these nodes allow scripting usage which include: Source Script Nodes, Custom Script and Condition.

<figure><img src="https://content.gitbook.com/content/BX1ikfC8m9miSMXUCjf2/blobs/xjZ6TpsXkpzYW81dPoNe/image.png" alt=""><figcaption><p>Add File Uploader with some file, convert to Excel, then connect node to custom script node</p></figcaption></figure>

### Edit your Custom-Script Node

Double click on Custom Script node to write a script.

\*Feature to write scripts is available in [6 nodes](https://docs.b2winsuite.com/5.6/scripting/scripting-in-b2data/custom-script-nodes).

For example, you can write a script to return a filtered table from the table received from previous nodes:

```javascript
// Get a copy of the table reference from the previous node (premeir league table)
var table = NodeInputReader.inputAsDataFrame();

// Get the 2nd column as a String (football team column)
var stringColumn = table.stringColumn(1);

// Return a new table with only liverpool info filtered
return table.where(stringColumn.endsWith("Liverpool"));
```

<figure><img src="https://content.gitbook.com/content/BX1ikfC8m9miSMXUCjf2/blobs/JjFMuGOrrtZzeXBkZg9S/image.png" alt=""><figcaption></figcaption></figure>

Use the functions and classes you learn in [B2Win Suite Scripting](https://docs.b2winsuite.com/5.6/scripting/b2win-suite-scripting-overview) to write your own script.
