Case Study

Transforming price estimation and customer support with Agentic AI

By applying the TriStorm approach, Vstorm split the project into three streams, aiming to augment and rebuild business processes with agentic AI for a company with a long-established market presence.

  • Manufacturing / Engraving
The outcome

From a 30-minute quote to a few clicks, on a 20-year customer database

Price in engraving is not a list price. It is material, design complexity, order volume, and the customer's discount history — calculated by a specialist. The database of those relationships was decades old and hard for non-technical staff to query. The agents had to read both.

The figures are from the production platform: PydanticAI, a SQL sub-agent on a graph, image-based pricing, and a 15-minute SharePoint refresh. 72% is the published time-of-work reduction across pricing and database operations, not a lab demo.

To price one order by hand

30 min

Port the design, recount pixels into centimeters, apply material and discounts.

3 sec

To retrieve a fact from the customer database

Conversational agent over decades of interactions, with a SQL graph for edge cases.

20 yrs

Of client interactions now queryable

The asset was already there. It was not usable by the people who needed it.

About the client

The client is one of the largest engraved die manufacturers in the world, producing copper and brass sheet-fed dies, rotary tools, narrow-web flatbed dies, and a range of related products. The company is not named here.

With a long-established market position and decades of experience, they saw the market shifting — new machines, new customer expectations — and chose to transform with it rather than wait.

Vstorm's impact

Vstorm's impact, the TL;DR

  • 72% time-of-work reduction across pricing and database operations
  • Pricing cut from about 30 minutes to a few clicks, with discounts pulled from the customer database
  • Conversational agent over a 20-year interaction database; a SQL sub-agent on a graph handles edge cases
  • SharePoint-linked refresh every 15 minutes keeps the vector store and RAG current without a tech team on upkeep
  • Negative-feedback loop writes logs and pings Slack so edge-case failures surface quickly

The challenge

A valuable database, a 30-minute quote, and little automation

The engraving market is growing and is estimated to reach $317.17 million in 2026, up from $295.38 million in 2025. Part of that is a technological shift: not only new machines, but new customer expectations. The client chose to meet that with agentic AI.

Long tenure was the asset and the constraint. The customer-relationship database had been gathered for decades and was immensely valuable, yet mining it for a fact was hard, especially for non-technical users. Price estimation had to include material, the complexity of the pattern or text, order volume, and discount history — calculated by a specialist by hand. Specifications lived in enterprise tools and were still moved manually. Previous systems had little automation and were a poor foundation for what had to come next.

How we delivered

TriStorm as three streams on one shop floor

The work was not a single chatbot. It was database intelligence, image-based pricing, and asset freshness — then observation so a misfire on the word die could not stay silent.

Map the three process gaps

Workshops locked the brief: a 20-year interaction database that specialists could not query, a 30-minute manual quote, and SharePoint documents that went stale in the RAG the moment someone uploaded a file.

  • CRM query brief
  • Pricing path map
  • SharePoint freshness gap

Proof of Value on three streams

A main conversational agent plus a SQL sub-agent on a Pydantic graph. An image-recognition path that ports designer files and counts centimeters. A 15-minute SharePoint watcher that refreshes the vector store. Built on PydanticAI.

  • Main agent + SQL graph
  • Image pricing path
  • SharePoint RAG refresh

Observe, then keep the data fresh

Logfire on the agent environment. An app that stores negative-feedback logs and posts Slack. That loop caught the chatbot reading die in fed die as a crisis topic. Every component ships behind an API.

  • Logfire traces
  • Slack on negative feedback
  • API-first components

How it works

A chatbot for the database, a vision path for the quote

To make the decades-old customer database usable, Vstorm shipped a conversational agent that answers questions about its contents. A main agent handles the large majority of queries without a deep dive. A SQL sub-agent takes edge cases and heavier operations. Query logic is a sequence of clear steps, so the team put that sequence on a graph and left the agent to intent, SQL generation, and language. More on that split: from single agent to hybrid agent-graph.

User question About a customer, discount, or history
Main agent Handles the large majority of queries
SQL sub-agent on a graph Edge cases — graph sequences steps, agent writes SQL
Answer Validated data between steps

Vstorm × undisclosed die manufacturer — PydanticAI + Pydantic-graph

What the graph owns, and what the agent owns

The graph handles step sequencing, state management, error propagation, and parallel execution. The agent handles intent analysis, query generation, result synthesis, and natural-language understanding. The SQL agent no longer has to decide what comes next. It generates the best SQL for its step; the graph runs the steps in order with validated data between them. That separation is what improved accuracy.

Image recognition for pricing

The old quote path meant choosing material, then manually moving a designer-format image onto the internal pricing platform so a person could count the work. The final number mixed material, customer history (a temporary or permanent discount), and the design itself — including recounting pixels into centimeters. That took about 30 minutes.

The image-recognition system cuts that to a few clicks. It is wired to the database agent, so discounts and context are already in the estimate. Two modes: manual (AI-assisted retrieval) and automatic (full image processing with little human oversight).

SharePoint freshness and a Slack loop on failures

Documents live in Microsoft SharePoint. An updater inside SharePoint checks for new files every 15 minutes. When something new appears, it refreshes the vector database and the RAG the database agent uses. A technical team does not have to babysit those updates.

A separate reliability app watches for negative feedback on the conversational agent. On a negative signal it stores the logs and posts Slack. That is how the team caught an unexpected malfunction: the chatbot sometimes misread “die” in “fed die” as a vulnerable topic, refused to continue, and suggested the user seek professional help.

Results

What changed on the quote and in the database

Pricing time per order
6x faster
Manual pricing
30 min
With the image agent
<5 min

Published time-of-work reduction across pricing and database operations is 72%. Any fact in the customer database is retrievable in about three seconds. The stack is PydanticAI and Logfire: an observable agent environment, with every component available over API so it can sit beside other systems or be augmented by them.

With the three streams in place, a later idea is a self-service estimator so a prospective customer can get a price without waiting for an employee to run the process by hand.

Work with us

Ready to see how agentic AI transforms pricing and support workflows?

Meet directly with our founders and PhD AI engineers. We will walk through real implementations from 30+ agentic projects and the practical steps to integrate them into your workflows.