Zotero integration plugin - basic showcase (2026)

Hello community,

A simple basic template for Zotero integration, if anyone want to start somewhere:

  • Highlight from zotero converted and formatted inside Obsidian (using highlighter obsidian plugin)
  • Headings formatted (only comment: #,##,###,#### to your highlight in Zotero)
  • Undeletable sections each time you re-sync/re-import your document to obsidian. (Practical if you further write in your Obsidian note and don’t want it to be crushed with the new import)

What it looks like :


Template:

---
tags:
Date modified: '{{importDate | format ("YYYY-MM-DD")}}'
---
**Auteur(s) :** {{authors}}
**Citationkey :** {{citationKey}}
**Bibliography :** {{bibliography}}
**ZoteroLink** : {{pdfZoteroLink}}
**Date :** {% persist "a" %}{{date | format("YYYY-MM-DD")}} | {% endpersist %}
**ISSBN :** 

> [!NOTE]- Abstract
> {{abstractNote}}

---
**Hard Link (Tagging):** {% persist "H" %}{% endpersist %}
# Résumé  & Notes
{% persist "notes" %}
{% endpersist %}

---
# Essentiel
### Le livre: de quoi il s'agit ?
{% persist "livre" %}
{% endpersist %}
### Points clés
{% persist "clés" %}
{% endpersist %}
### Références à creuser
{% persist "creuser" %}
{% endpersist %}

---
# Annotations
{% for annotation in annotations %}
{%- set colorMap = {
  "yellow": "#FFF3A3A6",
  "red": "#FF5582A6",
  "green": "#BBFABBA6",
  "blue": "#ADCCFFA6",
  "purple": "#D2B3FFA6",
  "magenta": "#FFB8EBA6",
  "orange": "#FFB86CA6",
  "gray": "#CACFD9A6"
} -%}
{%- if annotation.annotatedText %}
{%- if annotation.comment and (annotation.comment == "#" or annotation.comment == "##" or annotation.comment == "###" or annotation.comment == "####" or annotation.comment == "#####") %}
{{annotation.comment}} {{annotation.annotatedText}}
{%- else %}
<mark style="background: {{colorMap[annotation.colorCategory | lower]}}">{{annotation.annotatedText}}</mark> [(p. {{annotation.page}})]({{annotation.desktopURI}})
{%- if annotation.comment %}
- {{annotation.comment}}
{%- endif %}
{%- endif %}
{%- elif annotation.imageRelativePath %}
![[{{annotation.imageRelativePath}}]]
{%- if annotation.comment %}
- {{annotation.comment}}
{%- endif %}
{%- else %}
> {{annotation.comment}} [(p. {{annotation.page}})]({{annotation.desktopURI}})
{%- endif %}
{% endfor -%}

Settings:


Cheers
Charles Collin