Overview
Input variables let you run the same custom agent with different data each time. Instead of hardcoding a customer name, date range, table of rows, or configuration object into the agent, pass that value at run time and let the workflow read it as a variable. Use input variables for data the agent is allowed to see. Use secret variables for credentials or other sensitive values that should be substituted later without exposing the value to the model.Input Variables
Runtime values for custom agents. The agent can read them, reason about them, and use them in workflow steps.
Secret Variables
Sensitive values for prompt substitution. Use
${variable_name} syntax when the model should only see the placeholder.The Default chat_input Variable
When you call a custom agent with a plain prompt, Narada stores that prompt in the chat_input input variable. The SDK examples on this page use a BrowserEnvironment; see Getting Started with the SDK for setup.
chat_input for the main user instruction in new custom agents.
Before You Pass Variables
Declare the non-chat_input variables that the custom agent expects before you pass them at run time. In Agent Studio, add the variable to the custom agent and choose its type so Narada can validate incoming values and show the variable in the builder. Python custom agents should declare every non-chat_input value they read, because the agent’s variables dictionary is built from declared workflow variables.
The declared type also tells Narada how to validate and coerce incoming values. For example, a declared number must receive a number, a declared enum must receive one of its allowed values, and a declared dataTable can receive one of the supported table shapes below.
Passing Multiple Variables
For direct SDK, REST API, and prompt-text custom-agent runs, there are two supported formats for passing more thanchat_input. Use structured input variables for new SDK and REST API calls. Narada also supports the prompt text inputVariables={...} format for prompt-based runs.
SDK and REST API
When calling a custom agent from the SDK or REST API, pass an object whose keys match the variable names in the custom agent. In the Python SDK, useinput_variables. In the REST API body, use inputVariables.
chat_input in input_variables, Narada uses that value as the main instruction. If you omit it, the prompt text becomes chat_input.
When calling the REST API directly, use the inputVariables body field:
Prompt Text Format
Narada also supports putting variables directly in the prompt by appendinginputVariables={...} with valid JSON. Prefer the structured input_variables argument or inputVariables REST body field when you can control the caller.
inputVariables={...} becomes chat_input unless the JSON object already includes chat_input. If the JSON object includes chat_input, put inputVariables={...} at the start of the prompt with no leading instruction text.
Supported Types
These are the common JSON-shaped input types for custom agents, including object and data table inputs. Agent Studio also has specialized variable types such asfile, image, and cssSelectors for attachment and selector workflows; this page focuses on values you pass as JSON or Python data structures.
String
Number
Boolean
Enum
Array
Object
Data Table
Data Table Shapes
A data table input is passed under the variable name, such asinput_variables={"vendors": <table value>}. The table value itself can use either shape below.
A declared dataTable variable accepts either the canonical table shape. In this shape, columnNames and every cell in rows must be strings:
null; Narada converts accepted cells to strings in the table, and null becomes an empty cell. Missing keys, extra keys, nested objects, and nested arrays are rejected.
An empty array ([]) is also accepted and creates an empty table.
Referencing Variables in Agent Studio
In GUI workflow steps, reference input variables with the same variable syntax used for other workflow variables:Best Practices
Declare variables in the custom agent
Define each expected non-
chat_input input variable on the custom agent so Narada can validate its type before the run starts and make it available in Studio and Python agent code.Use clear variable names
Prefer descriptive names like
searchTerm, maxResults, customer, and vendors over short names like q, max, or data.Use `chat_input` for the main instruction
If the agent has one primary user instruction plus supporting data, put the instruction in
chat_input and keep the other keys focused on structured inputs.Keep prompt-embedded JSON strict
When using
inputVariables={...} in the prompt text, keep the JSON valid and do not add extra text after the closing }.Next Steps
Python Agents
Read input variables from Python agent code
Python Code Steps
Use workflow variables inside Python Code steps
Agent Studio Variables
Reference variables in GUI workflow steps
Remote Dispatch
Pass input variables through the REST API