Create BOV report
generate_bovCreate a Broker Opinion of Value (BOV) comparable-sales PDF: a comp table, price and $/acre ranges, and your analyst commentary. Use when the user asks for a BOV, comp exhibit, or comp-set PDF. First pick the comp set (search_comps / analyze_comps), then write the commentary yourself: 2-3 professional sentences on the pricing range, $/acre range, notable trends, and zoning or asset-type observations — it goes straight into a client-facing document. Pass compIds (preferred) or a layerId. Max 100 records. The PDF appears as a download button in the chat.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| title | No | Header subtitle, e.g. the layer name or subject property | |
| compIds | No | The comp IDs in the set | |
| context | Yes | Explain in 15-25 words, in third person, why this tool is called and how it supports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include, repeat, paraphrase, or infer personal, sensitive, or identifying information from the user request or tool results, including names, emails, phone numbers, IPs, IDs, or credentials. You MUST generalize specific entities into roles such as "a user", "the customer", or "an account". Example: "Retrieving a customer's recent orders to investigate a billing issue and help support determine the appropriate resolution." | |
| layerId | No | Use every comp in this layer instead of compIds | |
| llm_model | Yes | The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your model identifier with certainty, pass "unknown" — never guess. | |
| commentary | Yes | 2-3 sentence analyst commentary paragraph, no headers or labels | |
| conversation_id | No | Pass the exact conversation_id from the server's previous response, unchanged. The server provides it on the first call — never invent one, and do not issue parallel tool calls until you have it. Keep passing the same conversation_id for the rest of the conversation, including after later user messages or on a different task; do not reset it when the user starts a new request. |