Tool; the filtered result is what agent.ainvoke_tool returns.
Configure an output schema
1
Open the agent's skills
Open your agent in Xpander Chat and go to the Skills row. You’ll see the skills attached to the agent.

2
Open the Output schema tab
Click the edit icon next to the skill you want to filter. In the dialog, select the Output schema tab. Declare the fields you want the agent to see. Anything you omit is dropped before the response reaches the LLM.
Write the schema from a real captured response, not the API docs. Open the agent’s run history, expand a skill result to see the full JSON shape, and pick only the fields the agent actually needs to answer questions. Be aggressive. Leave a field out and add it back only if the agent fails without it.

3
Save and publish
Click Save, then Publish. The schema applies to every invocation from that point on, whichever agent loop runs the agent.
Verify the filtered shape from code
Once a schema is published, invoke the skill directly and inspect what the LLM actually receives:Troubleshooting
Schema is configured but the full payload still reaches the LLM
Schema is configured but the full payload still reaches the LLM
Output response filtering only applies to remote catalog skill calls, not local
@register_tool functions. Whatever you return from a Python function reaches the LLM verbatim. To slim a local skill’s output, do it inside the function before returning.The agent hallucinates values it used to read from the response
The agent hallucinates values it used to read from the response
The schema dropped a field the agent actually needed. Add it back and republish. Common case: stripping
created_at because it seems unnecessary, then a user asks “when did we onboard them?” and the agent guesses.A new field from the upstream vendor never reaches the agent
A new field from the upstream vendor never reaches the agent
Output schemas are allow-lists. If the upstream API adds a field, your schema silently drops it. When the vendor behind a skill announces an API update, re-check your schemas against a fresh captured response.
Filtering changed nothing, token usage is the same
Filtering changed nothing, token usage is the same
Either no schema is configured, the skill you filtered isn’t the one driving most tokens, or the response was already small. Use the run history to find which skill calls return the largest payloads and filter those first. List endpoints and search results are usually the biggest wins.
Next steps
Pre-built skills
The full reference for catalog skills, including the input-schema half of the Advanced tab.
Skill call hooks
Observe and log skill calls, including filtered responses, across the agent’s lifetime.
Custom skills
Add your own Python functions with
@register_tool. Output filtering does not apply to local skills.Knowledge bases
Indexed retrieval for grounding agents in your own corpus.

