Use this scenario
Run
Run web_research scenario.
Use run_scenario with the saved scenario name and string-valued inputs. Required values are requested before execution.
View invocation JSON
{
"scenario_name": "web_research",
"inputs": {
"question": "your question",
"source_count": "5"
}
}Watch this version
Inputs
PARAMETERS| Input | Requirement | Default value |
|---|---|---|
question | Required | No default |
source_count | Optional | 5 |
Agent instructions
SYSTEM PROMPTCoordinate saved search, reader and synthesis scenarios. Never invent evidence or save research to user memory.
Tool access
CAPABILITIESweb_check_answer_operation— selected from this version's tool catalog.
Ordered steps
EXECUTION- 01NESTED SCENARIO / FRESH CHILD
question= {{question}}source_count= {{source_count}}
Save output as
search. - 02BOUNDED COLLECTION / FRESH CHILDREN
Read
search.resultsassource. Target {{source_count}}; at most 30 attempts. Collectreading.Count successful
readableresults; distinct identity:url.- 01NESTED SCENARIO / FRESH CHILD
question= {{question}}url= {{source.url}}
Save output as
reading.
Save output as
findings. - 01
- 03NESTED SCENARIO / FRESH CHILD
question= {{question}}evidence= {{findings}}search_status= {{search.engines}}
Save output as
answer. - 04BOUND OPERATION / HOST EXECUTED
web_check_answer_operationanswer= {{answer}}evidence= {{findings}}
Save output as
verified_answer.
Return to main
COPY EXITReturn the verified final answer unchanged, including source links and actual coverage.
The final text returns without model rewriting. Bound operation scenarios return application results; pending changes still require host approval.
Complete XML, including any embedded C#. Copy it without changing the file's contents.
<scenario schemaVersion="3" id="web_research" title="Research a question on the public web">
<inputs><input name="question" required="true" /><input name="source_count" default="5" /></inputs>
<systemPrompt>Coordinate saved search, reader and synthesis scenarios. Never invent evidence or save research to user memory.</systemPrompt>
<tools><allow name="web_check_answer_operation" /></tools>
<steps>
<run scenario="web_search" result="search"><input name="question" value="{{question}}" /><input name="source_count" value="{{source_count}}" /></run>
<foreach items="search.results" item="source" collect="reading" result="findings" limit="{{source_count}}" attempts="30" successProperty="readable" identityProperty="url">
<run scenario="web_read_source" result="reading"><input name="question" value="{{question}}" /><input name="url" value="{{source.url}}" /></run>
</foreach>
<run scenario="web_synthesize" result="answer"><input name="question" value="{{question}}" /><input name="evidence" value="{{findings}}" /><input name="search_status" value="{{search.engines}}" /></run>
<tool name="web_check_answer_operation" result="verified_answer"><input name="answer" value="{{answer}}" /><input name="evidence" value="{{findings}}" /></tool>
</steps>
<exit mode="copy">Return the verified final answer unchanged, including source links and actual coverage.</exit>
</scenario>
Every part, briefly.
Short explanations of every element and chat step in this scenario.
- 01Writing example ↗
<scenario>Names and versions the workflow.
- 02Writing example ↗
<inputs>Declares input values.
- 03Writing example ↗
<input>questionRequires a supplied value.
- 04Writing example ↗
<input>source_countProvides an optional value.
- 05Writing example ↗
<systemPrompt>Sets the child's instructions.
- 06Writing example ↗
<tools>Defines available capabilities.
- 07Writing example ↗
<allow>web_check_answer_operationGrants an existing tool.
- 08Writing example ↗
<steps>Orders the chat turns.
- 09Writing example ↗
<run>Invokes a fresh saved child scenario.
- 10Writing example ↗
<input>questionBinds a named operation or child input.
- 11Writing example ↗
<input>source_countBinds a named operation or child input.
- 12Writing example ↗
<foreach>Processes and collects a bounded array.
- 13Writing example ↗
<run>Invokes a fresh saved child scenario.
- 14Writing example ↗
<input>questionBinds a named operation or child input.
- 15Writing example ↗
<input>urlBinds a named operation or child input.
- 16Writing example ↗
<run>Invokes a fresh saved child scenario.
- 17Writing example ↗
<input>questionBinds a named operation or child input.
- 18Writing example ↗
<input>evidenceBinds a named operation or child input.
- 19Writing example ↗
<input>search_statusBinds a named operation or child input.
- 20Writing example ↗
<tool>web_check_answer_operationExecutes a declared host operation.
- 21Writing example ↗
<input>answerBinds a named operation or child input.
- 22Writing example ↗
<input>evidenceBinds a named operation or child input.
- 23Writing example ↗
<exit>Returns the output unchanged.