# 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](/files/-Ma2WzjWADWA4jUc_HGC)

### :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 %}


---

# 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://help.inteliwise.com/what-can-you-do-with-inteliwise-blocks/custom-js-where-to-insert-a-custom-code.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.
