Integrations

Due to its offline nature and no cloud dependency, there are no direct third-party integrations available.

Markdown

The app copies and pastes in Markdown (to-do block only). This means you can copy/paste tasks to and from other apps that support Markdown (Nothin, Things 3, …).

Notion

Compatibility: Copy/paste of tasks (Notion To-do blocks) to and from Notion is supported.

Tip: If something looks off after pasting, make sure you’re using To-do blocks rather than other block types.

Things 3

Compatibility: Copy/paste of tasks to and from Things 3 is supported.

Nesting: Things 3 does not support nested tasks on paste; all items are flattened to a single level.

Copy behavior from Things 3:

  • Copying multiple tasks copies only the tasks (checklists are not included).
  • Copying a single task that has a checklist will copy only the checklist.

File Format

Task files (.tpf) use a simple JSON format containing an array of task objects. This makes it straightforward for developers to inject data directly or manipulate files via scripts.

⚠️ Important: Always close the app before editing JSON files directly to avoid concurrent access issues or potential file corruption.

Task Object Properties:

  • id (String, CUID2) - Unique identifier for the task
  • parent_id (String) - Parent task ID, or "root" for top-level tasks, or "trash" for deleted tasks
  • position (String) - Fractional index for sorting tasks within the same parent. Uses fractional-indexing for efficient reordering without reindexing
  • text (String) - Task content/description
  • finished (Boolean) - Whether the task is completed
  • finishedAt (String ISO 8601 / null) - Timestamp when the task was completed, or null if not finished
  • trashed (Boolean) - Whether the task is in the trash
  • trashedAt (String ISO 8601 / null) - Timestamp when the task was deleted, or null if not trashed
  • createdAt (String ISO 8601 / null) - Timestamp when the task was created
  • updatedAt (String ISO 8601 / null) - Timestamp of the last modification

Key Concepts:

  • Hierarchy: Tasks are organized in a tree structure using parent_id. A task with "parent_id": "root" is a top-level task, while a task referencing another task’s id is a child/subtask.
  • Ordering: The position field uses fractional-indexing, which allows inserting tasks between any two existing tasks without reindexing (e.g., positions like "a1", "a0V", "a2").
  • Trash: Deleted tasks have "parent_id": "trash" and "trashed": true.
  • Timestamps: All dates follow ISO 8601 format (YYYY-MM-DDTHH:mm:ss.sssZ).