Skip to main content

Snapshot vs Memory: Same Cortex Code, Two Data Layers

Same Cortex Code agent, same prompt. Two data layers: a CRM-to-warehouse nightly sync (the kind that already feeds your BI tools) vs AmpUp's live memory layer. Three customer upsell briefs, 21× more grounded specifics with memory.

Rahul Balakavi headshot
Rahul Balakavi, Co-Founder, AmpUp
Subscribe & Share:

Snapshot vs Memory: Same Cortex Code, Two Data Layers

Last week we wrote up wiring our sales agent into Snowflake  via Cortex Code . The Model Context Protocol (MCP)  server, the live coordination between warehouse and conversational data, the agent loop that drafts AE briefings. One question we left open: CRM data is already getting synced into warehouses like Snowflake at most B2B SaaS companies, primarily so BI tools (ThoughtSpot , PowerBI , Tableau , Sigma ) can consume it for dashboards and exploratory analysis. Once Cortex Code can read that synced data directly, what does AmpUp add on top?

So we ran the same workflow twice. Same Cortex Code agent, same prompt, same Snowflake account with the same product-analytics view. We swapped only where the agent gets its deal-side context:

  • Run A, coco + CRM-snapshot: coco reads opportunity.description, the CRM text column replicated into Snowflake by the same nightly sync that already feeds the BI tools. How that column gets populated varies by team. At some shops the rep types into it by hand after each meeting (when they remember to). At others, a cron job auto-summarizes recent activity (emails, stage changes, sometimes meeting transcripts) into the column on a fixed cadence. Whether the cron folds transcripts in is usually a budget call, since it means paying for LLM inference on every meeting; many teams skip it. Either way the agent sees a ~700-word free-text blob, structure inferred at read time.
  • Run B, coco + AmpUp: coco reads from AmpUp’s MCP, which exposes each deal as structured memory. Provenance-tracked fields, replay-tested patterns, grounded transcript excerpts, multi-source (meetings, emails, voice notes, Slack, in-app rep inputs).

Both runs see the same Snowflake-side product analytics. The variable is only the deal-context source. The output difference is not subtle.

Setup (Identical for Both Runs)

LayerWhere it came from
Agent hostCortex Code (coco), single prompt
Analytical data in SnowflakeV_ACCOUNT_CREDITS_30D, product-usage analytics. Tracks credits consumption over the last 60 days per account; lets coco filter for surges.
Action layerAmpUp MCP, the email-draft tool
Goal”For each customer whose credits surged this month, read what we know about them, draft an upsell brief tailored to their last meeting’s tone”

A note on the data: V_ACCOUNT_CREDITS_30D is illustrative in this writeup; the companion repo  loads the equivalent V_ACCOUNT_ADOPTION_30D view against the same seeded dataset, so the demo reproduces end-to-end.

What’s Different

DimensionRun A: coco + CRM-snapshotRun B: coco + AmpUp
Deal-context sourceopportunity.description text column, synced from the CRM nightlyLive deal memory via AmpUp MCP
FreshnessLast night’s snapshot at best, often last week’s. Premium sync tiers can do hourly; real-time CDC is technically available but rare in practice (cost, plumbing, and the rate-limits of the source CRM all push teams back to nightly).Updates within minutes of each meeting, email, or voice note
Source breadthCRM only. Description is whatever the rep typed.Notetaker + CRM + Gmail + Slack + voice notes + in-app rep inputs, deduped into one structured memory
ShapeFree-text blob. The model has to infer structure each call.Structured per-deal memory: champion, objections, commitments, rep behavioral patterns, each with provenance and grounded excerpts
Org-level patternsNone. Static text.Replay-tested across the team’s deal corpus (e.g. OM-COMMITMENT-SLIP: champion fails to deliver committed artifact, evidence from 14 deals, win-rate drops to 22%)
Output3 drafts, all created3 drafts, all created

Same MCP outcome in both: 3 upsell briefs in the AmpUp Tasks inbox. The interesting differences are in what the briefs actually say.

How specific were the upsell briefs?

Coco ran the same prompt against three customer accounts whose credits had surged in the last 30 days. For each, the agent drafted an upsell brief based on (a) the Snowflake product-analytics signal (size of the credits jump) and (b) the deal-side context, whichever data layer was wired in.

The three accounts are real in our webinardemo staging org. You can hit them via AmpUp MCP yourself; the seed script is in the companion repo .

Telemetra Labs (credits +130%, budget-sensitive)

coco + CRM-snapshot:

Telemetra Labs is using the platform for observability. Usage has grown. Recommend follow-up call to discuss expanding their plan.

(Generic. No mention of the Q3 planning conversation, no specific plan recommendation, no urgency signal. The snapshot was last refreshed before the call happened.)

coco + AmpUp:

Telemetra’s VP Eng asked specifically for commit-based pricing in last week’s Q3 planning call: “our CFO is asking why the infra line is moving around so much.” Pitch the credit-commit plan with the 20% discount at projected Q3 volume. Frame as predictability, not lock-in. Champion wants something to share with finance this week. Send pricing one-pager today.

The snapshot doesn’t know the call happened. AmpUp does, and surfaces the verbatim quote.

Helios Motors (credits +310%, expansion-ready)

coco + CRM-snapshot:

Helios Motors is scaling consumption. They’re an automotive customer working on AI-related projects. Recommend annual contract upgrade.

coco + AmpUp:

Helios’s Head of ML Infra walked through Atlas-1 silicon plans on the May 2 call: Gen 3 training will need ~10× current compute by Q4 2026; they’re already running near peak today. Champion (VP ML Platform) offered to introduce the CFO and explicitly asked for reserved-capacity guarantees plus a named TAM. This is the strongest expansion signal in the pipeline this quarter. Pitch enterprise with reserved capacity; negotiate multi-year aligned to the Atlas-1 ramp.

Same +310% surge in both cases. Only AmpUp knows why, and what specifically to offer.

Brightfield Media (credits +180%, procurement-friendly)

coco + CRM-snapshot:

Brightfield Media’s content-personalization use case is growing. Their finance team likely wants more predictable pricing. Recommend annual plan.

coco + AmpUp:

Brightfield’s CFO joined the back half of the April 15 POC review and said directly: “I need predictable annual billing for board reporting; the current month-by-month variability is causing forecasting problems.” Champion (Head of RevOps) backed it up. They want an annual credit-commit with a quarterly true-up so the line is predictable in their FY26 plan. Procurement is the gating concern, not cost. Get a redlined order form to procurement before month-end so it lands in their FY26 planning window.

The snapshot generates a generic annual-plan recommendation. AmpUp produces the specific CFO quote, the structural ask (annual + true-up), the timing pressure (FY26 deadline), and the gating risk (procurement, not cost).

Specificity, counted

AccountRun A: coco + Snapshot (grounded specifics)Run B: coco + AmpUp (grounded specifics)
Telemetra Labs06 (CFO quote, plan name, discount %, timing, framing, deliverable)
Helios Motors07 (program name, compute multiplier, timeline, capacity ask, TAM ask, plan, deal stage)
Brightfield Media16 (CFO quote, plan structure, true-up mechanism, fiscal-year deadline, gating concern, action)
Average per brief0.36.3

Same coco, same prompt, same Snowflake-side product analytics. The data layer is the only variable. Coco + AmpUp produced 21× more grounded specifics per brief.

What This Tells Us About the Data Layer

Live memory beats nightly snapshot. The CRM-snapshot run had no idea the Q3 planning call had happened, no idea the CFO had named the procurement-freeze problem, no idea the champion had explicitly asked for reserved capacity. All three meetings happened after the last nightly sync. AmpUp captures interactions within minutes; CRM → warehouse catches up overnight at best.

Structured memory beats free-text blob. The snapshot is whatever the rep wrote in the description field. It’s a paragraph of prose, often months stale, prone to “ARR growing, follow up.” AmpUp’s memory layer returns provenance per field: a champion was named on this date, this person made this commitment on this call, this objection appeared in three meetings and was resolved in one. The agent has structure to reason over, not a blob to skim.

Multi-source beats single-source. The CRM description column knows whatever the rep typed (or whatever a cron job summarized in from emails, stage changes, and optionally transcripts on its last run). The teams that fold transcripts into the description are paying for LLM inference on every meeting to do it, so most stop short. AmpUp’s memory aggregates meeting transcripts, emails, voice notes, Slack threads, and in-app rep inputs by default, deduped with provenance preserved, and amortized across the platform (every customer benefits from the same featurization pipeline). When the CFO sends a follow-up email, AmpUp folds it into the deal memory; the next agent call sees it. The snapshot only sees what the rep (or the cron’s last run) happened to capture.

Patterns that grow themselves. When Clari first shows up in a discovery transcript on a Tuesday, AmpUp proposes it as a new tracked competitor, validates the pattern across the org’s recent corpus, and once confirmed starts surfacing it across every open deal. The CRM snapshot has no notion of org-level pattern; you’d build it yourself, one ETL job per concept, and re-extract from the description blob on every run.

Agent-driven SQL is the value prop, and Snowflake’s consumption story. Coco issuing multiple SQL queries on its own is what makes either run work at all. Each SQL pass is metered warehouse compute; the depth-of-search advantage and the customer’s Snowflake bill grow together. Inference credits land on the same invoice. Coco is Snowflake’s own agent, so it reaches for Snowflake-native, performant query shapes by default: clustering-aware filters, search-optimization-friendly predicates, Cortex AI functions inline in SQL (CORTEX.COMPLETE, CORTEX.EMBED_TEXT), Cortex Search instead of brittle ILIKEs. As new Cortex primitives ship, coco gets first-class access on day one.

Cross-system agent loop, credits-surge upsell flow: a user prompt fans out from coco into two parallel pipelines. AmpUp MCP syncs three deal folders into the agent's working directory (Telemetra Labs, Helios Motors, Brightfield Media), each holding a recent meeting analysis with the customer's tone signal. In parallel, sql_execute hits Snowflake's V_ACCOUNT_CREDITS_30D view to filter accounts whose credits consumption jumped over 100 percent in the last 30 days. The two results join into three upsell briefs, each matched to the customer's prior-meeting tone: credit-commit plan for the budget-sensitive account, enterprise with reserved capacity for the expansion-ready one, annual commit with quarterly true-up for the procurement-friendly one.

MCP is the right protocol for the action layer; the data layer is where the architecture choices show up. Both runs called the same MCP tool (the email-draft action) with similar surface arguments. That’s MCP doing its job. The drafts are stylistically similar because the MCP server runs the prompt that produces the text. The agent’s reasoning depth varies entirely with the upstream data shape. Open MCP keeps the action layer from being a lock-in; live structured memory keeps the agent from being limited by yesterday’s snapshot.

For per-deal narrative questions, the right shape is a filesystem rather than a SQL surface. AmpUp’s MCP exposes each deal as a folder coco can walk natively, which is a different agent pattern from “ranked rows over a column.”

A deal as a folder, not a row. AmpUp's MCP exposes deal context as a walkable tree (meetings, emails, attachments, memory) that coco navigates the same way it navigates a code repo.

The action surface is large, safe, and it doesn’t only run when the rep asks. The email-draft tool we used above is one of about 100 AmpUp MCP actions: CRM writes, notetaker updates, deal-stage changes, task creation, calendar invites, Slack messages. Some of those run interactively (coco invokes them on-demand). Others run on AmpUp’s own schedule: post-meeting briefs delivered within minutes of a call ending, NBA digests every weekday morning, stalled-deal alerts, manager coaching reports assembled weekly. Coco is a pull-shaped agent; AmpUp is a push-shaped one. Both shapes matter, and the action layer is the same in both. Every action, interactive or scheduled, lands as a draft with audit trail and one-click undo. The rep stays in the loop.

Cortex Code keeps the loop inside the warehouse boundary. Both runs ran coco from inside Snowflake. Same governance plane as the SQL workload, same security boundary, same audit log. For regulated industries this isn’t a nice-to-have; it’s the difference between a procurement cycle that takes a week and one that takes a quarter.

What You Should Pick

If you’ve already got CRM-to-warehouse sync (and most B2B SaaS teams do, for BI), you’ve got the first half of what a sales agent needs: product analytics, account-level rollups, the structural deal record. What’s missing is the conversational layer. What was actually said, what was committed to, what’s stale and what’s fresh. The snapshot column is a placeholder for that conversation; AmpUp’s memory is the conversation itself, with provenance, grounded excerpts, and replay-tested patterns the org can learn from over time.

Coco gets the agent-host story right out of the gate. SQL as a primitive, inference via CORTEX.COMPLETE, semantic-model access via Cortex Analyst, all on a single Snowflake invoice. The data layer is where the value compounds.

AmpUp

Book a demo with us

See how AmpUp turns every call into a coaching opportunity.

Written by

Rahul Balakavi

Rahul Balakavi

Co-Founder, AmpUp

Rahul is the co-founder of AmpUp. He leads engineering and product, bringing deep expertise in building AI-powered platforms that turn sales data into actionable intelligence.

Stay up to date with AmpUp

Follow AmpUp on LinkedIn

Follow us on LinkedIn for the latest on AI-powered revenue intelligence.