Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.znift.com/llms.txt

Use this file to discover all available pages before exploring further.

What it is

Natural time input lets you specify how long a task takes (duration) or when it’s due (due time) by typing a short string in the task edit dialog. No date picker, no dropdown — the parser reads the string and stores the result as structured data.

When to use it

Open any task in the edit dialog and fill the Duration or Due time field to attach a time. Typing 30m is always faster than clicking through a picker, especially when you already know what you want.

How to use it

  1. Create the task (see Quick log).
  2. Open the task to show the edit dialog.
  3. In the Duration field, type a supported duration string.
  4. In the Due time field, type a supported time-of-day string.

Duration formats

You typeParsed as
2h2 hours
30m30 minutes
1h 30m1 hour 30 minutes
90 min90 minutes

Due time formats

You typeParsed as
3pmToday at 15:00
3:30 PMToday at 15:30
15:00Today at 15:00
noonToday at 12:00

Example

You create a task “Draft release notes.” Open it, set Duration to 45 min, and Due time to 2pm. Znift stores:
  • Text: “Draft release notes”
  • Duration: 45 minutes
  • Due time: 14:00 today

How storage works

All times are stored in UTC. The UI converts to your local timezone for display. Parsing is handled by the @znift/time-utils package, which is shared between the web app, the API, and the MCP server — so natural time input works identically whether you type it in the app, submit it via REST, or hand it to an AI agent.
  • Quick log — create the task first, then attach duration or due time in the edit dialog.
  • Reminders — fire before the due time you set here.
  • Google Calendar — tasks with a due time sync to your calendar.