Alchemy RecipeIntermediateworkflow

Automated market reports: weekly synthesis of industry news and trends

An automated weekly report that gathers industry news, analyses trends and competitor moves, and delivers synthesised insights to stakeholders.

Time saved
Saves 10-20 hrs/week
Monthly cost
~~£60/mo/mo
Published

Your competitive intelligence team spends Tuesday mornings in research mode, scouring news feeds, analyst reports, and quarterly earnings. By noon, they're synthesising findings into a weekly brief. By 2 PM, they've sent it to stakeholders. Then Wednesday rolls around, and the cycle starts again. That's roughly 8 hours of human time per week, per analyst, just to produce a report that covers the same ground and uses the same sources every single time. The core process is repetitive: search for industry developments, filter signal from noise, identify competitor moves, connect dots between events, and package insights into readable prose. Every step can be automated. This workflow builds a fully automated market report that runs on your schedule, sources news from multiple channels, synthesises analysis using AI, and delivers polished reports to your team without manual handoff. You'll go from "someone needs to write this" to "the report landed in Notion at 8 AM Monday."

What You'll Build - A weekly trigger that runs every Monday morning, gathering fresh industry news via Perplexity API

  • An analysis stage where ChatGPT synthesises raw news into structured insights: competitive moves, market trends, regulatory changes
  • A report formatting stage where Notion AI polishes findings and adds context from your knowledge base
  • A report delivered directly into Notion, tagged and indexed for team access
  • 6-8 hours saved per analyst per week; more consistent, faster output; zero transcription errors

Prerequisites - Perplexity:

Free tier account. You'll need an API key if using API calls; the web interface works for free

  • ChatGPT: Plus subscription recommended (£19/month) for GPT-4o access; GPT-4.1 mini works but is slower
  • Notion: Free tier sufficient to start; paid tier (£7/user/month) if adding team database features
  • Orchestration tool: Choose one: Zapier (freemium), n8n (self-hosted, free), or Claude Code (if using local agents)
  • API keys: ChatGPT API key from OpenAI; Perplexity API key from your account settings
  • Technical knowledge: Comfortable with JSON payloads, basic webhook configuration, and reading API documentation
  • Estimated setup time: 45 minutes

The Automated Workflow

Step 1:

Trigger the Workflow on Schedule The workflow starts with a weekly trigger. In Zapier, use the "Schedule by Zapier" app set to run Monday at 8 AM UTC. In n8n, use the "Cron" node. In Claude Code, use the schedule skill. If using Zapier:

Trigger: Schedule by Zapier
Run: Every Monday at 08:00 UTC

This is the entry point; no input needed. The trigger simply says "start the sequence every Monday morning."

Step 2:

Search for Industry News via Perplexity Perplexity's API returns cited news and analysis. This is where you gather raw signal. You'll craft a search query that covers your specific industries, companies, and concerns. Use the Perplexity API endpoint:

POST https://api.perplexity.ai/chat/completions

Send this payload:

json
{ "model": "sonar", "messages": [ { "role": "user", "content": "Find the most significant industry developments in fintech, regulatory announcements, and competitor product launches from the past 7 days. Focus on: [list your 5-10 target competitors]. Return findings as a bullet list with sources cited." } ], "temperature": 0.7, "max_tokens": 2000
}

Add your Perplexity API key to the Authorization header:

Authorization: Bearer YOUR_PERPLEXITY_API_KEY

Capture the response; Perplexity returns the answer in choices[0].message.content, which will include citations and links. Store this in a variable; you'll pass it to the next step. Error handling: If Perplexity returns a 429 (rate limit), retry after 60 seconds. If no results (unlikely but possible), insert a default message like "No major developments detected this week" rather than failing the workflow.

Step 3:

Synthesise News into Structured Insights Pass the Perplexity findings to ChatGPT for analysis. ChatGPT will categorise developments and extract strategic implications. Use the OpenAI API endpoint:

POST https://api.openai.com/v1/chat/completions

Send this payload, embedding the Perplexity output:

json
{ "model": "gpt-4o", "messages": [ { "role": "system", "content": "You are a market analyst synthesising industry news. For each item, identify: (1) what happened; (2) which competitors it affects; (3) strategic implications for our product roadmap; (4) confidence level (high/medium/low based on source quality). Format as structured JSON." }, { "role": "user", "content": "Analyse these industry developments and provide structured insights:\n\n[INSERT_PERPLEXITY_OUTPUT_HERE]" } ], "temperature": 0.7, "max_tokens": 2500
}

ChatGPT will return a text block. Parse this response and structure it for the next step. If you want JSON output reliably, add this to the system prompt:

Output ONLY valid JSON with this schema:
{ "insights": [ { "development": "string", "affected_competitors": ["string"], "strategic_implication": "string", "confidence": "high" | "medium" | "low", "source": "string" } ]
}

Error handling: If ChatGPT returns incomplete JSON, re-send the request with a higher max_tokens value (3000). If the API is unavailable, pause the workflow for 5 minutes and retry up to 3 times.

Step 4:

Enrich Insights with Your Knowledge Base Connect to Notion and retrieve context: past analyses, known partnerships, product roadmap milestones. This step ensures the report doesn't repeat conclusions from four weeks ago and adds institutional memory. Use the Notion API endpoint:

POST https://api.notion.com/v1/databases/{DATABASE_ID}/query

Query your market intelligence database with a filter:

json
{ "filter": { "property": "Date", "date": { "past_week": {} } }
}

This returns recent analyses. Extract competitor names and themes from the ChatGPT output, then search your Notion database for matching historical records. Store this context; it will inform the final report. Error handling: If Notion returns a 401 (invalid token), the workflow fails safely without creating a duplicate report. If the database doesn't exist, log the error and fall back to proceeding without context enrichment.

Step 5:

Format and Polish the Report in Notion Use Notion AI to structure the findings into a polished report. Create a new Notion page with the synthesised insights. Use the Notion API to create a new page:

POST https://api.notion.com/v1/pages

Send this payload:

json
{ "parent": { "database_id": "YOUR_NOTION_DATABASE_ID" }, "properties": { "Title": { "title": [ { "text": { "content": "Market Report for Week of [DATE]" } } ] }, "Date": { "date": { "start": "2026-04-07" } }, "Status": { "select": { "name": "Draft" } } }, "children": [ { "object": "block", "type": "heading_1", "heading_1": { "text": [ { "text": { "content": "Key Developments" } } ] } }, { "object": "block", "type": "paragraph", "paragraph": { "text": [ { "text": { "content": "[INSERT_SYNTHESISED_INSIGHTS_HERE]" } } ] } } ]
}

Include the structured insights from ChatGPT, the historical context from your Notion database, and citations from Perplexity. Add a summary sentence at the top: "This week's developments centred on [theme 1], [theme 2], and [theme 3]." Error handling: If the Notion page creation fails (quota exceeded, invalid database ID), send a Slack notification to your analyst lead with the complete report content, so they can manually create the page.

Step 6:

Notify Your Team Send a summary to your team via Slack or email so the report doesn't sit unread in Notion. If using Slack, use a simple webhook:

POST https://hooks.slack.com/services/YOUR_SLACK_WEBHOOK_URL

Send this payload:

json
{ "text": "Weekly market report is ready", "attachments": [ { "title": "Market Report for Week of [DATE]", "text": "[SUMMARY_OF_KEY_FINDINGS]", "colour": "good", "actions": [ { "type": "button", "text": "View Full Report", "url": "https://notion.so/YOUR_NOTION_PAGE_URL" } ] } ]
}

Error handling: If the Slack webhook is invalid, log the failure but do not retry; the report is already safe in Notion.

The Manual Alternative

If you prefer more control before automating, run this process once manually to validate the outputs. First, visit Perplexity.ai and search manually for news in your verticals. Note the time this takes and the quality of results. Second, copy-paste the findings into ChatGPT and ask it to synthesise them as shown in Step 3. Review the structured output and iterate on the prompt until the categorisation feels right. Third, log into Notion and create a report page by hand, adding context from your past analyses and polishing the language. This manual run will show you which steps add the most value, which are mechanical, and where you need tighter prompts. It also gives you a baseline: if the workflow produces something worse than your manual version, you'll know something is broken. Once you're confident in the outputs, switch to the automated version. You can keep the automation running in parallel with manual creation for a week or two, comparing outputs, before fully trusting the system.

Pro Tips

1. Batch your searches by geography or sector.

If you cover five markets, don't run one search for all of them. Send five separate Perplexity queries in parallel (Step 2), then merge the results. This produces more focused results and gives ChatGPT clearer signal to work with.

2. Cache ChatGPT's system prompt across runs.

Your analyst instructions (the system message in Step 3) rarely change. Use the Prompt Caching API to reduce token spend by 50% after the first run. Add this to your request:

"cache_control": { "type": "ephemeral"
}

3. Set Perplexity to search only the past 7 days.

By default, Perplexity may return older results. Add a modifier to your search query in Step 2: "Find developments from the past 7 days only." This tightens the scope and reduces noise.

4. Use Notion templates to standardise report format.

Create a Notion template for market reports with properties for "Key Themes," "Competitor Actions," "Regulatory Changes," and "Next Steps." When Step 5 creates the page, map the ChatGPT output to these properties automatically. This makes reports consistent and easier to search later.

5. Monitor token usage and set a daily budget.

ChatGPT charges per token. If you run this workflow on 3 verticals with 2000-token limits, expect roughly £0.30-0.50 per run. Set a Zapier/n8n notification if weekly spend exceeds your threshold; this catches runaway prompts or API errors.

6. Add a manual review step for high-stakes insights.

Before publishing the report to Notion, send a 15-minute window for a human analyst to flag any obvious errors. Use Notion's comment feature or a Slack reaction. If no approval within 15 minutes, publish anyway; this prevents bottlenecks.

Cost Breakdown

ToolPlan NeededMonthly CostWhat You Get
ChatGPTPlus subscription£19.00Unlimited API access; GPT-4o model
PerplexityFree or API access£0.00 (free tier) or pay-per-useCited web search; typically £0.50-2.00/month at moderate volume
NotionFree tier£0.00Database creation, API access, up to 100 blocks/month
ZapierFree or Starter£0.00 (free) or £19.99 (Starter)100 tasks/month free; paid for high volume
SlackFree tier£0.00Webhook notifications for message delivery
Total£19-41.99/monthFully automated market reports for one analyst

Tool Pipeline Overview

How each tool connects in this workflow

1
ChatGPT

ChatGPT

AI-powered conversational assistant by OpenAI

2
Notion AI

Notion AI

AI-powered writing and knowledge management

3
Perplexity

Perplexity

AI-powered search engine with cited answers

More Recipes