Log meaningful analyst rating shifts to your Notion research log

By General Input

Every weekday after the close we check your watchlist for shifts in analyst sentiment, write up each one in Notion, and email you only when something moved.

Integrations

  • Finnhub
  • Notion
  • Gmail

Type

Agentic Task

Categories

  • Finance
  • Personal Productivity

Every weekday at 6:00pm Eastern, after the US market closes, check my stock watchlist for meaningful shifts in analyst sentiment, log each one to my Notion research database, and email me a roundup only when something material actually changed. Run this on a cron schedule, Monday through Friday. My watchlist is: AAPL, MSFT, NVDA, AMZN, GOOGL (replace these with the tickers you actually follow).

For each ticker on the watchlist, pull Finnhub's Recommendation Trends. That operation returns one row per month with strongBuy, buy, hold, sell, and strongSell analyst counts. Compare the most recent month against the month before it, which is a straight read of the two newest rows, so there is no state to store between runs and nothing to remember from yesterday.

Then try to enrich each ticker with Finnhub's Price Target for the consensus target, and Finnhub's Upgrade/Downgrade for individual analyst rating actions. Treat both as optional enrichment. Some Finnhub plans do not include them and will return HTTP 403. When that happens, skip that enrichment for the ticker, note internally that the data was unavailable, and carry on. The run must never fail because of a 403 on these two. Recommendation Trends is the signal this workflow genuinely depends on, and it is available on the free tier.

Decide for yourself what is actually material instead of logging every wiggle. One analyst nudging a price target by 2 percent is noise and should be ignored. Treat the following as material: a net shift of two or more ratings between the buy, hold, and sell buckets month over month; a fresh downgrade that has appeared since the previous run; or a consensus price target that has moved more than 10 percent. Use judgement on borderline cases. When nothing clears the bar for a ticker, write nothing for that ticker.

For each material change, use Notion's Create a Page to add one entry to my research log database. Create one page per material change rather than one page per run. Capture the ticker, the date, exactly what changed with the before and after numbers spelled out (for example, buy went from 12 to 9 while hold went from 5 to 8), and a two sentence read on why it matters for the position.

Only if at least one material change was found across the whole watchlist, use Gmail's Send a Message to send me a roundup listing each material change with a one line summary, along with links to the Notion pages you created. If nothing was material, send no email at all. A quiet day should produce an empty inbox, not a message telling me nothing happened.

Finnhub's free tier allows 60 calls per minute, so pace the requests if my watchlist is long. If a ticker returns no recommendation data, or only a single month of history with nothing to compare against, skip it rather than guessing at a trend.

Related prompts

Explore more prompts
Win back LiveChat visitors whose chats went unansweredChase the paperwork every new client and vendor still owesFile Gmail attachments into storage with names you can findScreen chartered vessels for AIS gaps and sanctions red flagsCandidate rediscovery desk for your archived Lever applicantsCompare candidate store locations with drive time trade areasBrowse every competitor ad and build a Notion swipe fileLaytime and demurrage claim workspace for chartering opsKajabi customer support console for member access fixesRun your application review round on Jotform submissions