Auto-fill your Airtable reading list from any DOI

Paste a DOI into your Airtable reading list and get the title, authors, journal, publisher, abstract, and publication date back in the same row.

Deterministic Code
AirtableCrossrefOperationsData SyncLead EnrichmentResearch & Monitoring
PromptCreate

Build me a code workflow that auto-enriches new rows in my Airtable reading list with scholarly metadata from Crossref.

Trigger: an Airtable poll on the new_record event for my Reading List table. The table has a DOI column plus columns I want filled in by the workflow.

When a new row arrives, read its DOI value. If the DOI cell is empty or does not look like a real DOI (no 10. prefix, no slash), set the row's Status field to "Invalid DOI" via Airtable Update Record and stop. Otherwise call Crossref's Get Work by DOI operation for that DOI.

If Crossref returns 404, set the row's Status field to "Not Found" via Airtable Update Record and stop. Do not fail the run on 404; it is an expected outcome for unknown DOIs.

If Crossref returns the work, map fields from the response onto the same Airtable row using Update Record. Populate: Title (first entry of message.title), First Author (the first author's given + family name), Author Count (length of message.author), Journal (first entry of message.container-title), Publisher (message.publisher), ISSN (first entry of message.ISSN), Publication Date (the earliest of message.published-print, message.published-online, or message.issued, formatted as YYYY-MM-DD), Work Type (message.type), Abstract (message.abstract, stripped of JATS XML tags), License URL (first entry of message.license[].URL if present), Funder (first entry of message.funder[].name if present), Cited By Count (message.is-referenced-by-count), Canonical URL (https://doi.org/ followed by the DOI), and Status set to "Enriched".

Crossref is a no-auth public API. Send a polite-pool User-Agent that includes a mailto so we get the higher rate limit. The response envelope wraps data under message, so read fields from there.

Keep the flow strictly deterministic. No LLM step. This is a code workflow: read DOI, validate, call Crossref, map fields, write back to Airtable.

What does this prompt do?

  • Watches your Airtable reading list and triggers the moment a new row with a DOI lands.
  • Looks up the paper in Crossref's public scholarly metadata catalog and pulls back title, first author plus author count, journal, publisher, ISSN, publication date, work type, abstract, license link, funder, citation count, and a clean doi.org URL.
  • Writes everything back to the same Airtable row, so a single DOI paste becomes a fully described entry.
  • Handles missing or unknown DOIs gracefully by stamping a Status field as Invalid DOI or Not Found instead of failing the run.

What do I need to use this?

  • An Airtable workspace with a reading list table that has a DOI column and the metadata columns you want filled in (title, authors, journal, publisher, ISSN, publication date, abstract, license, funder, citation count, URL, status).
  • An Airtable login with permission to read and update that base. No Crossref account is required, the catalog is public.

How can I customize it?

  • Change which columns get populated, for example drop the abstract if you keep notes elsewhere, or add ORCID and references count.
  • Adjust how often the workflow checks Airtable for new rows so freshly pasted DOIs enrich faster or slower.
  • Tighten the Status field options, for example add an Enriched value once the lookup succeeds so you can filter the table by what is already done.

FAQs

Do I need a Crossref account or API key?
No. Crossref's metadata catalog is fully public, so the workflow can look up any DOI without you signing up or paying.
What happens if I paste a DOI that does not exist?
The workflow sets the row's Status field to Not Found and moves on, so a bad DOI never breaks the run or leaves your row half-filled.
What if the DOI column is empty or clearly malformed?
The row is marked Invalid DOI in the Status field and skipped. You can filter for Invalid DOI rows in Airtable to fix them later.
Will this overwrite values I have already filled in by hand?
By default it will refresh the metadata columns from Crossref. If you want it to skip already-filled rows, tell the workflow author to only enrich rows where the title field is empty.
Can I use this with a Notion or Google Sheets reading list instead?
Yes. The same enrichment pattern works with other databases. Just describe the source table you actually use when you generate the workflow.

Related templates

Run your nutrition clients' weekly meal plans from one console

See who is due, build a week of dinners on demand, swap anything you do not like, then send the recipe and grocery links yourself.

Instacart
Airtable
Gmail
App
Instagram UGC rights tracker and repost approval board

See every customer photo that tags your brand, ask for permission in one click, and repost only once a yes is on the record.

Instagram
Airtable
Slack Bot
App
A verification desk for every document your team scans

See every scan next to the details pulled out of it, correct anything wrong, and let only verified numbers reach your ledger sheet.

JigsawStack
Airtable
Google Sheets
App
Browse and shortlist creators without burning audit credits

Search creators for free, shortlist the best with your team, and spend an audit credit only when you decide someone is worth a closer look.

HypeAuditor
Airtable
Slack
App
Global operations exposure map for your sites and suppliers

Open one board each morning to see which of your facilities, suppliers and shipping lanes are sitting near trouble in the news right now.

GDELT
Airtable
Slack
App
Deal sourcing kanban board for your Harmonic saved searches

Drag every new company from your Harmonic saved searches through New, Tracking, Meeting and Passed, with a one click diligence brief on every card.

Harmonic
Airtable
Slack
App

Stop hand-typing metadata for every paper you save.

Connect Airtable once, paste a DOI, and your reading list fills itself in seconds.