Enrich new HubSpot contacts with their academic research profile
When a new contact lands in HubSpot, Geni looks them up by name and affiliation, fills in ORCID and h-index, and drops a talking-point note on the record.
Build me an agent workflow that enriches every new HubSpot contact with their academic research profile from OpenAlex. This is for a team selling into the scientific and academic market: lab equipment, scientific software, research platforms, clinical research, and academic publishing. The goal is that an AE opens a brand new contact and immediately sees ORCID, h-index, primary institution, top research topic, and a short note with a real talking point.
Trigger: an incoming webhook from HubSpot configured to fire on the contact.creation event via HubSpot's standard webhook subscription. The webhook payload includes the new contact's object id and properties. Read first name, last name, email, company, and job title from the payload.
When the agent runs, it should:
1. If first name or last name is missing, write a short "insufficient info to enrich" note via HubSpot Create Note and stop.
2. Call OpenAlex Search Authors using the contact's full name. Use the company or institution from HubSpot as a disambiguation hint, biasing toward authors whose last_known_institutions display_name aligns with the HubSpot company. Prefer candidates that have an ORCID. Pick the single best match. If no candidate is confident, skip to step 6.
3. Call OpenAlex Get Author with the chosen author's OpenAlex id to pull the full profile, including ORCID, h_index, works_count, summary_stats, last_known_institutions, and top topics.
4. Call OpenAlex Search Works filtered by author.id:<id>, sorted by cited_by_count:desc, per_page=3, to pull the top three cited works. Also pull the most recent publication by sorting works for that author by publication_date:desc, per_page=1, so we can surface anything from the last 12 months.
5. Call HubSpot Update Contact on the original contact id to write back ORCID, h-index, total works, top research topic (the first entry under topics), and primary institution (the first last_known_institution display_name). These should be mapped to custom contact properties the user has created.
6. Call HubSpot Create Note associated to that contact id with a short summary the AE can actually use: one or two sentences on the person's research focus, their single most-cited paper (title plus journal plus year plus a DOI or OpenAlex link), and any publication from the last 12 months if one exists. Keep it to roughly a paragraph so it renders cleanly on the contact timeline.
7. If no confident OpenAlex match was found in step 2, skip the property update entirely and instead write a note saying "no confident OpenAlex match for <name> at <company>" so reps know enrichment ran but found nothing trustworthy. Do not guess.
Match confidence rules: bias toward false negatives. A confident match means at least one of (a) the candidate has an ORCID and an institution that visibly matches the HubSpot company or a known parent institution, or (b) the top OpenAlex result is the only result for that name plus institution combination. Two equally plausible candidates with no ORCID and no institution alignment should be treated as no confident match.
Notes for the build: OpenAlex is free and does not require an account, but include a contact email in the user-agent or mailto query param so we are in the polite pool. Keep the HubSpot note plain text or simple markdown so it renders cleanly on the timeline. The contact id from the webhook is the same id used for Update Contact and Create Note associations.
Additional information
What does this prompt do?
- Runs the moment a new contact is created in HubSpot, so your reps see a fully scored record before they open it.
- Finds the right researcher across every academic discipline using their name plus their company or institution, so a Smith at MIT doesn't get the wrong Smith's papers.
- Writes structured fields back onto the contact, including ORCID, h-index, total publications, top research topic, and primary institution, so you can sort, filter, and route on them.
- Adds a short note with the person's research focus, their most-cited paper, and any recent publication from the last 12 months so the AE has a real talking point.
- When no confident match exists, it leaves a brief note saying so instead of attaching the wrong person's work.
What do I need to use this?
- A HubSpot account with permission to read contacts, update contact properties, and create notes.
- Custom contact properties in HubSpot to receive the enrichment (ORCID, h-index, total works, top research topic, primary institution).
- A HubSpot webhook subscription set to fire on new contact creation.
- No account is required for OpenAlex. Including an email in requests is recommended for higher rate limits.
How can I customize it?
- Change the fields written back to the contact. Add citation count, i10-index, recent funding, or co-author count if your team scores on those.
- Tighten or loosen the match confidence rules. Some teams want only ORCID-verified matches written back, others accept a strong institution match alone.
- Adjust the note format, for example to add the top three papers instead of one, include co-authors, or pull the abstract of the most recent paper.
- Restrict enrichment to certain lifecycle stages or lead sources so it only runs on inbound demo requests rather than every contact import.
Frequently asked questions
Who is this useful for?
Will it pick the wrong person when last names are common?
Do I need a paid OpenAlex plan?
What HubSpot properties do I need to create up front?
Can I run this on contacts that already exist, not just new ones?
Related templates
Stop researching every inbound scientist by hand.
Connect HubSpot and OpenAlex once, and Geni profiles every new contact with their publication record before your AE opens the page.