Competitor battlecard workspace your reps open before calls

By General Input

One grid of competitor cards with current pricing, your own positioning notes, and a refresh button a rep hits minutes before a competitive call.

Integrations

  • Browserless
  • Google Sheets
  • Slack Bot

Type

App

Categories

  • Sales
  • Marketing

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.

Related prompts

Explore more prompts
Call overdue Xero customers with an AI collections agentLocal listing health board for every location you manageLet support send one-off Loops emails without an engineerA brand asset library your marketing team actually searchesTurn Mailjet email clicks into ranked HubSpot follow-upsClean out the Looker dashboards and Looks nobody opensStop cold emails to anyone with a live deal in PipedriveLiveKit live operations console for room moderationWake up dormant Keap leads with a researched reasoniMessage campaign console with pre-flight checks and delivery board