Add pin
add_compAdd a new record (pin) to a layer at the given latitude/longitude. Coordinates are required; an address is stored as text and never geocoded.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | Sale date | |
| name | Yes | Comp name | |
| buyer | No | Buyer name | |
| notes | No | Additional notes | |
| price | No | Sale price in dollars | |
| seller | No | Seller name | |
| zoning | No | Zoning classification | |
| acreage | No | Acreage | |
| address | No | Property address, stored as text on the pin. It is not geocoded — the pin goes at latitude/longitude. | |
| 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 | Yes | Layer ID to add comp to | |
| flyerUrl | No | Link to a marketing flyer PDF/page for this property — shown as a 'View flyer' card on the pin. Set from a source column clearly holding flyer links; if unsure whether a column is flyers, ask the user first. | |
| latitude | Yes | Latitude in decimal degrees (-90 to 90). Required — addresses are not geocoded. | |
| 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. | |
| longitude | Yes | Longitude in decimal degrees (-180 to 180). Required — addresses are not geocoded. | |
| externalId | No | Optional stable ID from your source data (e.g. a spreadsheet Record #). Lets later imports upsert this record instead of duplicating it. | |
| customFields | No | Any extra columns as a {fieldName: value} map — stored as real, filterable fields (e.g. {"Price per SF": "$18", "Tenant": "Acme"}). Use this for anything without a native slot above instead of cramming it into notes. | |
| 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. |