+ Add Question

Template format

GJ

Is there documentation for the project template format? It seems to me that could be useful to create a list of projects in a text editor to be imported into ToDoist in a bulk transfer. I can ascertain what the the format is by creating/exporting projects but it would be good if this were documented.

All responses

RM
Randolph Miller premium
Replied on Mar 17, 2013 - 22:09 UTC

There is! The 'documentation' is available on YouTube; just search for "Todoist Task Manager - Import/Export Templates" (or navigate to http://www.youtube.com/watch?v=_Rl_CLGY_3o). This is a Premium Only feature, but since you're a PREMIUM user, you should be good to go!

GJ
Glenn Johnson premium
Replied on Mar 17, 2013 - 22:22 UTC

Well, YouTube is not documentation. What I am referring to is documentation of the format of the template text file. For instance, I can export a project to get an idea, but it would be handy to have a reference. I also do not know if I am missing anything.

task 1
...task 2
...task 3 [[date next fri]]
......task 4
.........task 5

David Trey staff
Replied on Mar 17, 2013 - 23:15 UTC

Hello Glenn,

We currently don't have a documentation for the format of the import/export template feature and we strongly advise not to attempt to import many tasks using this feature. There is a limit of 150 tasks that you can have within a project on Todoist and we've had reports of accounts being not accessible when trying to upload more tasks than that (to the point where we've had to delete certain projects to make an account accessible again).

You're welcome to export templates of tasks that you have in your projects or prepare a small list of tasks according to the used format, but please don't import more than 100-150 tasks at once. We will soon implement a fix that will technically prevent such attempts, but for now it may risk making the account not accessible.


Best regards,
David

U
Unknown
Replied on Apr 07, 2013 - 09:37 UTC

OK so I cracked the input format last night & managed to import a 500 task hierarchical MS project file.

The import file format is as follows:

{
[{"..."}][*]<task-name>
[{" @"<label-name>" "}]
["[[Date "<date-text>"]] "]
["[[priority"(1|2|3|4)"]]"]
[{"[[Note]]: "{<note-text>#x0A}#x09}]
["[[Note]]: "<file-url>" ("<attachment-name>")"#x09]
}

(*syntax note:

{} repeatable / nested text
[] optional text
"" string literal
#x hex char
concatenation is assumed

*)

U
Unknown
Replied on Apr 07, 2013 - 09:46 UTC

Practical example:

Task1-with-subtasks @label1 @label2 [[date 19 July]] [[priority 1]]
...subtasklevel2
......subtasklevel3
.........subtasklevel4
Task2!!BOLD!!and__ITALIC__can-be-used
Task3-with-notes
[[NOTE]]: Note1/Line1 #x0A Note-1/Line2 #x09
[[NOTE]]: Note1/Line1 #x0A Note-1/Line2 #x09
[[NOTE]]: Note1/Line1 #x0A Note-1/Line2 #x09
Task4-attachment-example
[[NOTE]]: https://hw44hkfs.cloudfront.net/2dffe7cb0e/as/test.txt (test text file)

U
Unknown
Replied on Apr 07, 2013 - 09:52 UTC

Further notes:

* you can only import tasks, not projects
* full task definitions can be nested inside other tasks
* the bold & italic symbols work in notes as well as task names
* there seems to be a limit of 120 tasks per import, break larger projects down into chunks
* date text uses the same format as in the App: https://todoist.com/Help/timeInsert

DF
Dean Ferreyra premium
Replied on Nov 04, 2013 - 05:37 UTC

Thanks for reverse-engineering the format.

I was generating import files, but for the "[[NOTE]]" lines, each line of a note should be separated by a tab character (written above as #x09) and each complete note should be separated by a linefeed character (written above as #x0A).

So the example above would look like this instead:

[[NOTE]]: Note1/Line1 #x09 Note-1/Line2 #x0A
[[NOTE]]: Note1/Line1 #x09 Note-1/Line2 #x0A
[[NOTE]]: Note1/Line1 #x09 Note-1/Line2 #x0A

If you were creating these strings in C or C#, one of the "[[NOTE]]" lines would look like this, with "\t" being the tab character and "\n" being the linefeed character:

"[[NOTE]]: Note1/Line1\tNote-1/Line2\n"

plainclothes premium
Replied on Jan 16, 2014 - 17:36 UTC

I just did the same for around 50 tasks (moved them over from RTM for a test). Worked fine for me. Odd syntax, but it worked.

GS
Geraldo Sales premium
Replied on Jan 22, 2014 - 13:37 UTC

You can determine dynamically using variable labels. for example, put a label on imported task as the project name?

@ Var project.name
@ now.date.year
@ now.date.month

SS
Scott Smaller  premium
Replied on May 05, 2014 - 16:47 UTC

Can one of you techies turn this into an app the rest of us can use? Sure looks like there would be plenty of takers.

I'm trying to convert from Toodledo, which creates backups in HTML files.

O'Boise premium
Replied on Aug 28, 2014 - 16:49 UTC

As a premium user (and JOAT) , what I ended up doing was using vbScript to wrap a send mail function. Once that was done, I created my tasks using the email address for my project from todoist, then run the script.

Admittedly, you'll need access to an email server to do this.

With the wrapper built, I save the file as a template, so the next time i need it, I just double click the file.