Documentation for JSON for importing notes

import

#1

In another thread there was the suggestion that notes could be imported via the same JSON format that Agenda exports. I took a look at the JSON and was confused by a few things (I’m knowledgeable enough to work from examples typically, but this was more than I understand).

What are the exact pieces of data we could/should use to import notes? It seems like the exported JSON contains a lot of unique identifier information that I’m not sure how to deal with for imports.

I’m especially interested in adding dates to notes before import (e.g., the dates you can select and assign to a note in Agenda). The date strings in the exported JSON did not seem like dates to me, so I’m guessing they’re some format I’m not familiar with.

Context: I am a teacher planning for fall courses. If I could create a script that would automatically create a note for each day in the semester, assign the date in a way Agenda would understand, and spit out a JSON file that could be imported, I would save a ton of time and be very happy :slight_smile:


#3

To be clear, we are not supporting this as a standard import technique, and have not documented the JSON format we are using. It is not intended for public consumption.

A very experienced developer could reverse engineer it and use it if really necessary. We provide no guarantee that this format will not change as we develop the app.

If all you need to do is change the dates, you may be able to do that reasonably easily. You would need to make sure each note you make has a new UUID and anything inside the notes (eg paragraphs) also has a new UUID. Basically everything has to be uniquely identifiable.

For dates, I believe we are probably using this: https://developer.apple.com/documentation/foundation/nsdate/1417376-timeintervalsincereferencedate

Again, this is a very advanced thing to do, and I don’t recommend it unless you are very confident with scripting.

Kind regards,
Drew


#4

Ok, thanks. This does seem over my head. Consider this another +1 for the requests to add some kind of scripting capability, either on macOS or on iOS via Worklow/Shortcuts or url-callbacks (for Drafts or others). Looking for the capability to automatically create notes with certain dates in certain projects, maybe even with templated content. Bonus points for being able to feed back to the script the agenda:// backlink to the created note(s).