OmniOutliner to OmniFocus Import Not Working

So I’m finally returning home after venturing out and trying several other task managers. I’ve tried them all, and OmniFocus remains my favorite after all. Anyway, I’m coming from 2Do (also a great app, just not quite there for me,) and I’ve successfully gotten everything exported as CSV and into OmniOutliner. When I import OmniOutliner documents into OmniFocus, everything seems to get recognized properly, and everything imports beautifully – start and due dates intact – but my “NOTES” field with all URLs, other task notes, etc. does not import at all.

I’ve tried different formatting, removing all other “metadata” columns other than NOTES, but to no avail. Does anyone have any light they could shed on this?

Edit: The “NOTES” column would transfer, just no links would transfer. So OmniFocus would basically strip any URLs from the “NOTES” column, and leave any other text intact.

Is Notes a column or using the actual notes section of OmniOutliner?

1 Like

It’s its own column, actually. You’re spot on because I called earlier this morning to ask about this, and Omni support said it was definitely a bug that links in the Notes column weren’t transferring over. However, a workaround is to move the links from the Notes column, into the notes section of each row/task.

Now to figure out how to script that so I don’t need to manually copy+paste… 🤔

1 Like

This is not exactly what you’re looking for, but it’s a start: convert rows to notes

Edit: This looks like it! convert a column to notes

2 Likes

That’s awesome, thank you for sending! I’m gonna try to hack something together with Keyboard Maestro, but if that doesn’t work I’ll see if someone here can help me with scripting it out. Thanks for your help!

Edit: Whoa awesome! Thank you so much!

1 Like

Here’s an Omni Automation script that copies the content of a column titled "Notes"into the notes of each corresponding row:

rootItem.children.forEach(function(item){
	item.note = item.valueForColumn(columns.byTitle('Notes')).string
})

You can run it in the OmniOutliner console. Visit https://omni-automation.com for detailed information and examples about Omni Automation – Omni’s dual-platform (macOS and iOS) scripting.

2 Likes