Competitive battlecard workspace ranked by open pipeline
See every competitor battlecard next to the number of open deals that name that competitor, so the cards carrying real pipeline get refreshed first.
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.
What does this prompt do?
- Shows every competitor battlecard you keep in Guru next to the number of open HubSpot deals that name that competitor, so the cards backing the most pipeline rise to the top.
- Surfaces coverage gaps, the competitors that keep showing up in deals with no battlecard written at all.
- One click sends a background assistant to research the competitor's current public positioning and pricing, review why you recently lost deals to them, and draft an updated card with a what changed since last review section for approval.
- Approved cards are published back to Guru with an owner assigned, a short summary of what changed goes to your sales channel, and reps get a read only view with objection handling pinned to the top of every card.
What do I need to use this?
- A Guru account with a collection where your competitive battlecards live, and permission to create and update cards
- A HubSpot account with deals, where competitor names appear in deal records
- A Slack workspace with a sales channel to post published updates to
- A named owner for each battlecard, usually your enablement lead or a product marketer
How can I customize it?
- Set the review window that marks a card as stale, 90 days by default.
- Choose which Guru collection holds your battlecards and which Slack channel receives the update summaries.
- Change how competitors are matched to deals, for example using a competitor field on the deal instead of searching deal text.
FAQs
Where does the pipeline number next to each card come from?
Does the assistant change our battlecards automatically?
What happens for a competitor we have never written a card for?
Can reps use this without breaking anything?
Will this work if our deals do not have a competitor field?
Related templates
Stop buying stale lists. Reps run a saved search, work the results like an inbox, and only the accounts they approve ever reach your CRM.
Pick a date, a starting point and a radius, then build a sequenced day of customer visits that lands straight on your calendar.
See how your brand's news coverage and sentiment stack up against four competitors, then let an assistant write the weekly report for you.
One screen where reps filter for companies that fit, see who is actually reachable at each account, and save only the addresses that verify.
One screen showing every social post waiting on approval, sorted by deadline, so reviewers can approve or reject without leaving the page.
Every Monday, find the past champions and closed-won contacts who changed jobs, update Attio, and get the moves worth chasing in Slack.
Stop refreshing battlecards nobody is losing deals over.
See which competitor cards are actually carrying pipeline, and put your review time there first.