# Competitive Research Digest — AI Workflow export
# https://invitationbuddy.com/workflows/competitive-research-digest
schema_version: "1.0"
exported_at: "2026-08-16T12:25:19+00:00"
source: "https://invitationbuddy.com/workflows/competitive-research-digest"
workflow:
  name: Competitive Research Digest
  slug: "competitive-research-digest"
  version: "1.0.0"
  tagline: A weekly briefing on what your competitors actually shipped
  summary: "Monitors competitor sites, changelogs, pricing pages and public channels, then delivers a weekly digest of what genuinely changed — with sources."
  description: |-
    Competitive monitoring degrades into a folder of unread alerts. This agent checks a defined set of sources weekly, compares against last week's snapshot, and reports only what actually changed — with a link to the evidence for each item.
    
    The filtering is the product: an alert stream nobody reads is worse than no monitoring.
  category: Research
  type: AI Agent
  difficulty: intermediate
  automation_level: mostly_automated
  pricing: paid
  language: en
  trigger:
    type: schedule
    detail: "Every Monday 06:00"
  input_types:
    - url
    - text
    - api
  output_types:
    - report
    - summary
    - email
  author: null
  company: null
  last_updated: "2026-07-19"
overview:
  purpose: |-
    Competitive monitoring degrades into a folder of unread alerts. This agent checks a defined set of sources weekly, compares against last week's snapshot, and reports only what actually changed — with a link to the evidence for each item.
    
    The filtering is the product: an alert stream nobody reads is worse than no monitoring.
  business_value: Replaces scattered manual checking with one briefing that names what changed and why it matters.
  expected_outcome: "A weekly digest of genuine changes across the tracked set, each with a source link and a materiality note."
  problems_solved:
    - Alerts fire on noise and get muted
    - Manual competitor checks slip when everyone is busy
    - Pricing and positioning changes are noticed late
    - No record of how a competitor evolved over time
  ideal_users:
    - Product marketing teams
    - Founders tracking a competitive set
    - Strategy and corporate development teams
  benefits:
    - "Reports changes, not activity"
    - Every item carries a source link to verify
    - "Week-over-week snapshots build a change history"
    - One briefing replaces many alert streams
  limitations:
    - Only sees public information
    - "JavaScript-heavy sites need a rendering fetch to read correctly"
    - "Cannot judge strategic intent — it reports what changed, not why"
    - Materiality assessment needs your context to be useful
  success_metrics:
    - Material changes surfaced per month
    - "False-positive rate in the digest"
    - Time from competitor change to internal awareness
    - Digest read rate
metrics:
  estimated_minutes: 30
  estimated_cost: 1.1
  cost_currency: USD
  estimated_tokens: 35000
  success_rate: 86
  automation_percent: 82
  human_review_percent: 18
industries:
  - SaaS
  - "E-commerce"
  - Media
  - Finance
tags:
  - Scheduled
  - RAG
  - High ROI
ai_skills:
  - RAG
  - Summarization
  - Data Analysis
tools:
  -
    name: ChatGPT
    role: primary
    required: true
    url: "https://invitationbuddy.com/ai-directory/chatgpt"
  -
    name: Claude
    role: supporting
    required: true
    url: "https://invitationbuddy.com/ai-directory/claude"
  -
    name: Perplexity
    role: supporting
    required: false
    url: "https://invitationbuddy.com/ai-directory/perplexity"
models: []
integrations:
  -
    name: OpenAI
    kind: ai_provider
    auth_type: api_key
    required: true
  -
    name: Anthropic
    kind: ai_provider
    auth_type: api_key
    required: true
  -
    name: Slack
    kind: communication
    auth_type: oauth
    required: false
  -
    name: Notion
    kind: productivity
    auth_type: oauth
    required: false
  -
    name: REST API
    kind: protocol
    auth_type: api_key
    required: false
prerequisites:
  -
    kind: api_key
    label: LLM API key
    detail: For diffing and synthesis.
    required: true
  -
    kind: account
    label: Web fetching service
    detail: "One that renders JavaScript — many marketing sites are client-rendered."
    required: true
  -
    kind: software
    label: Tracked source list
    detail: "The competitor URLs, changelogs and channels to monitor."
    required: true
  -
    kind: account
    label: Storage for snapshots
    detail: "To hold last week's state for comparison."
    required: true
steps:
  -
    number: 1
    title: Weekly trigger
    description: Scheduled run kicks off against the tracked source list.
    input: Schedule
    output: Run job
    estimated_minutes: 1
    difficulty: intermediate
    automation: auto
    manual_review: false
  -
    number: 2
    title: Fetch the tracked sources
    description: "Retrieve each page with rendering, normalise the content and store this week's snapshot."
    input: Source list
    output: Snapshots
    estimated_minutes: 6
    difficulty: intermediate
    automation: auto
    manual_review: false
    warnings:
      - Respect robots.txt and rate limits — aggressive scraping gets your IP blocked and can breach terms of service
  -
    number: 3
    title: Diff against last week
    description: "Compare snapshots and discard cosmetic differences — timestamps, rotating testimonials, session tokens."
    input: This week + last week
    output: Raw change set
    estimated_minutes: 4
    difficulty: intermediate
    automation: auto
    manual_review: false
    tips:
      - "Most of the engineering effort here is discarding noise, not detecting change"
  -
    number: 4
    title: Assess materiality
    description: Judge each change against your positioning and drop the immaterial ones.
    model: Claude Sonnet
    prompt: |-
      Assess these competitor changes for materiality to us.
      
      Our positioning: {{our_positioning}}
      Our target segments: {{segments}}
      
      Changes detected:
      {{change_set}}
      
      For each change:
      - what changed, in one line
      - source URL
      - materiality: high|medium|low|noise
      - why it matters to us specifically, or why it does not
      
      Be ruthless with "noise". A reworded headline is noise. A new pricing tier is not. If everything this week is noise, say so — an empty digest is a valid and useful result.
    input: Change set + our positioning
    output: Material changes
    estimated_minutes: 8
    difficulty: intermediate
    automation: auto
    manual_review: false
  -
    number: 5
    title: Write the digest
    description: "Compose the briefing: headline changes first, then detail, each with its source."
    model: "GPT-4o"
    input: Material changes
    output: Weekly digest
    estimated_minutes: 6
    difficulty: intermediate
    automation: auto
    manual_review: false
  -
    number: 6
    title: Distribute and archive
    description: Post to the team channel and file in the competitive intelligence archive.
    tool: Slack
    input: Digest
    output: Distributed briefing
    expected_result: "One briefing per week with a permanent, searchable archive."
    estimated_minutes: 3
    difficulty: intermediate
    automation: semi
    manual_review: false
  -
    number: 7
    title: Team review
    description: "The team marks items as actioned or irrelevant, tuning next week's materiality judgement."
    input: Digest
    output: Feedback signal
    estimated_minutes: 2
    difficulty: intermediate
    automation: manual
    manual_review: true
prompts:
  -
    title: Assess materiality
    kind: user
    body: |-
      Assess these competitor changes for materiality to us.
      
      Our positioning: {{our_positioning}}
      Our target segments: {{segments}}
      
      Changes detected:
      {{change_set}}
      
      For each change:
      - what changed, in one line
      - source URL
      - materiality: high|medium|low|noise
      - why it matters to us specifically, or why it does not
      
      Be ruthless with "noise". A reworded headline is noise. A new pricing tier is not. If everything this week is noise, say so — an empty digest is a valid and useful result.
    variables:
      - our_positioning
      - segments
      - change_set
    model_hint: Claude Sonnet
use_cases:
  -
    title: Product marketing intelligence
    description: Track competitor positioning and messaging shifts weekly.
    industry: SaaS
    outcome: Positioning stays current
  -
    title: Pricing monitoring
    description: Detect pricing and packaging changes the week they happen.
    industry: "E-commerce"
    outcome: Faster pricing response
  -
    title: Market landscape tracking
    description: "Maintain an evidence-backed record of how a market is moving."
    industry: Finance
    outcome: Documented market history
faq:
  -
    question: "Is monitoring competitor websites legal?"
    answer: "Reading public pages generally is, but terms of service and rate limits still apply, and some jurisdictions treat aggressive automated access differently. Respect robots.txt and keep request rates modest."
  -
    question: "How do we stop the digest becoming noise?"
    answer: "The materiality step exists for exactly this. Give it your real positioning, be strict about the \"noise\" category, and feed the team's actioned/irrelevant marks back in."
  -
    question: "Can it tell us why a competitor made a change?"
    answer: "No, and any workflow claiming to is guessing. It reports what changed and links the evidence — the interpretation is yours."
