Daily Slack alerts when your papers get cited
Every morning at 7am, Geni scans for new papers citing your work and posts a plain-English briefing to Slack so you never miss a citation.
Build me an agent workflow that watches for new citations of my own papers and pings me on Slack when one appears.
Trigger: a cron schedule that fires every day at 7am in my local time zone.
On each run the agent should do the following:
1. Read my tracking list from Google Sheets. Use Google Sheets Get Values on the "Tracked Papers" tab to pull the column of OpenAlex Work IDs or DOIs I want to monitor. Then use Get Values again on the "Citation Log" tab to read the OpenAlex Work IDs of citing papers that have already been flagged in previous runs.
2. For each tracked paper, call OpenAlex Search Works with a `cites:<work_id>` filter and a `from_publication_date` set to roughly the last 30 days. If the tracked entry is a DOI rather than a Work ID, pass it in URN form (for example `doi:10.7717/peerj.4375`) so OpenAlex resolves it correctly.
3. Diff the results against the Citation Log tab and drop any citing work whose OpenAlex Work ID is already logged. What is left is the set of genuinely new citations.
4. For each new citing work, write a short plain-English briefing that includes the citing paper's title, the primary authors and their lead institution, the journal or source, the publication date, and a 2-3 sentence "why it matters" written from the title and abstract that OpenAlex returns. Keep it skimmable.
5. Post the briefing to my Slack channel using Slack Send a Message. One Slack message per new citing work. If a tracked paper has no new citations, post nothing for it. If no tracked paper has any new citations on a given run, do not post at all.
6. After posting, append each new citing work's OpenAlex Work ID to the Citation Log tab using Google Sheets Append Values so the same citation will never be flagged twice.
I will provide the Google Sheets spreadsheet ID, the tab names for the tracking list and the citation log, the Slack channel to post into, and the initial set of papers I want to track.
Additional information
What does this prompt do?
- Every morning at 7am, scans the open scholarly catalog for new papers that cite the work you are tracking.
- Writes a short, plain-English briefing on each new citing paper: who wrote it, where it was published, and why it matters.
- Posts the briefing to your chosen Slack channel, one message per new citation.
- Logs every flagged citation in a Google Sheet so the same paper never gets sent twice.
What do I need to use this?
- A Google Sheet with one tab listing the papers you want to track (by DOI or OpenAlex Work ID) and a second tab for the running log of citations already seen.
- An OpenAlex account (free) for the scholarly catalog lookups.
- A Slack workspace and the channel where the briefings should land.
How can I customize it?
- Change the run time (default 7am) or the lookback window (default last 30 days).
- Add or remove tracked papers in the Google Sheet at any time, no code changes needed.
- Pick a different Slack channel, or send the briefing as a direct message instead.
- Adjust the briefing style, from a one-line headline up to a full paragraph summary.
Frequently asked questions
Will I get spammed if one of my papers suddenly takes off?
What if I want to track a paper that does not have a DOI?
Can my whole lab or research group share one feed?
Does it cover books, datasets, and preprints, or only journal articles?
How fresh are the citations I will see?
Related templates
Stop searching Google Scholar for your own citations.
Connect Slack, Google Sheets, and OpenAlex once, and Geni sends you a daily briefing on every new paper that cites your work.