Linking notes to Zotero?

Things I have tried

What I’m trying to do

Since the last updates of Zettelkasten I came across more issues, so I wanted to move to Obsidian. Now I have
a) a lot of notes that I can import into Obsidian vault but are not linked to Zotero (yet)
b) (and this is the bigger issue): I would like to create new md Notes in Obsidian and directly link them to Zotero while grabbing Zotero metadata that is to be put into the newly created file.

As for (a): Would I need to manually map them to Zotero first? (Or rather importing them manually in Zotero?)

As for b) (which is more crucial):
I have found these guides: an-academic-workflow-zotero-obsidian
and Notetaking+for+Historians
downloaded and installed multiple addons, as everybody seems to have a different approach – namely admonition, dataview, pandoc, templater, zotero integration.
I have also set up the template as a md file and linked it in zotero integration.
However, when I try to cmd p → (I don’t have a “Zotero Integration: Create Literature Notes” option, only import.)
So if I try the import one, I choose a reference, but receive the error:
Error retrieving item data: Cannot read properties of undefined (reading ‘2’)
(I assume that’s because I don’t have anything imported there?),
so I created a blank note in Zotero for the reference, but still face the error.

The standard import function without a template seems to work and import the file into my vault, however, without being able to automatically structure it, it doesn’t really make sense to me to use it.

Sorry for the questions, does somebody know why retrieving with the templates from above links doesnt work?
(one of them being this one:

cssclass: research-note
type: "{{itemType}}"{% for type, creators in creators | groupby("creatorType") -%}{% if loop.first %}
{% endif %}{{type | replace("interviewee", "author") | replace("director", "author") | replace("presenter", "author") | replace("podcaster", "author") | replace("programmer", "author") | replace("cartographer", "author") | replace("inventor", "author") | replace("sponsor", "author")  | replace("performer", "author") | replace("artist", "author")}}: "{%- for creator in creators -%}{%- if %}{{}}{%- else %}{{creator.lastName}}, {{creator.firstName}}{%- endif %}{% if not loop.last %}; {% endif %}{% endfor %}"{% if not loop.last %}
{% endif %}{%- endfor %}{% if title %}
title: "{{title}}"{% endif %}{% if publicationTitle %}
publication: "{{publicationTitle}}"{% endif %}{% if date %}
date: {{date | format("YYYY-MM-DD")}}{% endif %}{% if archive %}
archive: "{{archive}}"{% endif %}{% if archiveLocation %}
archive-location: "{{archiveLocation}}"{% endif %}
citekey: {{citekey}}
[online]({{uri}}) [local]({{desktopURI}}) {%- for attachment in attachments | filterby("path", "endswith", ".pdf") %} [pdf](file://{{attachment.path | replace(" ", "%20")}})
{% if loop.last %} 
{% endif %}{%- endfor %}
{% if tags.length > 0 -%}{% for t in tags -%}#{% if t.tag == "secondary" %}source/secondary{% if not loop.last %}{% endif %}{% elif t.tag == "primary" %}source/primary{% if not loop.last %}{% endif %}{% elif "-project" in t.tag %}project/{{t.tag | lower | replace(" ", "-") | replace("-project", "")}}{% else %}subject/{{t.tag | lower | replace(" ", "-")}}{% endif %}{% if not loop.last %}
{% endif %}{%- endfor %}{%- endif %}

### Index

start-date:: {% if date %}{{date | format("YYYY-MM-DD")}}{% endif %}
page-no:: {% for annotation in annotations %}{% if loop.first %}{{annotation.pageLabel}}{% endif %}{% endfor %}

### Connections


### Note
{% macro calloutHeader(color) -%}
{%- if color == "#ff6666" -%}
{%- endif -%}
{%- if color == "#5fb236" -%}
{%- endif -%}
{%- if color == "#2ea8e5" -%}
Undefined - Blue
{%- endif -%}
{%- if color == "#a28ae5" -%}
Undefined - Purple
{%- endif -%}
{%- endmacro -%}

{% persist "annotations" %}
{% set annotations = annotations | filterby("date", "dateafter", lastImportDate) -%}
{% if annotations.length > 0 %}
### Imported on {{importDate | format("YYYY-MM-DD h:mm a")}}

{%- for annotation in annotations %}
{% if annotation.color !== "#ffd400" %}```

I can’t answer your questions, but I changed the title of the post so people who can answer the question can see what it’s about (was “Starting with Obsidian”). (I also removed the “zettelkasten” tag because the post isn’t about that organizing system.)

You might also ask in the Obsidian Discord’s #academia channel.

1 Like

I currently have the same issue. although i also use this template, for me it also occurs extracting without any template. As ive read, many others are having the same issue this week. I assume its a problem with a new version of either zotero or the plugin. I will try and downgrade zotero and give an update if it works.

Hi JMS (all):
It seems like there might be an issue with the Zotero Integration plugin not being able to retrieve item data. This could be due to a few reasons, such as incorrect settings or configuration, outdated versions of the plugin or Obsidian, or issues with your Zotero library.

Regarding your first question, if your notes are not yet linked to Zotero, then you would need to manually map them to Zotero or import them manually into Zotero first.

As for your second question, the code you provided seems to be a template for a research note, and it includes macros and persistent data. It is possible that there could be an issue with the template, or it may not be configured correctly for use with the Zotero Integration plugin.

I suggest reviewing the settings and configurations for the Zotero Integration plugin in Obsidian and making sure that you have the correct versions installed. You could also try reaching out to the plugin developers or the Obsidian community for further assistance with troubleshooting the issue.


As @Pamuk said, for (1) you have to re-map or import them from scratch to Obsidian from Zotero (you can use Zotero Integration for that).

For (2), check this video, it explains every single step of the process including the setup of templates, Zotero Integration Data Explorer, etc Zotero Obsidian Integration - YouTube