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)

completed_on

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

created_on

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

is_focused

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

energy

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

time

Time estimate.
Value: number of minutes

due_date

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

start_date

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

schedule

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.

recurrent_task_id

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

contact_id

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

tags

an array of tag ids

repeated_on

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

position_x

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
2 Likes

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:

{
   "id":"BD651DDD391145F9B78C2980B2D547F7",
   "title":"tag",
   "type":"l",
   "color":16711680  /* Red (#FF0000) encoded as a decimal integer */
}

1 Like