name: property-to-sheets description: | Generate a UK property report and save it to Google Sheets as a formatted spreadsheet. Combines property data (comps, EPC, yield, stamp duty) with Google Sheets integration to produce a shareable, editable investment analysis. Use when someone says "put this in a spreadsheet", "save to Sheets", "I want a property spreadsheet", or needs property data in a format they can share or edit. Requires the Property MCP server and Google Sheets integration (via Strata/BOUCH Integrations MCP).
Property Report to Google Sheets
You generate a UK property investment report and save it directly to Google Sheets as a formatted, structured spreadsheet. The output is a shareable document that an investor, agent, or analyst can edit, annotate, and forward.
When to Use This Skill
- "Put this property analysis in a spreadsheet"
- "Save the report to Google Sheets"
- "I want a property spreadsheet I can share"
- "Create a Sheets report for this postcode"
- "Analyse [address] and put it in Sheets"
- Any property analysis request where the user wants an editable/shareable output
Required Setup
This skill requires two connections:
- Property MCP server (property-shared) — for property data
- Google Sheets integration (via Strata) — for creating and writing to spreadsheets
Property tools:
property_comps— comparable sales with EPC enrichmentproperty_epc— energy performance certificaterental_analysis— rental market aggregatesrightmove_search— live listingsproperty_yield— yield calculationstamp_duty— SDLT calculation
Sheets tools (via Strata):
google_sheets_create_spreadsheet— create a new spreadsheet with datagoogle_sheets_write_to_cell— write to specific cells (for updates)google_sheets_list_spreadsheets— check for existing spreadsheets
Workflow
Step 1: Gather Property Data
Follow the same data-gathering workflow as a standard property report:
- Call
property_compswith the postcode (filter by property_type if known) - Call
property_epcif a street address is available - Call
rental_analysiswith median comp price as purchase_price - Call
rightmove_searchfor live rental listings (channel: RENT) - Call
property_yieldfor formal yield calculation - Call
stamp_dutywith the asking or median price
Collect all the numbers before creating the spreadsheet.
Step 2: Structure the Spreadsheet Data
Organise the data into a structured layout. The spreadsheet should have these sections:
Row mapping:
- Rows 1-2: Header (title, date, address)
- Rows 4-12: Comparable Sales summary
- Rows 14-22: Rental Analysis
- Rows 24-30: Yield Analysis
- Rows 32-36: Stamp Duty
- Rows 38-44: EPC Data (if available)
- Rows 46-55: Individual Comps (top 10)
Step 3: Create the Spreadsheet
Call google_sheets_create_spreadsheet (via Strata execute_action) with:
- title: "Property Report — [Address/Postcode] — [Date]"
- data: JSON object mapping row numbers to column letters to values
Structure the data parameter as follows:
{
"1": {"A": "Property Report", "B": "[Address or Postcode]", "C": "[Date]"},
"2": {"A": ""},
"3": {"A": "COMPARABLE SALES", "B": "", "C": ""},
"4": {"A": "Median Price", "B": "[value]", "C": "Source: Land Registry"},
"5": {"A": "Mean Price", "B": "[value]", "C": ""},
"6": {"A": "Price per sqft", "B": "[value]", "C": "EPC enriched"},
"7": {"A": "Transaction Count", "B": "[value]", "C": "Last 24 months"},
"8": {"A": "Price Range", "B": "[min] - [max]", "C": ""},
"9": {"A": "Property Type Filter", "B": "[type or All]", "C": ""},
"10": {"A": ""},
"11": {"A": "RENTAL ANALYSIS", "B": "", "C": ""},
"12": {"A": "Median Monthly Rent", "B": "[value]", "C": "Source: Rightmove"},
"13": {"A": "Rental Listings", "B": "[count]", "C": "Currently on market"},
"14": {"A": "Rent Range", "B": "[min] - [max]", "C": ""},
"15": {"A": ""},
"16": {"A": "YIELD", "B": "", "C": ""},
"17": {"A": "Gross Yield", "B": "[value]%", "C": ""},
"18": {"A": "Net Yield", "B": "[value]%", "C": "After service charge"},
"19": {"A": ""},
"20": {"A": "STAMP DUTY", "B": "", "C": ""},
"21": {"A": "Purchase Price", "B": "[value]", "C": ""},
"22": {"A": "SDLT Total", "B": "[value]", "C": "Additional property rate"},
"23": {"A": "Effective Rate", "B": "[value]%", "C": ""},
"24": {"A": ""},
"25": {"A": "EPC", "B": "", "C": ""},
"26": {"A": "Rating", "B": "[value]", "C": ""},
"27": {"A": "Floor Area", "B": "[value] sqm", "C": ""},
"28": {"A": "Construction Age", "B": "[value]", "C": ""}
}
Step 4: Add Individual Comps
If there are more than 5 comparable sales, add a second section with the top 10 individual transactions. Use google_sheets_write_to_cell to add each row:
- Column A: Address
- Column B: Price
- Column C: Date
- Column D: Property type
- Column E: Price per sqft (if EPC matched)
- Column F: EPC rating (if matched)
Step 5: Share the Link
The google_sheets_create_spreadsheet response includes a spreadsheetUrl. Present this to the user:
"Your property report is ready: [spreadsheet URL]"
If the user also wants an email with the link, offer to draft one via gmail_draft_email (if Gmail integration is available via Strata).
Output Format
In the conversation, present a brief summary alongside the link:
# Property Report: [Address/Postcode]
**Spreadsheet created**: [Google Sheets URL]
## Quick Summary
- Median comp price: £[X] ([N] sales)
- Gross yield: [X]%
- Stamp duty: £[X]
- EPC: [rating]
The full report with individual comps is in the spreadsheet.
[Optional: "Want me to email this to someone?"]
Key Principles
- Spreadsheet first. The whole point of this skill is the Sheets output. Don't produce a long text report — put the data in the spreadsheet and give the user a link.
- Clean structure. Section headers in column A, values in column B, source/notes in column C. Consistent, scannable.
- All numbers, no prose. The spreadsheet should be data, not paragraphs. Save the narrative for the conversation summary.
- Offer the email. Many users want to send the spreadsheet to someone. If Gmail is available, offer to draft it.
- Date everything. Property data decays. Put the date in the title and header so the user knows when the data was pulled.