Competitor battlecard workspace your reps open before calls
One grid of competitor cards with current pricing, your own positioning notes, and a refresh button a rep hits minutes before a competitive call.
I want a competitor battlecard workspace my sales team opens before competitive deals. It is a reference surface people read and edit, not an alerting workflow, so nothing runs on a schedule and nothing gets pushed at anyone. Every rep sees the entire competitor set rather than only the competitors they added or own, and any rep can edit any battlecard.
The home view is a grid of competitor cards, one card per competitor we track. Each card shows the competitor name, their current pricing tiers as plan names with prices, a thumbnail image of their pricing page, the date we last checked them, and a flag when something changed since the previous check. Make that changed flag the most visible thing on a card so a rep scanning the grid immediately sees which competitors moved.
Opening a competitor card gives me the full battlecard on its own view. It shows the scraped plan and price table for that competitor, our own positioning notes and objection handling, a change history listing earlier pricing snapshots with the date each was captured and what differed, a full page image of the pricing page, and a sidebar of recent news about that competitor.
The positioning notes and objection handling are ours, not scraped. The team edits them inline on the battlecard and the app saves them, so the next rep who opens the card sees the current version. Keep those fields free text, persist them per competitor, and never overwrite them when a scrape refreshes the pricing data.
For the data handlers, use Browserless Scrape Elements against each competitor pricing page to pull the plan and price table into structured plan name and price pairs. Use Browserless Take Screenshot for both the card thumbnail and the full page image on the battlecard. When a pricing page does not yield a clean table from selectors, fall back to Browserless Get Page Content to fetch the fully rendered HTML and extract the plans and prices from that. Fill the news sidebar with Browserless Search Web on the competitor name.
Each battlecard has a Refresh button that re-scrapes just that one competitor on demand, so a rep can verify pricing minutes before a call. Refresh re-runs the scrape, the screenshot, and the news search for that competitor only, then updates the card in place and shows the new last checked date.
Only mark a competitor as changed when the extracted prices or plan names actually differ from the previous snapshot. Compare the structured plan name and price values, not the raw page HTML, so cosmetic markup churn, reordered attributes, rotating banners, and changed tracking parameters stay quiet. When nothing material changed, update the last checked date and leave the card unflagged.
Every refresh appends a dated snapshot row to a Google Sheet using Google Sheets Append Values, capturing the check date, the competitor name, each plan name and price, and whether it counted as a change, so the pricing history survives outside the app.
Each battlecard also has a Send battlecard to Slack button. It posts a summary of that card into a deal channel the rep picks, using Slack Bot Send a Message. The summary carries the current plans and prices, what changed since the last check, and our top positioning and objection handling points.
I need a way to manage the tracked set from inside the app: add a competitor with a name and pricing page address, edit that address, and remove a competitor. Adding one should run the first scrape right away so the new card has pricing and a thumbnail immediately.
What does this prompt do?
- Shows every competitor you track as a card with their current pricing tiers, a picture of their pricing page, and the date you last checked them.
- Flags a competitor only when their real prices or plan names change, so nobody chases a redesign or a reshuffled banner.
- Opens into a full battlecard: the plan and price table, your team's positioning notes and objection handling, recent news about them, and a history of past pricing.
- Refreshes a single competitor on demand and shares the battlecard into a deal channel in Slack with one click.
What do I need to use this?
- A Browserless account, which is what reads competitor pricing pages and captures the page images for you.
- A Google account with a spreadsheet where the dated pricing history gets saved.
- A Slack workspace, if you want reps to share battlecards into deal channels.
- The pricing page web address for each competitor you want to track.
How can I customize it?
- Add, edit, or remove competitors at any time by entering a name and their pricing page address.
- Decide what counts as a change, for example flagging only price moves and staying quiet about new plan names.
- Rewrite the positioning notes and objection handling for each competitor as your messaging evolves.
- Choose which Slack channel a battlecard gets posted into when a rep shares it.
FAQs
Does this run on a schedule, or do I check when I want?
Will it flag a competitor every time they tweak their website?
Can my whole team see and edit the battlecards?
What happens to the old prices when a competitor changes their page?
Do I need technical skills to add a competitor?
How is this different from a competitor alert that posts to Slack?
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.
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 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.
Staff submit what happened, your social manager edits the copy, picks the accounts and puts it on the calendar without a single spreadsheet.
Drag creators through Sourced to Wrapped on a board grouped by campaign, with audience stats on every card and a one-click brief for each creator.
Verify competitor pricing before the call, not after it.
Give your reps one workspace with current competitor pricing, your own objection handling, and a refresh that takes seconds.