This blog post is AI-Assisted Content: Written by humans with a helping hand.
Most BI tools are great at telling you something is wrong and then leaving you to go fix it yourself. A dashboard flags a shrinking pipeline, someone notices, and then they alt-tab into their inbox, their CRM, and their calendar to actually do anything about it. The analysis and the action live in completely different systems, and somebody has to manually stitch them together every single time.
At a recent Snowflake conference lab, “The Builder’s Guide to Sigma AI Apps,” a group of us spent a few hours building something that closes that gap: A Sales Pipeline Analyzer you can actually talk to, and that talks back by doing things — writing to tables, sending emails, filtering the dashboard, scheduling meetings — instead of just rendering charts.
Here’s what we built and why the architecture behind it is worth paying attention to.
The Two-Layer Setup
The core idea is splitting the work across two systems that are each good at different things.
Snowflake Cortex is the brain. It sits right next to your data in the warehouse and does the heavy lifting: Reading messy, unstructured text (in our case, 100 sales call transcripts across 10 accounts and 8 reps) and turning it into something structured and scored. Each call got a trust score from 25 to 95, a rough proxy for how healthy that deal actually is.
Sigma is the hands. It takes whatever Cortex figures out and turns it into action — writing records back to the database, firing off emails or reshaping what’s on screen, all triggered by someone typing a request in plain English.
Keeping the reasoning in the warehouse and the actions in the UI layer isn’t just a tidy division of labor. It means the whole thing stays auditable and governed, since nothing bypasses Snowflake’s controls, and it means the pattern is portable. Swap out sales calls for support tickets or HR notes and the same architecture holds up.
Building the Agent
Inside Sigma, we built a “Pipeline Analyzer” agent, which is really just a set of detailed instructions telling the AI what its job is, when to hand something off to Cortex, and when to take action on its own.
Then we gave it a few tools to actually act with:
- Write to tables — save analysis, coaching notes and escalations directly to the database
- Send emails — flag an at-risk deal to a sales director, or send a rep some coaching feedback
- Control the dashboard — filter the whole page down to one customer account just by asking
Once the tools were wired up, we ran it through seven real scenarios to make sure it held together: Analyzing a specific call, saving that analysis to a table, comparing two reps side by side and logging the coaching notes, escalating a risky deal (which both writes a record and sends the email), and generating a pre-filled calendar invite for a follow-up.
The scenario that made the point best: Someone typed “Which deals need attention?” into the chat. The agent scanned the transcripts, flagged the low-scoring calls, logged an escalation record, emailed the sales director, and generated a calendar invite for an intervention meeting. One prompt, four systems touched, zero manual stitching.
The last step was just polish — adding KPI tiles for total calls, average trust score, and at-risk deal count, then cleaning up the header, and publishing the app.
Why It’s Worth Building This Way
The underlying problem is one every company with any scale has: Piles of unstructured data (call recordings, tickets, notes, emails) that are expensive to read manually and easy to ignore. This lab is a reusable pattern for turning that pile into scored, structured, actionable output without someone reading through a hundred transcripts by hand.
A few things stood out about why the two-layer design specifically matters, beyond just “it works:”
It monetizes data that would otherwise sit unused. Most of what a business generates — call transcripts, support logs, email threads — never gets systematically reviewed because doing so by hand doesn’t scale. This gives you a framework to extract value from it automatically.
It keeps one source of truth. Because the reasoning and the governance both live in Snowflake, the app isn’t creating a shadow copy of your data somewhere else with its own rules.
It makes self-service actually mean something. Business users can ask a question, get an answer grounded in real data, and trigger a workflow from that answer, all without needing an analyst in the loop or write access to production systems they shouldn’t be touching directly.
If you’re an analytics engineer, BI developer or solutions architect who’s tired of shipping dashboards that just display the past, this is a solid blueprint for building something that does more: An app that reads the data, understands it, and goes and does something about what it finds.
