PHP Class to read an OmniFocus backup and convert it to Todomove\Intercessor classes

0.1.0 2016-10-27 21:01 UTC

This package is auto-updated.

Last update: 2022-05-04 18:03:06 UTC


This is a work in progress and will be improved as I improve Intercessor.

This class reads an OmniFocus backup file (from File->Export->File Format->Backup Document (Omnifocus)), and provides access to folders, projects, tasks, and contexts with TodoMove\Intercessor classes, which provides a nice fluent interface, and will allow the items to be transformed and exported to different services if needed.

All classes returned are from TodoMove\Intercessor


composer require todomove/omnifocus

Basic Class Usage

composer install

require __DIR__ . '/vendor/autoload.php';
use TodoMove\Service\Omnifocus\Reader;
$omnifocus = OmnifocusReader::loadBackup($pathToZipFile);

$tags = $reader->tags(); // Array of your Omnifocus contexts, converted to `TodoMove\Intercessor\Tag`
$folders = $reader->folders(); // Array of `TodoMove\Intercessor\ProjectFolder`
$projects = $reader->projects(); // Array of `TodoMove\Intercessor\Project`
$tasks = $reader->tasks(); // Array of `TodoMove\Intercessor\Task`

Example script usage

php run.php [path to]


  • The OmniFocus backup process (File->Export->File Format->Backup Document(OmniFocus)) produces a .zip file with a contents.xml which lists all of your folders, projects, contexts and tasks.
  • Doesn't support specific week day repeats