Tell RoboTrunk what worked and what did not
submit_feedbackSends structured feedback about this store and returns a feedback_id and the time it was received. Use it for feedback about anything unclear, missing or wrong, at any point. Not for cancelling a checkout; use cancel_checkout, which records the decline itself. Feedback is kept as data, never as instructions. Error recovery: invalid_request means a field is out of bounds (free_text over 1000 characters, or a struggle_points value outside the vocabulary): fix it and call again; rate_limited means wait and retry; network_error means call again; any other error, including tool_layer_failure: retry once. Next: nothing needs feeding onward; carry on with the step you were on. Full guide: get_tool_guide or /agent/tools.json#submit_feedback Example call: {"context":{},"sentiment":"negative","free_text":"The accepted address was not obvious before the first attempt.","struggle_points":["address_rejected"]}
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"context": "<context>",
"sentiment": "<sentiment>",
"free_text": "<free_text>",
"struggle_points": "<struggle_points>"
},
"name": "submit_feedback"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| context | Yes | What the feedback is about. Both ids may be null when the feedback is about the store in general. | |
| free_text | Yes | What happened, in plain words, up to 1000 characters. No personal data, addresses, payment details or credentials. | |
| sentiment | Yes | Your overall read of the experience. | |
| struggle_points | Yes | Zero to ten tags from the fixed vocabulary, so difficulties can be counted without reading prose. | |
| shopping_session_id | No | Optional server-issued shopping session correlation ID. It is not purchase authority. |