# CUSTOM JS – Where to insert a custom code?

**Custom JS** is the most customizable block. By default, it has one input port, but it can have as many output ports as you need.

![CUSTOM JS](https://3178614347-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MZH0pztnT6Y2pBzyXGg%2F-Ma2WkdD5SjnvOemekCC%2F-Ma2WzjWADWA4jUc_HGC%2FInteliWISE%20STEP%20BY%20STEP1%20szary%20\(19\).png?alt=media\&token=b36f24f9-4cf5-4cc1-94b0-f9823f6331e9)

### :point\_right: **BASIC FUNCTIONALITIES**

**JS -** This is where the JavaScript code can be placed. In this field, you can insert any code you need to make your voicebot behaving according to your business requirements.

**Number of outputs –** Here you specify the number of output ports you want this particular block to consist of. This allows you to create multiple branches of the Conversational Flow Scenario.

{% hint style="warning" %}
**REMEMBER!**  *When creating a code in the JS field write `return out1()`, `out2()` etc. for each output port of the Custom JS Block.*&#x20;

*If you want to pass an argument to the next block your output port function should return it.*
{% endhint %}

{% hint style="success" %}
**TIP:** *Typically, the return functions should be placed at the end of the code. The only exception is when you need to break the code execution.*
{% endhint %}
