Import Data format

I would like to know the format of JSON file to use the option Import Data.

I have been seeing the json exported, but I dont know how to fill all the fields. This is an example:

"items": [
        "id": "BD651DDD391145F9B78C2980B2D547F7",
        "type": "n",
        "list": "a",
        "note": "Everdo is not a note-taking app.\nUse notes in Everdo to capture only the most essential information related to your projects, workflows and productivity system.\nOtherwise it will get cluttered and messy.",
        "completed_on": null,
        "parent_id": "297CC45E929D4B30A71EB783F53B9119",
        "title": "Don't try to put the whole world's knowledge into notes",
        "created_on": 1514329200,
        "is_focused": 0,
        "energy": null,
        "time": null,
        "due_date": null,
        "start_date": null,
        "schedule": null,
        "recurrent_task_id": "",
        "contact_id": "",
        "tags": [],
        "position_child": 5,
        "position_parent": null,
        "position_focus": null,
        "position_global": null,
        "repeated_on": null

Agreed. It would be great if the JSON fields were at least briefly documented with the field type, whether it’s optional, etc. I have a bunch of data I’d like to import. Can we just create a random UUID for the ‘id’ field?

Good idea. I’ve been thinking about it myself.

For now I’ll give a quick overview here.

Please back up your database before messing with this :slight_smile:

Required Fields:

  • id
  • type
  • list
  • title
  • created_on
  • is_focused
  • start_date or schedule for scheduled items.

id, parent_id, and other ids

Those are GUIDs. You can create your own random UUID-4. Make sure it’s an uppercase string without dashes.
When referring to another item, make sure it really exists.

type - item type

  • "a": action
  • "p": project
  • "n": note
  • "l": notebook

list - item state

  • "i": inbox (actions only)
  • "a": active/next (based on item type)
  • "m": someday
  • "s": scheduled (must also specify start_date or schedule field)
  • "w": waiting
  • "d": deleted
  • "r": archived (must also specify completed_on)


This and all other date properties are Unix Timestamps in seconds.
If not null, then the item is considered “done”.


Creation date. The timestamp’s time must be set to 00:00:00.


Values: 0 or 1.
Warning: True and False will not work.


Energy estimate.
Values: null, 1, 2, 3


Time estimate.
Value: number of minutes


Optional due date.
The timestamp’s time must be set to 00:00:00.


For one-time scheduled items only.
The timestamp’s time must be set to 00:00:00.


For repeating items only.
More complex, can’t describe this one off the top of my head :wink: Try exporting something and see for yourself.


The “template” action that was used to create an instance of this specific repeating action.


Optional contact tag to wait for. The value is tag id.


an array of tag ids


Indicates when was the last time a repeating item was created.


Item’s position in a specific list:

  • child: position in a list of all sub-items (project actions / notes)
  • parent: position in a list of all parent items (projects/notebooks)
  • focus: position in a global focus list
  • global: position in a the list of all items

Thanks for the detail, a little late in my case because I made the migration from my current system by hand (in two hours). :blush:

This is great, thanks! I also imported a bunch of stuff manually, but I have more to do so I’ll give it a whirl sometime!

If you want to try something fun with the import, you can make custom-colored tags :slight_smile:

   "color":16711680  /* Red (#FF0000) encoded as a decimal integer */

1 Like