Weekly journal club prep in Notion and Slack
Every Monday at 7am, get 2 to 3 new PubMed papers picked, written up in Notion with discussion questions, and put to a Slack vote for this week's meeting.
Build an agent workflow that preps my team's weekly journal club. Trigger: cron, every Monday at 7:00am in my local timezone.
Inputs the workflow should collect at setup: (1) a configurable list of PubMed topics expressed as MeSH terms and/or free-text keywords the club tracks, (2) the Notion database ID for our Journal Club database, (3) the Slack channel (default #journal-club), (4) how many finalists to pick per week (default 3, allow 2 to 3), and (5) the vote emoji the team should react with (default 👍).
Each run, do the following:
1. Search PubMed. Use PubMed ESearch against each configured topic scoped to papers indexed in the last 7 days (use the [edat] date tag or an equivalent recent-window filter). Combine results and dedupe by PMID. Return at least a few dozen candidates per topic so the ranking step has something to work with.
2. Skip papers we have already covered. Query the Notion Journal Club database (Query a Data Source) for existing entries and read the PMID property. Drop any candidate whose PMID is already in the database. This dedupe is required. Never create a page for a paper we have covered before.
3. Pull details on the survivors. Use PubMed ESummary to get title, authors, journal, publication date, DOI, and PMID for each remaining candidate, then EFetch to retrieve the abstract text. Cap the shortlist to a manageable size (roughly 15 to 25 papers) before EFetching abstracts to stay under rate limits.
4. Pick 2 to 3 finalists. Do NOT just take the most recent papers. Reason about novelty (does this move the field), methodological rigor (sample size, controls, preregistration, replication), and clinical or scientific relevance to the club's stated topics. Prefer studies over commentary or editorials unless the commentary is exceptionally consequential. Briefly note in your working memory why each finalist was chosen.
5. Create one Notion page per finalist. Use Create a Page with the Journal Club database as the parent. Populate structured properties: Title, Authors (comma-separated), Journal, PMID, DOI (as a URL to https://doi.org/<doi>), Publication Date, and Tags (map to the matching topic). If the database has additional properties, fill in the ones you can infer and leave the rest empty rather than guessing.
For the page body, use this structure with headings:
• TL;DR: 2 to 3 plain-English sentences a non-specialist on the team can follow.
• Key methods: bullets covering study design, population or sample, intervention or comparison, and primary outcomes.
• Main findings: bullets covering the headline results with effect sizes or key numbers where the abstract reports them.
• Limitations to probe: 3 to 5 things the moderator should push on (confounds, generalizability, statistical concerns, conflicts of interest, unreplicated claims).
• Discussion questions: 4 to 5 questions the moderator can lead with, mixing methodological, interpretive, and 'what would you do differently' angles.
• Link back to the paper on PubMed (https://pubmed.ncbi.nlm.nih.gov/<pmid>/) and to the DOI if present.
6. Post one Slack message to the configured channel using the Slack Bot Send a Message operation. Format it as: a one-line intro (for example 'This week's candidates. React with 👍 on the one you want to discuss.'), then a numbered list where each item shows the paper title in bold, the journal and year, a one-sentence hook drawn from the TL;DR, and a link to the Notion page. Do NOT post one message per paper. It must be a single message so the team can react on it to vote.
7. If zero candidates clear the bar this week, post a short Slack message saying so and skip creating Notion pages. Do not lower the bar to fill slots.
Constraints and quality bars:
• Dedupe by PMID against the Notion database on every run. This is the single most important correctness rule.
• Never fabricate findings. Everything in the writeup must be grounded in the abstract you fetched. If the abstract is thin, say so in the TL;DR.
• Keep the writeup readable by a mixed-audience team (clinicians, scientists, and occasional non-specialists). Plain English wins.
• Respect PubMed rate limits by using a modest concurrency.
Additional information
What does this prompt do?
- Scans PubMed each Monday morning for papers published in the last 7 days on the topics your journal club follows.
- Picks 2 to 3 finalists based on novelty, methodological rigor, and clinical or scientific relevance, not just recency.
- Creates a Notion page for each finalist in your Journal Club database with a plain-English TL;DR, key methods, main findings, limitations to probe, and 4 to 5 moderator discussion questions.
- Posts one Slack message linking to each Notion page and asks the team to react with an emoji to vote for this week's paper.
- Remembers what you have already covered so the same paper never gets picked twice.
What do I need to use this?
- A PubMed account with a free NCBI API key so searches stay fast.
- A Notion workspace with a Journal Club database shared with the General Input connection. Properties like title, authors, journal, publication date, DOI, PMID, and tags help the agent fill it in cleanly.
- A Slack workspace with a channel for your journal club (for example #journal-club) and General Input added to it.
- A short list of the topics your club follows, expressed as MeSH terms or keywords.
How can I customize it?
- Change the schedule. Move it earlier or later, or run it on a different day of the week to match when your club meets.
- Tune the topic list. Add or remove MeSH terms and keywords as your team's focus shifts, and adjust how strict the relevance filter should be.
- Change how many finalists get picked, which Slack channel receives the vote message, and which emoji the team should react with.
- Rewrite the writeup template. Ask for different section headings, a longer TL;DR, an equity or ethics lens, or a section that ties each paper back to a project on your team.
Frequently asked questions
How does it avoid picking the same paper twice?
What if my Journal Club database has different properties than the defaults?
Can it search preprints or other sources too?
Will it work if only some team members have Notion access?
What if no new papers on our topics show up that week?
Related templates
Stop scrambling to pick a journal club paper on Sunday night.
Connect PubMed, Notion, and Slack once, and Geni queues up next week's paper vote every Monday at 7am.