# Menu

The agentic menu navigates through the flow by choosing one of the available options using either voice, chat or Dual-Tone Multi-Frequency (DTMF) input. The options can contain the symbols 0-9 and \*.

When a valid option is provided, the flow continues through the option exit. If the iteration limit number is reached before reaching a valid option, the flow continues through the fallback option.

<figure><img src="https://4187494610-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FFe4cpY1jy0FJ4kgC7wSx%2Fuploads%2Fk9Y3iNKatwtomERYvSmg%2Fmenu-node.png?alt=media&#x26;token=7cc59167-9ded-4ca6-ae60-64f81473f67d" alt=""><figcaption></figcaption></figure>

## Parameters&#x20;

<table><thead><tr><th width="141">Setting</th><th>Description</th></tr></thead><tbody><tr><td>Name</td><td>The meaningful name for the agent.</td></tr><tr><td>System prompt</td><td><p>Specific instructions that describe the job of this agent. E.g. <code>Ask caller for zip code</code></p><p>Allows variable substitution by placing a variable name between curly brackets e.g. <code>{currentTime}</code>.</p></td></tr><tr><td>Memory identifier</td><td>The meaningful name to store the interaction between this agent and the user. The interaction is shared with subsequent agents that have a matching memory identifier.</td></tr><tr><td>Iteration limit</td><td>Number of times the user can interact with the agent. If the iteration limit is met before the agent reaches a goal the <code>fallback</code> exit is chosen.</td></tr><tr><td>Take initiative</td><td>If checked, the agent will start the conversation instead of waiting for user input.</td></tr><tr><td>Option</td><td>The next step the menu takes when the instructions from the <code>option description</code> are met, or the corresponding <code>key</code> is entered through DTMF input.</td></tr><tr><td>Key</td><td>The corresponding DTMF symbol (<code>0-9</code> or <code>*</code>) that the user can provide to select that option. The key must be unique within the scope of the menu node.</td></tr></tbody></table>

## Guidelines for effective system prompts&#x20;

Using effective system prompts in the agent is crucial for creating user friendly and consistent flows. When writing these system prompts it's important to use the following structure&#x20;

1. Describe the **type of agent** you're looking for, this gives the agent context and character. The behavior of the agent differs based on this information. There's a difference between talking to **Captain Jack Sparrow** or **Professor Snape**.&#x20;
   * You are a receptionist assistant for Concentrix Airlines.&#x20;
   * You are a weather agent for Concentrix Meteo who can interpret and answer question about a weather forecast.
2. Describe **what the agent has to do**. This gives the agent the information it needs to perform the task.  Be concise and descriptive and keep the amount of tasks low. If the number of tasks becomes to high the agent will not perform at its best, it's best to split the agent at this point to improve the consistency of the flow.&#x20;
   * You need to determine the intent of the user and direct them to the next step&#x20;
   * Start by providing tomorrow's maximum and minimum temperature and ask if the user wants more information.
3. Add **boundaries to the agent**. This ensures the agent sticks to the task that is described above. Not including this section results in unwanted behavior.&#x20;
   * you can't answer any other questions&#x20;
   * you can only use the provided data

{% hint style="success" %}

1. You are a receptionist assistant for Concentrix Airlines.&#x20;
2. You need to determine the intent of a user and direct them to the appropriate tool. \
   Possible intents: booking, status, upgrades, support&#x20;
3. You can't answer any other questions
   {% endhint %}
