This blog post is AI-Assisted Content: Written by humans with a helping hand.
Data teams have never had more to work with. Cloud warehouses handle scale that used to require infrastructure teams. AI models are accessible with a single API call. MCP servers, pre-built connectors and low-code platforms mean that stitching capabilities together has never been faster. The challenge is no longer access: It is knowing which tool should do what, where to leverage existing infrastructure and where the boundaries between them should sit.
These questions shaped the starting point for this project. Rather than demonstrating platform capabilities in the abstract, we wanted a use case grounded enough in reality to be immediately recognisable, but complex enough to genuinely test where each component should sit.
The Property Evaluator: From SaaS to Sigma
A common and effective method for businesses to generate high-quality leads is an interactive price estimation interface, where clients can input their specific needs, leave their contact details and get an instant quote. These calculators are used by a wide range of industries, including insurance, shipping, cleaning or other services requiring a multi-stage calculation.
One example that requires a deeper data foundation is the property evaluation tools used by real estate agents to lure potential sellers. Prospects answer a questionnaire, get a market estimate and their details are passed on as leads.
But every property is different, and calculating its price requires a multi-input interface and complex data models to support it. The legacy solution for such a scope is to rely on expensive, niche SaaS providers. Not anymore! We gave it a try with Sigma and the capabilities its input tables and access to Warehouse LLMs unlock.
Estimator, Lead Generator and CRM – All In One
What we built is a multi-step questionnaire that takes a user (in this case, a prospect) from address input to a personalised market valuation in about two minutes. The result page shows an estimated price, a price-per-m² figure, a comparison against the local area average, as well as an AI-generated narrative and an interactive map of the postcode district.
Every submission automatically creates an entry in a dedicated CRM tab that sales team members can move through a pipeline, annotate and track from the same Sigma workbook according to their persona.
The estimator, the AI narrative and the CRM are three things most teams would treat as separate projects that need to be bridged and connected. Here they all live under one roof, letting users not only view data but also interact with it. No application code, no external API, no ETL between the public tool and the internal pipeline.
The Input Form: Where Prospects Start their Journey
This clickable interface lets prospects input their address as well as the characteristics of their property. Sigma’s built-in UI makes this easy to build:
- Data validation: A combination of list drop downs with parameter filters was used. This way, when a street name is entered, only the relevant post codes of this street will be accepted.
- Navigation logic: A notification modal will pop if any of the fields are missing
- Toggles and placeholders make the form compelling and user friendly
- Input table: Upon submission, all inputs are being logged in a new row in a dedicated input table

The Results Page: Where Prospects Get an Analysis of their Property
Users are then redirected to a result page where they can see the bottom-line evaluations, alongside a natural-language explanation as well as visualized data.
All done in Sigma:
- Hard facts are displayed as KPIs, taken directly from the input table where the logs are stored
- A natural language description breaks down the location-specific and object-specific factors behind the evaluation (Sigma Cortex function).
- A heatmap and a price distribution chart show users how their property compares to the market
- The results are downloadable as PDF

The CRM: Where your Team can Manage their Pipeline
Each client input is logged in an input table that feeds a dedicated “CRM” tab. This means you can follow up on this data and enhance it with notes, toggles or dedicated views. In another tab in the same workbook, visible only to our team, built a CRM:
- Each submission is added to the main dashboard with data masking, where stats on the overall portfolio are displayed alongside color-coded deals
- Each submission is clickable and expandable
- Within each submission, notes can be taken, the status can be changed and activity logs can be viewed

Under The Hood: Why Sigma and How To AI
Writeback and Input Tables: Where Sigma Shines
What can you do with a nice dataset of real estate transactions? In the traditional realm of BI an Analytics you could aggregate, visualize or analyze. Your data would be consumed, processed in a way that makes it insightful, and then presented. But in Sigma the story is no longer unidirectional: You can interact with data, and these interactions can be recorded and used.
In our example alone, there is a wide range of valuable “inputs:” From the prospects who inputs their property details, to the Sales person who marks a Lead as “lost,” leaves a note, or logs a successful phone call.
Buttons and Actions
Input Tables are technically tables – but they can be a backend behind an interface that looks more like an app. In our case, a clickable interface was built, and actions were programmed to log the relevant information in an input table:

In this example, the user adds content into form fields. When the user clicks “Submit,” an action is set to log the values into a dedicated input table in a different, hidden tab, serving as a back end.
The Actual Price Calculation: Grounded in Own Data
Each user submission is being recorded as a new row in an input table built in a hidden tab. A calculation formula uses this input to calculate a price estimate for the submission as an additional column, based on the underlying database the workbook was connected to. In this case, we used a mock Snowflake dataset with 600 Berlin transactions. In production, you can use own data (for organizations with high turnover) or easily connect to procured data via Snowflake Marketplace or open formats.
The estimation logic can be further adjusted and enhanced in Snowflake, from the simplified approach used here to something more statistically rigorous if the use case demands it.
The model is a hedonic normalised lift factor approach, factoring both location as well as other factors that are not location dependent:
- Price per square meter: “What is the average price per square meter in this area (post code)?”
- Lift factor: “How much more (%) is an apartment on an upper floor worth?”
- Correction for attenuation
Each is calculated in Sigma, in a designated column using a Rollup function that performs a lookup and returns an aggregation:

The final estimate is the postcode base price multiplied by the relevant feature factors:
estimated_sqm = PLZ base price
× lift(condition) × lift(floor band)
× lift(building age) × lift(balcony)
× lift(parking) × lift(elevator)
Everything lives in Sigma as window calculations over the live sample, with no hardcoded coefficients and with ongoing recalibration as the data changes.
The bottom line:
- Your governed, up-to-date data is the backbone of the calculation
- You can draw on your existing ML and Data Science work from the warehouse
- Sigma is connected to your warehouse and queries it directly – no piping required
The AI touch: Cortex as a Sigma formula
In theory, a deterministic formula string could produce a serviceable summary: “Your apartment at X is estimated at €XXX,XXX, YY% above the area average.” For many use cases that would be enough.
However, by calling the same set of variables in a Cortex formula we can turn them into a natural language output with two main merits:
- Prose quality: Formula-assembled texts have a mechanical rhythm that affects how credible the result feels
- Reasoning: There are many factors that can influence a price, some of which are not intuitive nor trivial. In some regions, vacant properties mean risk; in others, they mean a rare opportunity. An LLM with guardrails and context can explain why this affects the price positively or negatively.
The AI-generated text in our tool’s result page is actually a reference to column in the input table, where the AI call is made based on the columns used in the calculation.
The text is the output of two formula columns in sequence:
- The prompt column, [cortex_prompt], wraps the relevant raw and calculated data in a prompt

- The output column filters to the current submission for lean compute and “submits” the prompt (or makes the call) with the CallText formula:
If([is_latest] = 1, CallText("snowflake.cortex.complete", "llama3.1-8b", [cortex_prompt]), "")
CallText is Sigma’s native function for invoking a Snowflake Cortex model inline. The is_latest condition fires the call only for the current session row. When context is complete and instructions are precise, model choice matters less than people assume.
From SaaS to Sigma to Embedded Sigma?
What makes this project worth sharing isn’t the property calculator itself. It’s what happened when we stopped treating the estimator, the AI narrative and the CRM as three separate builds. Sigma let us collapse a workflow that normally spans a SaaS tool, an application layer and a bolted-on database into one governed workbook, with no code and no integration work in between. That’s the real unlock: Not a new capability, but fewer places for a project like this to break.
If your team is sitting on a similar workflow, whether it’s lead generation, quoting or another multi-step process that currently lives across disconnected tools, we’d be glad to talk through what a Sigma-native version could look like.
But this is only half of the story. Right now, this tool lives inside Sigma for internal use. In Part 2, we’ll cover how to embed it for public users, so prospects can interact with it directly on your website without ever seeing the workbook underneath.
