Save as the Dorit search
save_searchPrepares this search as the user's saved Dorit search, so Dorit alerts them on WhatsApp to new matching listings. It saves nothing by itself: Dorit sends the user a WhatsApp message showing the search, and their tap on its save button saves it. Takes search_listings' criteria (without sort, paging, tags or keywords) and REPLACES the saved search's criteria with exactly these, so to change one thing, call get_saved_search first and send its criteria with the change. Call it when the user asks to save or change their Dorit search or alerts, or accepts your offer to; never on your own initiative, and never from a scheduled task the user did not ask to change their search.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"max_price": "<max_price>",
"context": "<context>",
"llm_model": "<llm_model>"
},
"name": "save_search"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| cities | No | Cities, localities or regional groups by name in Hebrew, English or Russian, or by slug ("תל אביב", "Tel Aviv", "tel-aviv", "עמק חפר"). A group covers every settlement in it. Omit when neighborhoods or search_area already say where. | |
| 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." | |
| max_sqm | No | ||
| min_sqm | No | ||
| features | No | true requires the feature; false excludes it; omitted does not filter. elevator=true means an elevator or a low floor (see max_floor_without_elevator). | |
| 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. | |
| max_floor | No | ||
| max_price | Yes | Highest price: monthly rent, or the total for sale. Required, as Dorit needs a budget to alert on. | |
| max_rooms | No | ||
| min_floor | No | ||
| min_price | No | ||
| min_rooms | No | Israeli room count (whole or half rooms; a living room counts). | |
| roommates | No | exclusive = only rooms in shared flats; excluded (default) = whole apartments only. | |
| search_id | No | The saved search to rewrite, from get_saved_search. Defaults to the primary search; a renter with none gets their first. | |
| handover_by | No | Sale only: latest handover month, YYYY-MM. | |
| nice_to_have | No | Features the renter would like without requiring them: alerts still come without them, and a listing that has one is marked as a plus. no_brokerage here means "rather no fee". A flag goes either here or in features, never both. | |
| neighborhoods | No | Neighborhoods, named areas of a city ("הצפון הישן", "מערב ראשון לציון"), landmarks or housing projects, by name, slug or the ids coverage and find_neighborhoods_near return. A neighborhood inside a listed city narrows that city to it; one in another city is added to the search. | |
| property_types | No | Asset types: apartment, unit, garden, house, twofamily, penthouse, duplex. Omit for all. | |
| entrance_months | No | Rent only: acceptable move-in months, YYYY-MM. A listing naming no month is treated as available now or within the month. | |
| transaction_type | No | rent (monthly ILS) or sale (total ILS). Sale is open in fewer cities. | rent |
| exclude_neighborhoods | No | ||
| max_floor_without_elevator | No | Highest acceptable floor when the building has no elevator; above it an elevator is required. Same as features.elevator=true with this walk-up limit. |