https://retellai.com/?utm_source=discord&utm_medium=seo logo
I want to test the agent but I want to test it wit...
# ❓・ai-evy-support
m
@AI Evy I want to test the agent but I want to test it with certain inbound dynamic vars how can i simulate this as well
a
Thanks for tagging me @Mikey. I'll look through relevant sources and get back to you shortly.
### Answer In the LLM Playground, open the
Test Inputs
dropdown next to the tabs and use the
Dynamic variables
tab to give each dynamic variable a test value, then click
Save
to apply it before chatting [(1) ]() . This makes placeholders like
{{customer_name}}
resolve the way they would on a real call . You can also set dynamic variable test values inside a simulation test case, under its
Test Variables & Mocks
section, so automated runs resolve placeholders the same way real calls do [(2) ]() [(3) ]() . To avoid retyping values, you can load them from a saved environment tag (every agent has a
prod
and
staging
tag) via
Load Saved Values
, then adjust them for the specific test — edits made this way stay on the test case only and don't affect the tag [(2) ]() . Note that these dynamic variable test values apply to both Test LLM and Test Audio runs for the agent, but are kept in your browser rather than saved to the agent itself [(1) ]() . One caveat from the community: phone-specific dynamic variables like
{{user_number}}
and
{{agent_number}}
come from the actual to/from numbers on a real call, so they won't populate when testing purely through the web playground without a real call happening [(4) ]() .
​ To learn more, see the sources I considered: [[1] Manually test your agent](https://docs.retellai.com/test/llm-playground) [[2] Automatically test your agent](https://docs.retellai.com/test/llm-simulation-testing) [[3] Dynamic variables: personalize Retell agent calls](https://docs.retellai.com/build/dynamic-variables) [[4] Inbound Dynamic Variable Webhook not being received](https://discord.com/channels/1186424376300679209/1329515648367333506) ​
Feel free to tag @AI Evy with additional questions. I also appreciate feedback, it helps me improve.
m
@AI Evy tool parameter type form vs json
a
Thanks for the follow-up, @Mikey. I'll get back to you soon.
### Answer For custom functions, you define parameters using either JSON schema or the form editor — these are two ways to configure the same thing, not different behaviors [(1) ]() . For POST, PATCH, and PUT requests, you define the parameters the agent sends in the request body using either method. A property with a
description
is filled in by the LLM, while a property with a
const
value is applied directly . Example parameter schema (JSON) :
Copy code
json
{
 "type": "object",
 "required": ["order_id"],
 "properties": {
 "name": {
 "type": "object",
 "properties": {
 "first_name": {
 "type": "string",
 "description": "User first name"
 },
 "last_name": {
 "type": "string",
 "const": "{{last_name}}"
 }
 }
 },
 "order_id": {
 "type": "number",
 "const": 1234
 }
 }
}
The most common mistake when configuring parameters is leaving
"type": "object"
off the top level of the JSON schema — if the function won't save, this is usually why . There's also a Payload: args only toggle that affects the request body structure independent of whether you use JSON or form: when it's on, the request body is just the function's arguments at the top level with no wrapper; when off, the body follows the spec with
name
,
call
, and
args
.
​ To learn more, see the sources I considered: [[1] Integrate any system with custom function](https://docs.retellai.com/build/single-multi-prompt/custom-function) ​
Feel free to tag @AI Evy with additional questions. I also appreciate feedback, it helps me improve.