About SalesEQ

SalesEQ produces detailed, complete data from customer conversations, including what was said, how it was said, and how it was received. It makes that data extremely accessible, both in real time on calls and afterward through AI agents and automations, giving teams visibility across their go-to-market organization to support sales enablement, forecasting, prospecting, and more. It was founded by Trent Ballard and Danny Engels. Teams use it inside the SalesEQ web and desktop app and through AI agents connected over MCP.

Agents need to find one moment in thousands of hours of conversations

Many SalesEQ customers have large archives of recorded calls. A typical request from an agent looks like this: “Find every moment sales reps got a pricing objection across all my company’s external meetings.” To answer it, the agent has to narrow the archive to the right handful of calls and then land on exact timestamps, without filling its context window with transcripts it doesn’t need.

In Trent’s experience, most meeting APIs make this hard. They typically let you filter on only one or two pieces of metadata, like start time or who recorded the call. That is fine for a person clicking through a list. An agent given the same tools ends up scanning hundreds of calls to find one.

“We think the most important tool for an agent to have is search. Our customers want to search their calls super reliably and find exact, specific moments across potentially thousands of hours of conversations.”

Trent BallardCo-founder, SalesEQ
Rep asksShow me every pricing objection Jordan got this quarter, with timestamps.
1. Narrow
List calls filtered by participant = Jordan and meeting date = this quarter # a few dozen calls instead of the full archive
2. Search
Search, hybrid mode: “pricing objection”
Search, keyword mode: “too expensive”
3. Land
14:32“Honestly the per-seat price is where this falls apart for us.”Northwind renewal, Aug 14
06:10“That’s too expensive for a team our size.”Globex discovery, Sep 3
22:47“Can you do anything on the annual number?”Initech pricing call, Oct 9
Illustrative example of how an agent works through SalesEQ’s listing and search tools. Steps are simplified, and the names, companies and quotes are made up.

Why SalesEQ chose TopK

  • Search quality out of the box. TopK’s semantic index embeds text on write and at query time, so SalesEQ runs no embedding pipeline of its own.
  • Query flexibility for agents. Keyword, semantic and hybrid search, filters and permissions all go into a single query, which is the toolset SalesEQ wanted to hand its agents.
  • Low cost. Embedding is cheap enough that a full re-index of 6,000 hours costs about $2, so SalesEQ re-indexes whenever a better model ships.
  • Easy to change. SalesEQ has changed its chunking, transcription model and data model many times since moving to TopK.
  • Security. TopK is SOC 2 Type 1 and Type 2 certified, which SalesEQ needed while completing its own SOC 2.

How SalesEQ uses TopK

Rich metadata on every call

Search can only be as good as the data behind it, so SalesEQ tracks each meeting in detail: every participant, start and end time, calendar event data, the platform the call happened on, and where it came from, whether SalesEQ’s own botless recorder or an import from another tool such as Otter. It even tracks who owns a meeting, who recorded it and who imported it as three separate things. Its search tool exposes 25 filters across 17 dimensions, from date range and attendees to who spoke in a given snippet, and every one of them is applied inside TopK.

Simple, speaker-labeled chunks

The vectors themselves are deliberately simple. Each transcript is split into chunks of 250 to 350 tokens, about a minute of conversation, written as plain speaker turns like Trent Ballard: … followed by the next speaker. Those chunks go into TopK’s semantic index, and all the meeting metadata is stored as separate filter fields next to them.

CallsSalesEQ botless recorderZoom, Google Meet, TeamsImported fromOtter, Fathom, Gong, GranolaBackfill and webhooks
SalesEQ ingestionTranscribeSplit into ~300-token speaker-turn chunksAttach metadata: participants, times, platform, source, owner, recorder, importer
TopKsemantic_indexvectors for each chunkkeyword_indexexact-term matchingfilter fieldsmeeting metadata, updated separately from vectors
SalesEQ MCP and API25 filters across 17 dimensionsSearch: keyword, semantic, hybridTranscript and video moments
AgentsClaude and other MCP clients, SalesEQ Deep Search loop
Agents query TopK many times in parallel
SalesEQ’s search pipeline. Metadata lives in TopK filter fields, separate from the vectors.

Letting the agent choose how to search

SalesEQ’s search tool has three modes: keyword, semantic and hybrid. Instead of picking one for the agent, SalesEQ lets the model decide, and the tool description actively encourages it to try more than one. In practice, agents start by listing and searching calls, often both at once. Once they know which meetings matter, they pull exact transcript timestamps, and sometimes video frames when a slide or the room itself is relevant.

Hybrid is the default, and agents keep it for 72% of searches. When they switch, they pick keyword about twice as often as semantic.

“Because we’re using TopK, queries are very cheap. Our tool descriptions literally say: queries are cheap, don’t be afraid to make multiple tool calls to our search in parallel.”

Trent BallardCo-founder, SalesEQ

SalesEQ also added TopK’s n-gram index after reading how it makes regex search fast. Name filters accept regex too, so agents can match exact patterns as well as meaning.

Permissions enforced inside the query

Not every user can see every call. Before searching, SalesEQ looks up the meetings a user has access to and passes their IDs to TopK as a filter. Search only ranks calls that user is allowed to see, so permissions are applied inside the query rather than by trimming results afterwards, and no good results are lost along the way. It is the pre-filtering approach described in how to enforce RBAC in vector search.

Re-indexing nine times, without thinking twice

Changing an embedding model or a chunking strategy means re-indexing everything. On many setups that is expensive enough to need planning. For SalesEQ it costs about $2 for 6,000 hours of calls and runs as a script in a few hours. Trent’s most recent re-index came right after TopK shipped an updated embedding model.

Full re-indexes~$2 eachNine re-indexes: six experiments, one transcription model change, two TopK model upgrades
Metadata rewrites“practically free”More often than full re-indexes, and none of them require re-embedding
Trying out formats and chunkingNew transcription modelNew TopK embedding model
SalesEQ’s re-index history, as described by Trent.

“We’ve re-indexed nine times, in large part because it’s so cheap. We have 6,000 hours of calls, and it cost on the scale of $2 to re-index.”

Trent BallardCo-founder, SalesEQ

Changing the data model without touching vectors

SalesEQ’s data model keeps evolving. The split between who owns, recorded and imported a meeting is a recent addition. Because SalesEQ keeps that metadata in TopK filter fields, separate from the text it embeds, a change like that is a metadata update, not a re-embedding job.

Metadata written into the chunk textAdding an “imported by” field
  1. Rebuild the text of every chunk
  2. Re-embed all 6,000 hours of calls
  3. Swap the old index for the new one
A full re-index for one new field
With TopK filter fieldsAdding an “imported by” field
  1. Write the new field onto existing chunks
  2. Expose it as a filter in the MCP tool
Vectors untouched, practically free

“With TopK, filters are completely separate from the vector index. We’ve rewritten filters and metadata many more times than we’ve re-indexed, and that’s practically free.”

Trent BallardCo-founder, SalesEQ

SalesEQ recently launched Deep Search, which runs TopK search tools inside an agent loop powered by SID-2, a model from SID, a startup that trains AI models built only for search. Instead of making one search call, SID-2 runs TopK’s keyword and semantic search about eight times per question, looks at what comes back, rephrases and searches again, then hands SalesEQ the best chunks.

Deep Search takes the same filters and returns the same structured chunks as regular search. Because it can follow multi-hop questions and reason about intermediate results, it reaches further than a single search: in SalesEQ’s tests, 62% of the excerpts Deep Search returned never appeared in a single search’s top 10. Deep Search launched behind a feature flag, and SalesEQ is steadily increasing the share of traffic it handles.

What SalesEQ customers do with it

Onboarding new repsA 10-person startup points new hires at its archive of past calls through Claude.“Show me examples of people demoing our product.”
Product decisionsBefore building a meeting import feature, Trent had an agent search SalesEQ’s own calls with its customers for the tools they used before, and used the results to decide which import integration to build first.“Which recorders do our customers already use?”

What’s next for SalesEQ

From the first day he built search, Trent wanted it to be multimodal. SalesEQ already captures video and audio, so the goal is to search video frames and audio alongside transcripts, for example finding the moment a pricing slide is on screen. TopK’s embedding model already handles images, and how audio would fit is still being worked out. Trent’s idea is for Deep Search, through SID, to query each type of data in TopK and reason across the results in one loop.