Weekly citation milestone watcher for research papers
Get a Monday morning Slack roundup of which of your tracked papers gained citations, crossed round-number thresholds, or hit a milestone target.
Build me an agent workflow that runs every Monday at 8am on a cron trigger and posts a weekly citation milestone roundup for the papers my research group tracks.
Inputs. I keep a Google Sheet that is the watchlist. Each row is one paper with these columns: DOI, paper nickname, last_known_citations, milestone_target. The agent should treat this Sheet as the source of truth for which papers to look up and what the previous citation count was.
Steps the agent should run, in order:
1) Read the watchlist from Google Sheets using the Get Values operation. Pull every row from the data range so the agent has the full DOI list, nicknames, last_known_citations, and milestone_target values.
2) For each DOI, call the Crossref Get Work by DOI operation. From the returned record, take is-referenced-by-count as the current citation count and note the most recent indexed date so the agent can mention freshness if a paper has not been re-indexed recently.
3) For each paper, compare the new citation count to last_known_citations and figure out: (a) which papers gained any citations this week, (b) which crossed a round-number threshold of 50, 100, 250, 500, or 1000, and (c) which hit or passed their configured milestone_target.
4) Write a short narrative summary in plain English, grouped into three buckets: "Milestone hit" for papers that crossed milestone_target or a round-number threshold this week, "Notable jump" for papers with a meaningful citation gain that did not cross a threshold, and "Steady" for papers with no change or a single citation added. Use the paper nickname (not the DOI) in the summary so it reads naturally. Keep the whole summary tight, no more than a few short paragraphs.
5) Post the summary to Slack using the Send a Message operation. The target channel should be configurable when I run the workflow.
6) After the Slack message succeeds, update the Sheet with the fresh citation counts using the Update Values operation. Overwrite the last_known_citations column so next Monday's comparison uses this week's numbers as the new baseline. Do not touch any other columns.
Edge cases to handle: if a DOI returns 404 or the record has no is-referenced-by-count, skip that paper and mention it in a short "could not check" footer in the Slack message; do not overwrite that row's count in the Sheet. If the Sheet is empty, post a one-line Slack message saying the watchlist is empty and exit. Be polite to Crossref by including a contact mailto in the request so we stay in the polite pool.
Use the agent workflow type so the grouping and milestone interpretation can use judgment rather than rigid rules.
Additional information
What does this prompt do?
- Reads your watchlist of papers from a Google Sheet, with one row per paper and columns for the DOI, a friendly nickname, last week's citation count, and the milestone you care about.
- Looks up the live citation count for each paper from the public scholarly record.
- Groups the week's results into milestone hits, notable jumps, and steady papers, then writes a short narrative summary.
- Posts the summary to a Slack channel of your choosing every Monday morning.
- Writes the fresh citation counts back to the Sheet so next week's comparison starts from an accurate baseline.
What do I need to use this?
- A Google Sheet with your tracked papers, one row per paper with columns for DOI, a nickname, last known citation count, and a milestone target.
- A Google account with permission to read and edit that Sheet.
- A Slack workspace and a channel where the weekly roundup should land.
How can I customize it?
- Change the schedule to a different day or time, for example Friday afternoon instead of Monday morning.
- Edit the round-number thresholds the agent calls out, for example 25, 75, 200 instead of 50, 100, 250.
- Swap the Slack channel, route the summary to a private group, or send it to a specific person as a direct message.
- Add extra columns to the Sheet, such as lead author or grant code, and ask the agent to group the summary by those instead.
Frequently asked questions
Do I need a paid citation database to use this?
What if a paper does not have a DOI?
How does the agent decide what counts as a notable jump?
Will the Sheet stay accurate over time?
Can I track papers from more than one lab in the same Sheet?
Celebrate every citation milestone without checking by hand.
Connect Google Sheets and Slack once, and Geni posts a fresh citation roundup to your lab channel every Monday.