Competitive battlecard workspace ranked by open pipeline

By General Input

See every competitor battlecard next to the number of open deals that name that competitor, so the cards carrying real pipeline get refreshed first.

Integrations

  • Guru
  • HubSpot
  • Slack Bot

Type

App

Categories

  • Sales
  • Operations

I want a competitive enablement workspace. Our enablement lead should be able to open one screen and see every competitor battlecard we keep in Guru sitting next to how much pipeline actually depends on it, and our reps should get a stripped down read only version of the same content they can open right before a call.

The main view is a coverage board with one row per competitor. Each row shows the battlecard we have in Guru, found with Search Cards against the competitive collection the lead picks (use List Collections so they can choose that collection in settings) and loaded in full with Get Card, along with that card's last verified date and its current owner. Beside it, show the number of open HubSpot deals that name the competitor and the combined value of those deals. Sort the board by that demand so the cards backing the most pipeline float to the top.

The demand number comes from HubSpot deal data using Search Deals: run a full text query for the competitor name restricted to deals that are still open, count the results and total their amounts. This matters, so be strict about it: Guru has no analytics operations available here, so never rank or score cards by card views, knowledge base search counts, or any other Guru usage signal. Open deal value is the only demand signal on this board.

Keep a tracked competitor list in the app. Seed it from the battlecard titles in the chosen collection, and let the lead add competitor names by hand. When a competitor appears in open deals but has no matching card in Guru, show it as a coverage gap row pinned above the normal rows, in its own visual state, with the deal count and value that is currently going unsupported. That gap list is the point of the board as much as the ranking is.

Clicking a row opens a detail view with the full battlecard content from Get Card, the last verified date called out with a stale warning when it is older than the review window the lead sets (default 90 days), and the list of open deals behind the number so the lead can see exactly which deals are riding on this card.

Every row and the detail view has a Refresh this battlecard button that kicks off a background agent for that one competitor. The agent first researches the competitor's current public positioning, packaging and pricing on the web using the platform's built in internet search. Then it pulls that competitor's recent closed lost deals with Search Deals, filtering to deals lost in the last two quarters that mention the competitor, and reads the lost reasons and deal notes to work out why we actually lose to them. It then drafts a full replacement battlecard covering positioning, pricing, objection handling, landmines and proof points, with a what changed since last review section at the top that lists each change against the card we have today and why it matters. The draft lands back in the app as a pending review item attached to that competitor, never straight into Guru. Show a working badge on the row while the agent runs and a review pending badge once the draft is waiting.

The lead reviews the draft side by side with the current card, can edit the text before accepting, and then either approves or discards it. On approval, if the competitor already has a battlecard, publish the new content with Update Card. If this was a coverage gap with no card, create one with Create Card in the competitive collection instead. Either way, follow the publish with Replace Card Verifiers to set the owner the lead picked, so the card enters Guru's verification cycle with a real name attached. Record the publish date in the app so the board can show when each card was last refreshed through this workspace.

Right after a card is published, post a short summary to our sales channel with Slack Bot Send a Message: the competitor name, one or two lines on what changed, the new owner, and a link to the card, so reps know the card moved. Let the lead pick the channel in settings and see the message before it goes out.

Reps get a separate read only view. It is a search box over competitor names and card content, with no editing, no pipeline numbers and no refresh buttons. In this view the objection handling section is pinned to the top of every card, above everything else, because that is what a rep needs in the 30 seconds before a call. The rest of the card sits below it, with the last verified date shown small so they know how fresh it is.

Persist the tracked competitor list, the chosen Guru collection, the review window, the Slack channel, each competitor's assigned owner, and every draft with its status (pending, approved, discarded) plus the publish history. The board should look the same for everyone who opens it, and drafts must survive a reload.

Related prompts

Explore more prompts
A brand asset library your marketing team actually searchesTurn Mailjet email clicks into ranked HubSpot follow-upsClean out the Looker dashboards and Looks nobody opensLiveKit live operations console for room moderationWake up dormant Keap leads with a researched reasoniMessage campaign console with pre-flight checks and delivery boardLiveChat coverage board for planning next week's shiftsPhone routing control panel for LiveKit voice agentsA searchable RFP answer library your bid team drafts fromLinkedIn Ads budget pacing dashboard for every client account