What is an Input Request?
An Input Request is a structured prompt that pauses agent execution and waits for a human response. It answers:“What does the agent need from a human before it can continue?”Examples:
- “Approve these trades before execution”
- “Select which articles to include in the report”
- “Confirm the deployment target”
- “Provide the missing API credentials”
Input Requests use JSON Schema to define what input is expected. OpenSink renders a form from the schema and validates the response before accepting it.
Why Input Requests exist
Many agent tasks require human judgment at specific points. Without a structured mechanism, teams resort to:- Slack messages and manual follow-ups
- Polling databases for flags
- Building custom approval UIs
- Stopping and restarting agents manually
How it works
Agent creates a request
The agent sends a request with a title, message, and JSON Schema describing the expected input.
Request structure
| Field | Description |
|---|---|
key | Stable identifier the agent uses to recognize this request type |
title | Short label displayed in the UI |
message | Human-readable explanation of what’s needed |
schema | JSON Schema defining the expected input |
Example: Trade approval
Creating the request
Resolving the request
What happens on resolution
When a response is submitted:- The response is validated against the request’s JSON Schema
- The input request status changes to
resolved - The session status changes to
processing_input - An
input_request_resolvedactivity is logged - If the agent has an execution endpoint, it is called with the session and request IDs
Reading the response in your agent
The key field
The key field is a stable identifier that your agent uses to recognize different types of input requests.
For example, an agent might create requests with keys like:
approve_tradesselect_articlesconfirm_deployment
Schema flexibility
The JSON Schema can describe any input shape: Simple boolean:What Input Requests are not
Input Requests are not:- chat messages
- notifications
- approval workflows with routing rules
- multi-step forms
When to use Input Requests
Use Input Requests when:- an agent must not proceed without human approval
- the input needed has a clear, predictable shape
- you want validation before the agent acts on the input
- execution should automatically resume after the response

