Hi everyone, I’m looking for guidance on best practices for exporting and re-importing EndNote references programmatically (via scripting), and I’d really appreciate hearing from anyone who has tackled a similar workflow before.
My use case
I have an EndNote library with 1,000+ references organized into multiple Group Sets, each containing several Groups. I want to batch-update a specific field (e.g., Custom 1) for a subset of references using an external script, and then bring those references back into the same library without breaking organization or attachments.
What I’m trying to do
-
Export a Group Set (containing multiple Groups) from an EndNote library to XML.
-
Programmatically add information to a specific field (this step is already handled via a Python script).
-
Re-import the modified XML into the original library, replacing the existing references that lack the new information.
What I need to preserve
-
PDF attachments for each reference (very important).
-
Group Set → Group structure (very important).
-
Reference tags (lower priority if there’s a tradeoff with the two above).
Current limitation
I’ve found a workaround that works for a single Group: add references to another temporary library, preserving PDFs, then manually deleting and re-importing records. However, this approach does not scale to an entire Group Set with multiple Groups. In particular, the group hierarchy is not preserved during export and re-import.
My question
Is there any recommended or supported approach in EndNote to:
-
Export a Group Set to XML,
-
Modify reference fields externally in batch, and
-
Re-import references while preserving Group Sets, Groups, PDF attachments, and (ideally) tags?
I’m also very open to confirmation of limitations if this simply isn’t supported in EndNote’s current architecture. Thanks in advance for any insights or suggestions!