# Competitor battlecard library your team opens before calls

> A shared library of competitor battlecards with logos, products, pricing screenshots, and a diff that shows exactly what changed since the last time you looked.

- Workflow type: app
- Services: Context.dev, Slack Bot
- Categories: Sales, Marketing
- Published: 2026-08-17

## What it does

- Add a competitor by their web address and get a battlecard built for you: logo and brand colors, a plain description of what they sell, their industry, and their current product lineup.
- Captures full page pictures of each competitor's homepage and pricing page, plus the readable text of both, and saves it all as a dated snapshot every time you refresh.
- Puts the changes front and center: each card opens on a comparison showing new products, reworded positioning, and edited pricing copy since your last look, with the roster sorted by whoever moved most recently.
- Keeps a team-edited talking points field on every card, and shares a battlecard summary to a Slack channel in one click.

## What you'll need

- A Context.dev account, which supplies the company research, product lists, and website captures
- A Slack workspace you can connect, if you want the share button
- The web addresses of the competitors you want to track, such as acme.com

## Prompt

Build me a competitor battlecard library that my sales and product marketing team opens before calls. This is an app, not a scheduled report. Nothing runs on a timer. People open it on demand and press Refresh when they want fresh data.

The home screen is a roster of competitors. I add a competitor by typing their domain, supplied bare like acme.com with no protocol and no www. Each row shows the competitor logo, their name, a one line description, the date of the last refresh, and a short summary of what changed at that refresh. Sort the roster by most recently changed first, so the companies that just moved sit at the top. Adding a competitor kicks off the first data pull and creates snapshot number one.

Opening a competitor opens their battlecard. Build it from Context.dev. Use Retrieve Brand Data by Domain for the logo, brand colors, and company description. Use Classify NAICS Industries for their industry codes. Use Extract Products from Brand Website for their current product lineup, noting that this operation caps at 12 products, so treat 12 as the ceiling and say so in the UI when you hit it. Use Scrape Screenshot in full page mode for pictures of their homepage and their pricing page. Use Scrape Markdown for the readable text of those same two pages. Respect the format split: brand and industry lookups take bare domains, while anything that scrapes a page takes a full URL including the https:// protocol.

Every card has a Refresh button. Refreshing re-runs all of the above and saves the result as a new dated snapshot, keeping every prior snapshot rather than replacing it. Never re-scrape just because somebody opened a page. Page views must read from the stored snapshot, because screenshots and AI extraction each cost credits per call. Always show the date of the snapshot on screen so it is obvious this is a saved capture rather than a live view.

The diff is the centerpiece of this app and should be what the card opens on. I care much less about the raw page than about what moved since I last looked. Compare the newest snapshot against the previous one and show three things: products added to and removed from their lineup, changes in positioning language across the headline, tagline, and description wording, and changed pricing copy including plan names, prices, and what is included at each tier. Present a readable summary of the changes at the top, with the side by side text and the two screenshots available underneath for anyone who wants to verify the detail. Let people step back through older snapshots and diff any two of them, not only the most recent pair.

Each competitor also has a talking points field that my team writes and edits inside the app. This is our own content, so it persists in the app's own storage, it is never overwritten by a refresh, and it is shared across the team rather than being private per person. Show who last edited it and when.

Each battlecard has a Share to Slack button that posts a battlecard summary to a channel using the Slack Bot Send a Message operation. Let the person choose the channel before posting. The message should carry the competitor name and logo, the one line description, their current products, our talking points, and the highlights of the latest diff, along with the date of the snapshot it came from.

To be clear on scope: do not turn this into a scheduled digest or an alerting workflow. There is no cron and no push notification anywhere in this. The whole value is the on demand library, with per competitor drill down, stored snapshot history, and a refresh that people trigger themselves.

## How to customize

- Choose which pages get captured for each competitor. Homepage and pricing come as standard, and you can add a features, integrations, or customers page.
- Decide what counts as a notable change, so the roster highlights only the movements your team actually cares about.
- Point the share button at whichever channel suits, such as a company-wide compete channel or a single deal team's room.

## FAQ

### How is this different from getting competitor alerts in Slack?

Alerts push at you on a schedule, and they are easy to scroll past. This is a place you open on purpose, usually a few minutes before a call, to read one competitor in depth. Nothing runs on a timer here. You hit Refresh when you want current data.

### Does it check competitors automatically?

No, and that is deliberate. Refreshing is something a person triggers, which keeps your research costs predictable and means every saved snapshot is one somebody actually wanted. Pages you open show the last saved snapshot rather than re-fetching the site.

### How far back does the history go?

Every refresh is kept as its own dated snapshot, so the history grows as long as you keep using the app. You can step back through older snapshots and compare any two of them, not just the two most recent.

### Can the whole team see and edit the same cards?

Yes. The roster, the snapshots, and the talking points are shared, so anyone on sales or product marketing sees the same battlecard. Talking points show who edited them last and when, and a refresh never overwrites what your team wrote.

### What if a competitor does not have a pricing page?

The card still builds from everything else, and it simply notes that no pricing page was captured. You can point that slot at a different page instead, such as a plans, packages, or features page.

Use this prompt in General Input: https://www.generalinput.com/prompts/competitor-battlecard-library-your-team-opens-before-calls