Building a research assistant
Ask a research question — get a synthesised answer across papers
This workflow implements a research assistant: it searches PubMed for papers relevant to your question, retrieves structured metadata, and synthesises an answer that maps the research landscape.
- Go to Downloads (curriculum.32dots.de/share) and download 'Session 7 — Research assistant'.
- In n8n: ⋯ → Import from file. Open the chat panel.
- Ask: 'What are the current approaches to CAR-T cell therapy in solid tumors?'
- Watch the execution log: Plan Search → PubMed Search → Extract IDs → Paper Details → Format → AI Synthesizer.
- Ask a follow-up: 'Which of those approaches is furthest along in clinical trials?'
- Ask: 'What are the common limitations mentioned across these papers?'
- Open the Format Paper List node — inspect the paper list it builds from the esummary JSON.
Pipeline-as-tool-use: the n8n model of ReAct
In an autonomous agent (like Dify), the model decides WHEN to call tools and WHAT to pass. In n8n, you design the tool call sequence as nodes. Compare these two approaches — same result, different philosophy.
Probe-Fragen
- What stops the n8n version from running multiple search rounds (like an autonomous agent would)?
- In the Format Paper List node, what happens if esummary returns no results for a PMID? Is there error handling?
- For what types of research questions would a Dify agent give better results than this n8n pipeline?
Add a second search round for related papers
Extend the pipeline with a second PubMed search triggered by the AI's first response.
Aufgabe: After the AI Synthesizer responds, extract the most important keyword from the response and run a second, focused PubMed search. Return the combined results.
- After AI Research Synthesizer, add an AI Agent node: 'Extract the single most important keyword or phrase from this response for a follow-up PubMed search. Return ONLY the keyword, nothing else.'
- Add a Code node: build a new esearch URL using the extracted keyword.
- Add HTTP Request → Extract IDs → HTTP Request (efetch or esummary).
- Add a Set node: combine original papers + second-round papers.
- Add a final AI Agent: 'Using these papers, write a one-paragraph research landscape summary.'
- Test: does the second search find papers the first search missed?
Hast du das verstanden?
- I can explain the n8n equivalent of each ReAct step (Reason, Act, Observe, Respond).
- I understand why the session key uses $('When chat message received').first().json.sessionId.
- I extended the pipeline with a second tool-call round.
Frag den Tutor zu dieser Karte
Sokratisch: der Tutor antwortet mit Leitfragen statt fertigen Antworten — du erarbeitest die Lösung selbst.
Stell eine erste Frage zu dieser Karte unten.