- id: search_competitors
name: search_competitors
tool: CARNOT_SEARCH_CORP_PRO
config:
- name: perplexity_api_key
value: "{{secrets.PERPLEXITY_API_KEY}}"
- name: openai_api_key
value: "{{secrets.OPENAI_API_KEY}}"
input:
- name: query
value: "{{input.industry}} companies in {{input.target_region}}"
- name: num_results
value: 50
- id: enrich_company_data
name: enrich_company_data
tool: PYTHON_SANDBOX_RUN
input:
- name: code
value: |
import json
import re
from urllib.parse import urlparse
companies = {{steps.search_competitors.result.companies}}
enriched_data = []
for company in companies:
# Extract domain from URL
domain = ""
if company.get('url'):
try:
domain = urlparse(company['url']).netloc
except:
domain = company['url']
# Analyze company size based on address/description
size_indicator = "Unknown"
address = company.get('address', '').lower()
if any(term in address for term in ['suite', 'floor', 'building']):
size_indicator = "Medium-Large"
elif any(term in address for term in ['street', 'ave', 'road']):
size_indicator = "Small-Medium"
enriched = {
"name": company.get('name', ''),
"url": company.get('url', ''),
"domain": domain,
"address": company.get('address', ''),
"estimated_size": size_indicator
}
enriched_data.append(enriched)
print(json.dumps(enriched_data, indent=2))
- id: create_market_report
name: create_market_report
tool: OPENAI_INVOKE
config:
- name: version
value: gpt-4
input:
- name: prompt
value: |
Create a comprehensive market research report based on this company data:
{{steps.enrich_company_data.result.stdout}}
Include:
1. Executive Summary
2. Market Size Assessment
3. Key Players Analysis
4. Geographic Distribution
5. Competitive Landscape
6. Market Opportunities
7. Recommendations
Format as a professional business report.
- id: save_market_report
name: save_market_report
tool: OUTPUT_FILE
input:
- name: content
value: "{{steps.create_market_report.result.content}}"
- name: filename
value: "market_research_report_{{date | format('YYYY-MM-DD')}}.txt"
- name: fileType
value: "txt"