251
All workflows

Follow up when accounts research a competitor

Reads a competitor's pricing and changelog, finds your open deals comparing them on G2, and drafts a comparison email for each owner.

Outcome

  • A five-bullet summary of the competitor's current plans and recent changes.

  • A drafted comparison email for each open deal whose company is researching the competitor, for its owner to send.

How it works

  1. F

    Read their pages, by Scrape a URL by Firecrawl

    Fetch each page in competitor_pages as markdown. Keep five bullets: the current plans and prices, and the changelog entries dated within lookback_days.

  2. G

    Find who is comparing, by Browse buyer intent for a product by G2

    For g2_product_id, list the last lookback_days of buyer intent with the company_domain and left_product_name dimensions. Keep the domains whose left_product_name is competitor_name.

  3. A

    Match open deals, by List records by Attio

    List the deals in open_stages whose company's domain is one of those. Keep each deal's name, stage, owner and main contact.

  4. Write the comparison, by Your agent

    Using the bullets from step 1 and our_differentiators, draft one plain-text email per deal, for its owner to send to the main contact, that names one concrete difference that matters at the deal's stage. Show the drafts to the user.

You'll be asked for

  • The competitor's pricing page and changelog URLs

  • The competitor's product name as G2 lists it

  • What your product does better

    e.g. native HubSpot sync, no per-seat pricing

  • Your product's id on G2

  • The Attio deal stages that count as open

    e.g. Discovery, Proposal

  • How far back to look

    e.g. 30

competitor-intent.mdView markdown

Follow up when accounts research a competitor

Reads a competitor's pricing and changelog, finds your open deals comparing them on G2, and drafts a comparison email for each owner.

Set up the tools below, then run the steps in order for the user, carrying each step's results into the next. The run is done when the user has the outcome below.

Outcome

  • A five-bullet summary of the competitor's current plans and recent changes.
  • A drafted comparison email for each open deal whose company is researching the competitor, for its owner to send.

Inputs

Ask the user for these before you start.

  • competitor_pages: the competitor's pricing page and changelog URLs
  • competitor_name: the competitor's product name as G2 lists it
  • our_differentiators: what your product does better, e.g. native HubSpot sync, no per-seat pricing
  • g2_product_id: your product's id on G2
  • open_stages: the Attio deal stages that count as open, e.g. Discovery, Proposal
  • lookback_days: how far back to look, e.g. 30

Set up

Scrape a URL (Firecrawl, tool:firecrawl/scrape-url)

Use the first option your agent supports.

MCP (official, remote)

Add this server to your agent's MCP settings, then sign in when asked.

{ "mcpServers": { "firecrawl": { "url": "https://mcp.firecrawl.dev/v2/mcp-oauth" } } }

Call the MCP tool firecrawl_scrape.

CLI (official)

Install the command, then confirm it runs.

npm install -g firecrawl-cli
firecrawl --version

Run firecrawl scrape.

Set $FIRECRAWL_API_KEY in your environment first (get a key: https://www.firecrawl.dev/app/api-keys).

Browse buyer intent for a product (G2, tool:g2/browse-product-buyer-intent)

Use the first option your agent supports.

Note: Needs the buyer_intent.read scope. Rows include competitor activity: when left_product_id differs from subject_product_id, the company was looking at the competitor named in left_product_name.

MCP (official, remote)

Add this server to your agent's MCP settings, then sign in when asked.

{ "mcpServers": { "g2": { "url": "https://mcp.g2.com/mcp" } } }

Call the MCP tool browse_product_buyer_intent.

API (official)

List records (Attio, tool:attio/list-records)

Use the first option your agent supports.

MCP (official, remote)

Add this server to your agent's MCP settings, then sign in when asked.

{ "mcpServers": { "attio": { "url": "https://mcp.attio.com/mcp" } } }

Call the MCP tool list-records.

API (official)

Before step 1, confirm access to each service with its cheapest read-only call, like a list or a search. Never send or change anything to test access.

Steps

  1. Read their pages with Scrape a URL (Firecrawl). Fetch each page in competitor_pages as markdown. Keep five bullets: the current plans and prices, and the changelog entries dated within lookback_days.
  2. Find who is comparing with Browse buyer intent for a product (G2). For g2_product_id, list the last lookback_days of buyer intent with the company_domain and left_product_name dimensions. Keep the domains whose left_product_name is competitor_name.
  3. Match open deals with List records (Attio). List the deals in open_stages whose company's domain is one of those. Keep each deal's name, stage, owner and main contact.
  4. Write the comparison yourself. Using the bullets from step 1 and our_differentiators, draft one plain-text email per deal, for its owner to send to the main contact, that names one concrete difference that matters at the deal's stage. Show the drafts to the user.

Rules

  • Use only the services set up above. The read-only calls they need, like listing ids or polling for results, are fine.
  • Ask the user before anything that sends messages, costs money, or changes data, and say how many records it touches. One approval covers a batch the user has seen.
  • Never print API keys.