# Parameters

**Parameters** help your agent to extract and utilize specific information from the user’s input.&#x20;

In order to collect a user's information (i.e Pizza size), you need to define a parameter that will know to extract the specific information from the user's input and store it under this parameter.&#x20;

Parameters are can be in many nodes, e.g. in the *Collect Input* node, the *Classification* node, as well as the *Conditions* node, as well as *Set Parameter*.

{% hint style="info" %}
***Custom parameters** are created by the user based on the flow, e.g. ORDER\_NO parameter to collect and store an order number.*&#x20;

***User Parameters** are user specific information that is going to be saved under the* [*<mark style="color:purple;">user data storage parameters</mark>*](https://studio.docs.ai.vonage.com/ai-studio/users-coming-soon)*<mark style="color:purple;">.</mark>*&#x20;
{% endhint %}

![](https://3877181490-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-L_81A0PNZfdawu_TPAO%2Fuploads%2FvhmNXTByWhmgubwCmaYW%2FScreen%20Shot%202022-06-15%20at%2014.50.59.png?alt=media\&token=12925818-7ac6-4752-a4c8-c1588adae880)

### Create a parameter

1. In the left navigation, click on **Properties -> Parameters.**
2. A new drawer will open up on the right side of the screen,&#x20;
3. Add a parameter by clicking on the first row of the parameter table.
4. Name the parameter- Use capital letters and “\_” in between the words (i.e. CALLER\_NAME).
5. Select the relevant **@entity type.**
6. If you are looking for the caller to fill the value, leave the value empty.&#x20;
7. To save the parameter click anywhere in the drawer.

![](https://3877181490-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-L_81A0PNZfdawu_TPAO%2Fuploads%2FFI9FFa7402R9KZQIYqPY%2FCreate%20Param.gif?alt=media\&token=52463499-8e2c-4e53-9d46-407cffb5164e)

You can use the parameters you created throughout the conversation in multiple places.&#x20;

{% hint style="info" %}
*You can also create a new parameter on the spot in each node (e.g. Collect Input, Classification & Condition)* *by pressing* *the **Parameter** drop-down and then clicking **‘Create Parameter’.***
{% endhint %}

### Using Parameter Values during the conversation

The agent can read out a value that has been collected in the intent or throughout the conversation. You can add the name of the parameter preceded by a dollar sign (**$PARAM\_NAME**) to the response.

For example, “Thank you for your order. Your keyboard will arrive soon” suggests that the agent collected the type of product in the intent and completed the process by reading it out. In the response, you may write “Thank you for your order. Your **$PRODUCT\_TYPE** will arrive soon".

![](https://3877181490-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-L_81A0PNZfdawu_TPAO%2F-Mb60JWAWmYdC2WCkznC%2F-Mb61uqrcPy3tcUPglU8%2FScreen%20Shot%202021-06-01%20at%2013.08.06.png?alt=media\&token=9c7bfce1-fda3-433f-8a67-ff09329b9fce)

### System Parameters

These parameters are saved right from the start of the call throughout the entire conversation. Feel free to use them in the conversation, e.g. when you want to send a text message to the user with the call start date/ time.

#### For voice-based agents

CALLER\_PHONE\_NUMBER - Phone number of the caller

CALL\_START\_DATE - date of the call

CALL\_START\_TIME - time when the agent picked up the call&#x20;

CALL\_DIRECTION - will hold either "Inbound" or "outbound" in the value depending on whether this is going to be an inbound or outbound agent. Useful when you want to restrict an agent only to be reached if it's an outbound or inbound call. &#x20;

AGENT\_PHONE\_NUMBER - Virtual phone number of the agent.

SESSION\_ID - Sequence of numbers and letters to identify the specific call.

CONVERSATION\_ID - Contains the Conversation ID/UUID sent from Vonage API.

AGENT\_ID  - Contains the Agent ID.

VAPI\_CALL\_ID - This parameter contains the Call ID from Voice API in the dashboard. This allows you to match calls between the Studio log and Voice API dashboard log.

#### For text-based agents

SENDER\_PHONE\_NUMBER - Phone number of the user.

CONVERSATION\_START\_TIME - time of the interaction.

CONVERSATION\_START\_DATE - date of the interaction.

AGENT\_PHONE\_NUMBER - Virtual phone number of the agent.

SESSION\_ID - Sequence of numbers and letters to identify the specific call.

INITIAL\_MESSAGE - The content of the first message to initialise the conversation.

AGENT\_ID  - Contains the Agent ID.

### Multi-value Parameters

Enabling multi-value parameters allows the agent to catch more than one value.&#x20;

E.g., a user is ordering a pizza and wants to add more than one topping. If the multi-value logic is enabled, the agent will be able to pick up all chosen toppings.&#x20;

![](https://3877181490-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-L_81A0PNZfdawu_TPAO%2Fuploads%2FMECknyLilZG2kFMrwG4I%2FMulti%20param%20Gif.gif?alt=media\&token=ee7ff65c-8954-4e2c-85e4-921c09839975)

#### How does it work

1. When creating a new parameter, make sure to click on the three little dots on the right of the parameter and enable "multi-value". To check whether a parameter has this logic enabled, check the icon next to the parameter name. In the example above, we are using a manually created entity called "toppings" with the values we are then collecting in the example (pineapple, cheese, etc)&#x20;
2. Add the parameter like you would do any other parameter to the *Collect Input* node.&#x20;
3. If you want the agent to read the captured values back to the user, simply add $ and a drop-down will show you the list of your agent's parameters. When you're selecting the multi-value parameter you can choose whether you'd like the agent to separate the values with "and" or "or".&#x20;


---

# 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://studio.docs.ai.vonage.com/properties-1/parameters.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.
