Wait for selection
well_wait_for_selectionRead the user's card click — returns instantly if they already clicked; otherwise waits briefly. Call it after the tool whose card asks the user to click: well_list_workspaces (kind "workspace"), well_list_periods (kind "periods"), well_list_missing_invoices (kind "counterparties" — its card is the only one that records a counterparty pick), or well_list_connectors (kind "connect_ack" for the connect step, "bank_ack" for the bank step).
status "selected": the choice is recorded.
selectioncarries it — the pinned workspace_id and workspace_queue, the picked periods, the picked counterparties (each { company_id, matched_connector_service_id } plus the workspace_id they belong to and theperiodsthey were listed for), or the acknowledgement plus the workspace_id it was made in.already_set: truemeans it was recorded before this call (the user had already clicked). Continue the flow with it.status "no_selection_yet": nothing is recorded and no click landed within the wait (default 10s, clamped 5-90s). This is a NORMAL result, not an error — end your turn by asking the user to click the card; the click prefills the reply that resumes the flow.
A counterparty pick belongs to the workspace AND the months it was made against, and it carries those months in selection.periods. A switch to another workspace, a change of the selected months, or a fresh well_list_missing_invoices card drops it. So kind "counterparties" never hands back a pick made against another month — with that pick dropped, the call waits for the new click instead. A pick recorded BEFORE this call is reported only when it was made in the workspace this call targets, so pass workspace_id to ask about a workspace the connection is not switched to. A pick that lands DURING the wait rides back with the workspace it was made in — compare selection.workspace_id before you act on it.
An acknowledgement belongs to the workspace it was made in, and rides back as selection.workspace_id. A switch to another workspace drops it. An ack recorded BEFORE this call is reported only when it was made in the workspace this call targets, so pass workspace_id to ask about a workspace the connection is not switched to. A click that lands DURING the wait is reported with its own workspace, which can be another card's — compare selection.workspace_id before you act on it.
This tool reads and waits — it changes nothing.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| kind | Yes | Which card click to wait for: "workspace" (the workspace picker's Use), "periods" (the month picker's Validate), "counterparties" (the missing-invoices card's Continue), "connect_ack" / "bank_ack" (the connect card's Continue). | |
| timeout_s | No | How long to wait, in seconds. Default 10, clamped to 5-90. | |
| workspace_id | No | Target workspace. This read reports one workspace's own data. Omit it and the token's primary workspace answers, which may not be the one you mean; the result names the workspace that did. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| hint | No | ||
| kind | No | ||
| error | No | ||
| status | No | ||
| success | Yes | ||
| selection | No | The value the click wrote. Present only when status is "selected". | |
| already_set | No | True when the selection was already recorded before this call started — no wait happened. | |
| resolved_workspace | No | The workspace that answered, when the caller named none and the token authorizes several. |