Skip to main content

Topics

topics denote distinct sections of an agent workflow. They contain any number of tasks for the agent to complete, as well as guidance on how the next topic should be selected.

Example Topic

Below is an example of a "introduction" topic that includes all optional topic parameters:

    "topics": [
{
"name": "Introduction",
"description": "You are joining the call, saying hello and asking for the person's name and company.",
"instructions": [
"Do not provide responses longer than two sentences."
]
"next": [
"Benefits for developers",
"Benefits for analysts"
],
"disallow": [
"End conversation"
]
"max_count": 1,
"priority": 1,
"required": true,
"tasks": [
{
"type": "speak",
"copy": "Hi there! I'm Max. I'm excited to give you an overview of what the AgentStation platform can do. Let's dive in!"
},
{
"type": "share_screen",
"selector": "button[aria-label=\"Share Screen\"]"
},
{
"type": "go_to_url",
"url": "https://www.addmax.ai/"
},
{
"type": "speak",
"instructions": ["Give a brief overview of the AgentStation platform"]
},
{
"type": "question",
"copy": "To start, could you tell me your role at your current company?"
}
],
"optional_response": true
},
]

Topic Context Parameters

Topics contain several parameters to give the LLM context on the specific topic for generative steps (selecting topics, as well as speak/input actions).

name

A short name of the topic. This name is used to specify topics for the next and disallow topic selection parameters, and is also used by the LLM to aid in topic selection.

description

A one sentence description of the topic to aid the LLM in topic selection.

instructions

An array of specific instructions for the LLM at the topic level. These are used for any generative tasks within the topic only.

Topic Selection Parameters

The state machine will always select the first topic in the JSON configuration file to start.

After completion of the first topic, the state machine takes into account several parameters to determine the list of available next topics:

next

A list of topics that must be selected from for the next topic.

disallow

A list of topics that must be NOT selected from for the next topic.

max_count

The number of times a topic can be selected before it is disallowed.

Once the state machine has created a list of possible next topics, it will determine how to proceed:

priority

An integer that suggests how highly a topic should be prioritized by the LLM during topic selection, where 1 is the highest priority.

required

A boolean that denotes a topic that must be completed prior to session end.

  • If only one topic is available, the state machine will select that topic.
  • If no topic is available, the session will end.
  • If multiple topics are available, the state machine will leverage an LLM to select the most appropriate next topic using context from the conversation and the priority order given.

optional_response

optional_response is used to denote whether the LLM has the option to provide an additional speaking response to a user at the end of each topic, with a default value of FALSE. For optional_response = TRUE, the LLM will decide whether or not to provide a response to the user based on the input, then speak the response.

You should use this field for topics that end in a question task, where the question may need to be answered by the agent.