See llms.txt for all machine-readable content.

Back to Templates

Check manuscript references for retractions with Crossref, OpenAI and Gmail

Quick overview

This workflow receives a manuscript’s reference list via a header-authenticated webhook, checks each citation against Crossref (including Retraction Watch data) and doi.org, uses OpenAI to draft editor-facing integrity memos and author queries for flagged items, logs outcomes in n8n Data Tables, and re-checks accepted manuscripts weekly.

How it works

  1. Receives a POST request with a manuscript ID, submitter email, and references list through a header-protected webhook.
  2. Validates and normalizes the input, de-duplicates references, and reuses a recent closed result or returns an already-open case for the same manuscript when applicable.
  3. Looks up each reference in the Crossref API (or runs a Crossref bibliographic search when no DOI is provided) and flags issues such as retractions, expressions of concern, corrections, DOI/citation mismatches, duplicates, or unresolved references.
  4. For DOIs missing from Crossref, queries the doi.org handle API to distinguish non-Crossref registrations from non-existent (potentially fabricated) DOIs.
  5. Aggregates all flags into an overall verdict floor and, when review is needed, uses an OpenAI agent (with Crossref and OpenAlex lookups) to produce a structured memo and draft author queries, then emails the report to the editor in Gmail.
  6. Collects the editor’s decision via a form (optionally requiring integrity-officer approval to keep blocking references), writes the final outcome to n8n Data Tables, notifies the submitter by Gmail, and adds accepted/auto-cleared manuscripts to a watch list.
  7. Runs every Monday to re-check watched DOIs in Crossref and reopens a new “post_publication_alert” check via webhook when a cited work’s status worsens.

Setup

  1. Run the manual “Run once to set up” path to create the n8n Data Tables named reference_checks and reference_watch.
  2. Create and attach an HTTP Header Auth credential for the intake webhook and for the “reopen check” HTTP request used by weekly monitoring.
  3. Add OpenAI credentials (for the agent) and Gmail credentials (for editor notifications, submitter messages, integrity-officer approvals, and error alerts).
  4. Replace placeholder values in “Reference check settings” and “Monitoring settings” (editor email, integrity officer email, Crossref mailto, ops email, and the workflow’s production webhook URL for reopening checks).

Requirements

  • A current n8n version with Data Tables and the AI Agent node (cloud or self-hosted).
  • An OpenAI API key, gpt-4.1-mini by default. The model is called only for lists with a medium or high flag.
  • A Gmail account. You can swap in Outlook, Slack or Teams for the notifications.
  • No other keys: Crossref, doi.org and OpenAlex are free public APIs. Crossref needs a real contact e-mail in crossref_mailto (polite pool); the workflow refuses to run with the placeholder. OpenAlex single-DOI lookups need no key.

Customization

  • Matching: title_match_threshold and mismatch_threshold in Reference check settings, plus STOP words in Read Crossref results.
  • Severities and actions: edit them in Read Crossref results and Read doi.org result. For example, make CORRECTED medium for clinical journals.
  • Reuse and open-check windows: REUSE_DAYS and OPEN_CHECK_DAYS in Check earlier checks and reuse window.
  • Follow-ups and blocking codes: MAX_FOLLOW_UPS and BLOCKING_CODES in Apply review policy. Timeouts are set in Wait for editor decision and Ask integrity officer to approve.
  • Weekly volume: MAX_DOIS in Collect DOIs to re-check.
  • Model: replace OpenAI with Anthropic, Gemini or a self-hosted model through Ollama.

Additional info

Limitations: Only works with a DOI, or with a citation that matches Crossref confidently, are checked; books, laws and web pages without a DOI usually end up UNRESOLVED for a person to verify. Retraction data is as complete as Crossref and Retraction Watch; a missing flag does not prove a cited work is sound. DOIs registered outside Crossref (DataCite, mEDRA) are reported as NOT_IN_CROSSREF and are not checked for retractions. METADATA_MISMATCH compares title words and year only, so it is medium, not high. Reference lists and citing context (no full text) are sent to the AI provider you connect. Decision support only: the editor decides.