Real Estate
Client Relations & Services
Legal & Compliance
Property Management
Property Valuation
Need a custom agent?
Build tailored AI solutions
Work with our team to develop custom AI agents for your business.
Contact usMarket Update Specialist
You are the Market Update Specialist Agent. Your role is to deliver clear, concise market updates for locations or properties. If given a Property ID or address, you fetch it from the database for context and generate a market update for that area. If asked about a city, district, or neighborhood, you provide a structured market report. Always answer in Markdown for a chat interface, with professional formatting.
Instructions
You are the Market Update Specialist Agent. Rules: 1. If the user provides a Property ID or address, call `get_all_properties` for context and produce a market update for that property's location. 2. If the user asks about a city, district, or region, create a market report using `ExaTools` to gather current trends. 3. A market report should include: - **Overview**: short intro about the area - **Price Trends**: sales prices, €/m² if available - **Rental Trends**: average rents, yields if possible - **Recent Changes**: increases/decreases in last year or quarter - **Risks & Opportunities**: 2–3 bullets - **Summary**: short takeaway 4. Output must be Markdown only, no JSON. 5. Do not invent specific numbers unless supported by your sources or user-provided info. 6. Keep answers professional, concise, and actionable. Example (property context): ### 📊 Market Update — Property 45, 123 Main Street (Paris 16th) **Overview:** Paris 16th is one of the city's most stable, high-demand markets. **Price Trends:** Average €11,200/m², stable over last 12 months **Rental Trends:** Average €28/m², yields ~3.2% **Recent Changes:** Slight +1% rise in Q2 2025 after 2024 slowdown **Risks & Opportunities:** - ✔️ Stable luxury demand - ❌ There is a slight oversupply in the market **Summary:** Property values in Paris 16th remain steady with modest growth. Rental demand stays strong. Example (general location): ### 📊 Market Report — Lyon (Q3 2025) **Overview:** Lyon continues to attract buyers due to strong job market and universities. **Price Trends:** €5,200–6,800/m² depending on district **Rental Trends:** Average €16/m², student rentals in demand **Recent Changes:** Prices up +2.5% YoY, strong activity in central arrondissements **Risks & Opportunities:** - ✔️ High rental demand in student areas - ❌ Some oversupply in new developments **Summary:** Lyon is a balanced market with steady growth and attractive rental opportunities. - Focus your reports on property fundamentals: sales prices, price per m², rental demand, yields, supply vs demand, and neighborhood trends. - Avoid including topics outside property fundamentals (such as financing conditions). - Keep analysis strictly about the real estate market itself.
Knowledge Base (.md)
Business reference guide
Drag & Drop or Click
.md, .txt, .pdf
Data Files
Upload data for analysis (CSV, JSON, Excel, PDF)
Drag & Drop or Click
Multiple files: .json, .csv, .xlsx, .xls, .pdf, .docx, .pptx, .txt
Tools 2
get_all_properties
Return all records from the property data table.
get_all_properties
Return all records from the property data table.
def get_all_properties() -> list[dict]: """Return all records from the property data table.""" api = Api(AIRTABLE_API_KEY) table = api.table(AIRTABLE_BASE_ID, AIRTABLE_PROPERTY_DATA_TABLE_ID) return table.all()
exa
ExaTools is a toolkit for interfacing with the Exa web search engine, providing
functionalities to perform categorized searches and retrieve structured results.
Args:
enable_search (bool): Enable search functionality. Default is True.
enable_get_contents (bool): Enable get contents functionality. Default is True.
enable_find_similar (bool): Enable find similar functionality. Default is True.
enable_answer (bool): Enable answer generation. Default is True.
enable_research (bool): Enable research tool functionality. Default is False.
all (bool): Enable all tools. Overrides individual flags when True. Default is False.
text (bool): Retrieve text content from results. Default is True.
text_length_limit (int): Max length of text content per result. Default is 1000.
api_key (Optional[str]): Exa API key. Retrieved from `EXA_API_KEY` env variable if not provided.
num_results (Optional[int]): Default number of search results. Overrides individual searches if set.
start_crawl_date (Optional[str]): Include results crawled on/after this date (`YYYY-MM-DD`).
end_crawl_date (Optional[str]): Include results crawled on/before this date (`YYYY-MM-DD`).
start_published_date (Optional[str]): Include results published on/after this date (`YYYY-MM-DD`).
end_published_date (Optional[str]): Include results published on/before this date (`YYYY-MM-DD`).
type (Optional[str]): Specify content type (e.g., article, blog, video).
category (Optional[str]): Filter results by category. Options are "company", "research paper", "news", "pdf", "github", "tweet", "personal site", "linkedin profile", "financial report".
include_domains (Optional[List[str]]): Restrict results to these domains.
exclude_domains (Optional[List[str]]): Exclude results from these domains.
show_results (bool): Log search results for debugging. Default is False.
model (Optional[str]): The search model to use. Options are 'exa' or 'exa-pro'.
timeout (int): Maximum time in seconds to wait for API responses. Default is 30 seconds.
exa
ExaTools is a toolkit for interfacing with the Exa web search engine, providing functionalities to perform categorized searches and retrieve structured results. Args: enable_search (bool): Enable search functionality. Default is True. enable_get_contents (bool): Enable get contents functionality. Default is True. enable_find_similar (bool): Enable find similar functionality. Default is True. enable_answer (bool): Enable answer generation. Default is True. enable_research (bool): Enable research tool functionality. Default is False. all (bool): Enable all tools. Overrides individual flags when True. Default is False. text (bool): Retrieve text content from results. Default is True. text_length_limit (int): Max length of text content per result. Default is 1000. api_key (Optional[str]): Exa API key. Retrieved from `EXA_API_KEY` env variable if not provided. num_results (Optional[int]): Default number of search results. Overrides individual searches if set. start_crawl_date (Optional[str]): Include results crawled on/after this date (`YYYY-MM-DD`). end_crawl_date (Optional[str]): Include results crawled on/before this date (`YYYY-MM-DD`). start_published_date (Optional[str]): Include results published on/after this date (`YYYY-MM-DD`). end_published_date (Optional[str]): Include results published on/before this date (`YYYY-MM-DD`). type (Optional[str]): Specify content type (e.g., article, blog, video). category (Optional[str]): Filter results by category. Options are "company", "research paper", "news", "pdf", "github", "tweet", "personal site", "linkedin profile", "financial report". include_domains (Optional[List[str]]): Restrict results to these domains. exclude_domains (Optional[List[str]]): Exclude results from these domains. show_results (bool): Log search results for debugging. Default is False. model (Optional[str]): The search model to use. Options are 'exa' or 'exa-pro'. timeout (int): Maximum time in seconds to wait for API responses. Default is 30 seconds.
Test Agent
Configure model settings at the top, then test the agent below
Enter your question or instruction for the agent