Zotero Integration: syntax for single extra field value via BetterCSLJSON with custom .csl

What I’m trying to do

Annoyingly, I’m stuck on the final unknown after of a weekend’s improvement to move away from MS Word and finally commit myself to long-form writing within Obsidian - I just cannot find the syntax or solution needed to access a field value held within the Extra field of a Zotero-Item for use in my lit-note import script.

I’m using the Zotero Integration to import lit-notes with BetterCSLJSON via the port number. I use the Extra field to hold additional field:value pairs which I use within a customised OSCOLA.csl file for Citations and Bibliography, as well as within custom Citekeys (configured within BetterBibLatex). This is now all working perfectly, exporting to PDF directly via Pandoc, except for this final seemingly-simple piece.

To improve my writing workflow within Obsidian, I wish to re-purpose the value of each Extra field within constructs of my import template, for instance, so I can present the time and/or daterange within the alias YAML field of the lit-note - but I just cannot find the syntax to access the value against each individual field.

I’m guessing its possible as I can write out the pairs within the Extra field for each Zotero-Item with {{extra}}, but this writes out all pairs held within Extra, so it’s only useful for inserting all the pairs as YAML properties and related values. For instance, if I am referencing an email (or thread), I’ll have metadata time (for received time or start/end time for a thread) and/or date-range (for threads beyond a day), so {{extra}} inserts the following as YAML properties:

time: 09:12 - 10:32
daterange: 2025-11-01 - 2025-11-12 

This isn’t what I need, however, it shows the data is accessible via the BetterCSLJSON.

Things I have tried

My customised version of the OSCOLA.csl is selected within the settings of the Pandoc Reference List plugin - but I cannot find a method to add it to the Zotero Integration plugin to allow its presentation for selection.

I’ve reviewed the BetterBibLatex docs regarding Extra fields and there doesn’t seem to be other suitable Zotero or CSL fields to apply these values to, so I tried extra.kv.<variable-name> as per:

The full list of labels and the Zotero/CSL variables they translate to can be found in the table at the end. These extra-fields are available to postscripts as extra.kv.<variable-name>. Which variable it is depends (sorry):

  • when you export to CSL, it is attempted to map it to the corrsponding CSL fields; if none are available, it is available under their zotero name

… as shown below, it was a half-hearted attempt as I’ve never used BetterBibLatex Postscript before and the guidance is mostly for Bib/BibLatex, but I tried based upon the one example under “adding-file-field-for-csl-json-export” - just in case this is what’s required to serve out the individual fields from within the Extra field:

if (Translator.BetterCSLJSON) {
	csl.time = extra.kv.time
}

I’ve tried some pretty out-there syntax within the Lit-Note import script, but the attempts were based around the following (including after Postscript added):

{{time}}
{{extra.time}}
{{extra(time)}}
{{csl.time}}
{{extra.kv.time}}

Of course, I decided to make this set of improvements to my workflow before a major deadline, which the improvements will allow me to catchup on… if I can make it work. So, obviously, I’d really appreciate any advice on the syntax or if can give me pointers on potential solutions using BetterBibLatex or any other method (maybe adding the custom OSCOLA.csl to Zotero Integration?).