Show record graph summary
well_show_record_graph_summaryDraw a selectable, grounded card over one or more already-resolved records — their neighborhood graph plus a written summary of what they have in common (or, for a single record, a rich description of it).
Use this for an open-ended "tell me about X" / "tell me everything about X" / "show me all you got on X" / "what do you have on X" ask about one or more already-identified entities, even for ONE record, or a "pick a few Y to do Z with" ask where the user wants a selectable set of candidates rather than a flat list. Only a narrow, specific question about one entity ("does X pay on time?") goes to well_describe_entity instead. Resolve the record id(s) first (well_get_entity or well_query_records), then call this tool with that root + those ids — never a guessed id or a name string.
Always pass invocation_context with the reason this view is being drawn, even a plain one.
The card renders the graph and the written prose itself — this tool's text result reports only the counts, so say what the selection is rather than repeating the summary.
Call well_wait_for_selection with kind "record_graph_pick" right after this, in the same turn, to hold the turn open for the card's Continue click. On "selected", act on selection.record_graph directly — never guess what the user picked.
This tool reads only — it changes nothing.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| root | Yes | Which records root the ids resolve on, e.g. companies | people | invoices. | |
| record_ids | Yes | The exact record ids to build the view for. Resolve X to its id first (well_get_entity or well_query_records) — never a guessed id or a name string. | |
| workspace_id | No | Target workspace. Omit when the token authorizes one workspace. Required when it authorizes several: this read reports one workspace's own figures and will not choose which. | |
| conversation_id | No | The conversation id returned by the previous Well result, in its meta under well/conversation_id, in its structuredContent, or in its JSON text block. Pass it back on every call in the same conversation, including a call a card makes, so the chosen workspace and the earlier answers still apply. It decides the conversation on its own: nothing the host states about the session replaces it. Omit it only on the first call of a conversation. | |
| workspace_scope | No | Restrict this call to the family: the token's primary workspace plus the company workspaces under it that you are a member of. Unrelated authorized workspaces drop out of the read; row reads merge across the family, while a per-workspace figure still reports exactly one workspace. | |
| invocation_context | No | A short note on WHY this selection is being summarized (e.g. "companies late on their bills, to draft a collections message"). Flows into the writer so its prose can explain why these records fit — never a source of facts or numbers, only the graph and metrics ground those. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| root | Yes | ||
| error | No | ||
| metrics | Yes | ||
| success | Yes | ||
| segments | Yes | ||
| edge_count | No | Connections between those nodes. | |
| node_count | No | Nodes the server resolved into the selection's neighborhood graph. | |
| record_ids | Yes | ||
| flagSegments | No | ||
| fallback_line | Yes | ||
| conversation_id | No | The conversation this result belongs to. Pass it back as the conversation_id argument on every later Well call in the same conversation. | |
| newly_connected | No | Tools that connected to this workspace since the last result and that no session was told about yet, oldest first. Present only when at least one tool is new. The connected-line rule says when to tell an entry; when it does, one line per entry, in the person's language: "<name> is connected.". Never fold several entries into one sentence. Each entry comes back once, on one result only: never repeat its line later. | |
| resolved_workspace | No | The workspace that answered, when the caller named none and the token authorizes several. | |
| conversation_id_note | No | Present only when the server opened a fresh lane, stating that no choice recorded earlier was read. | |
| conversation_id_source | No | Where the conversation id came from: the host's own request meta, the caller's argument, or a fresh lane the server opened. |