MARKET RESEARCH
On-Demand New Competitor Pricing Onboarding
Manually kicked off for a newly discovered competitor: captures a clean baseline snapshot of their pricing page, classifies their packaging model.
How it runs
The automated pipeline, trigger to output.
- TriggerOperator submits new competitor URL
- ActionScrape pricing page to markdownFirecrawl
- ActionNormalize schema and classify modelOpenAI
- LogicValidate parse and dedupe against watchlist
- ActionWrite baseline snapshot and watchlist rowCoda
- OutputConfirm baseline and packaging modelSlack
What it does
When you spot a new player in the category, this template onboards them into the tracking system in one run. It scrapes their pricing page, normalizes it into the same schema the recurring trackers use, classifies their packaging model (seat-based, usage-based, flat, freemium, hybrid), and registers the URL so future weekly sweeps pick it up automatically.
When to use it
Use it the moment a new competitor, adjacent product, or acquired brand lands on your radar. It guarantees the baseline snapshot is captured in the right format so the very next diff run has something to compare against — no manual schema wrangling.
How it works
- 1An operator triggers the run manually with the new competitor's pricing URL and name.
- 2Firecrawl scrapes the page to clean markdown.
- 3An OpenAI step normalizes it into the standard tier/feature schema and classifies the packaging model.
- 4A logic step validates the snapshot parsed cleanly and isn't a duplicate of an existing tracked entry.
- 5The baseline snapshot and watchlist entry are written to Coda.
- 6A Slack confirmation posts the captured baseline and assigned packaging model.
Set it up
What you configure once, before turning it on.
- 1Connect FirecrawlCrawl, scrape, structured extract.
- 2Connect OpenAIModels, embeddings, files.
- 3Connect CodaDocs, packs, automations.
- 4Connect SlackChannels, DMs, threads, mentions.
- 5Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
- 6Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
- 7Test, then turn it onRun once against a sample, confirm the output, then enable the trigger.
More Market Research workflows
Enrich Inbound Accounts with BigQuery Firmographics and Score Fit
When a new account row lands in Airtable, joins it against BigQuery public business datasets to attach firmographic attributes.
Blend BigQuery TAM with Live Competitor Signals into a Notion Brief
On demand, sizes a chosen segment from BigQuery public data, gathers current competitor signals via Brave Search, and synthesizes a one-page market brief into Notion.
Allocate Sales Territory TAM from BigQuery Geo Data to HubSpot
When triggered by a webhook, queries BigQuery public ZIP-level business data to compute TAM per sales territory.
Hiring Surge Detector with Slack Alert
Detects when a target account's open-role count jumps above its recent baseline and posts a ranked Slack alert to the GTM channel so reps can act on a company that is clearly…
Tech-Stack Shift Inference from Job Descriptions
Reads new job descriptions for target accounts, uses an LLM to extract named technologies and infer stack changes.
Weekly Hiring-Intel Briefing for GTM
An agent reviews the week's accumulated hiring signals across all target accounts, writes a narrative briefing that infers each account's likely initiatives.
Run it inside a business
This workflow drops into a full company template. Import the org, and this is one of the playbooks its agents run.

Run this workflow in your colony.
14-day trial. No DevOps. No Sales call. Provisioned in under a minute.
