# Time blocking planner

- Human page: https://happytails.ai/en/date-time-tools/time-blocking-planner/
- Markdown: https://happytails.ai/en/date-time-tools/time-blocking-planner.md
- Structured JSON: https://happytails.ai/agents/en/date-time-tools/time-blocking-planner/index.json
- Visibility: public

## Tool capabilities

| Property | Value |
| --- | --- |
| Tool ID | `time-blocking-planner` |
| Category | date-time-tools |
| Implementation | Registered implementation. Registration alone is not a production-quality guarantee. |
| Browser execution | Use the visible action or interactive controls. |
| Browser processing | Browser; see tool notes for network behavior. |
| HTTP API | Not callable through HTTP. |
| Browser-agent interface | run_current_tool |

### Implementation notes

Tasks are placed on this device, highest priority first, for up to 200 tasks and 50 fixed commitments. Tasks that do not fit are listed.

### Inputs and settings

Text input: Tasks as CSV.

Example or placeholder shown in the interface (not a validated fixture):

```text
task,minutes,priority,splittable
```

One row per task. Priority is 0 to 9, highest first. Splittable is true or false. Up to 20,000 characters. Review the settings before running.

| Setting | Meaning | Control type | Default | Constraints |
| --- | --- | --- | --- | --- |
| `date` | Day to plan (empty for today) | date | "" |  |
| `dayStart` | Day starts at | time | "09:00" |  |
| `dayEnd` | Day ends at | time | "17:00" |  |
| `fixed` | Fixed commitments (one per line, HH:MM-HH:MM label) | textarea | "12:00-13:00 Lunch" |  |
| `minBlock` | Shortest piece of a split task (minutes) | number | 15 | min=5 max=240 step=1 |
| `zone` | Time zone (empty for this device) | text | "" |  |

### Browser-agent workflow

1. Open the human page in a browser that supports WebMCP.
2. Discover the interface exposed by that page; use its actual schema.
3. Select files on the page first when the tool requires files.
4. Call `run_current_tool` with valid input and settings.
5. Inspect the returned result or error and the displayed output. Retrieve files from the displayed download links.

Calls do not automatically copy or download results. Browser permissions still apply. Interface availability alone is not proof of successful execution.

### Planning specification

Up to 200 tasks of 1 to 1,440 minutes, 20,000 characters, and 50 fixed commitments in 5,000 characters. Everything is calculated on your device. Downloads: JSON report, CSV and an iCalendar (.ics) file.

This describes intended requirements. Use the implementation notes, interface schema and observed output to determine current support.

### Complete machine-readable capability record

```json
{
  "id": "time-blocking-planner",
  "category": "date-time-tools",
  "built": true,
  "requirements": "Up to 200 tasks of 1 to 1,440 minutes, 20,000 characters, and 50 fixed commitments in 5,000 characters. Everything is calculated on your device. Downloads: JSON report, CSV and an iCalendar (.ics) file.",
  "implementation": {
    "fields": [
      {
        "key": "date",
        "label": "Day to plan (empty for today)",
        "value": "",
        "type": "date"
      },
      {
        "key": "dayStart",
        "label": "Day starts at",
        "value": "09:00",
        "type": "time"
      },
      {
        "key": "dayEnd",
        "label": "Day ends at",
        "value": "17:00",
        "type": "time"
      },
      {
        "key": "fixed",
        "label": "Fixed commitments (one per line, HH:MM-HH:MM label)",
        "value": "12:00-13:00 Lunch",
        "type": "textarea"
      },
      {
        "key": "minBlock",
        "label": "Shortest piece of a split task (minutes)",
        "value": 15,
        "type": "number",
        "min": 5,
        "max": 240,
        "step": 1
      },
      {
        "key": "zone",
        "label": "Time zone (empty for this device)",
        "value": "",
        "type": "text"
      }
    ],
    "registrationFamily": "travel-and-meeting-time",
    "inputMaxLength": 20000,
    "inputErrorCode": "TRAVEL_AND_MEETING_TIME_TOO_LONG_TIME_BLOCKING",
    "note": "Tasks are placed on this device, highest priority first, for up to 200 tasks and 50 fixed commitments. Tasks that do not fit are listed.",
    "experience": {
      "automatic": false,
      "single": false,
      "inputMaxLength": 20000,
      "inputMode": "text",
      "label": "Tasks as CSV",
      "placeholder": "task,minutes,priority,splittable",
      "help": "One row per task. Priority is 0 to 9, highest first. Splittable is true or false. Up to 20,000 characters. Review the settings before running.",
      "action": null
    },
    "mode": "explicit",
    "interactive": false
  },
  "execution": "Browser interface",
  "api": null,
  "browser_agent": {
    "supported": true,
    "name": "run_current_tool",
    "discovery": "WebMCP on the human page in a supporting browser",
    "verification": "See audit/API-AUDIT.md; availability is not verification"
  }
}
```

## Page guide

Plan a day by fitting your tasks into the time left around fixed commitments. Higher priority tasks go first, and anything that does not fit is listed.

### How to use Time blocking planner

1. Paste one row per task with its minutes, a priority from 0 to 9 and whether it can be split.
2. Choose the day, its start and end time and your time zone.
3. List fixed commitments such as meetings and lunch, one per line.
4. Review the timeline and the unplaced tasks, then download the calendar file, CSV or JSON report.

How can we improve this tool?

Report a problem or share an idea.

Please leave out private information. Your message and the tool name go to our team via PostHog.

## Useful next steps

- [Pomodoro timer](https://happytails.ai/en/date-time-tools/pomodoro-timer/) ([Markdown](https://happytails.ai/en/date-time-tools/pomodoro-timer.md))

- [Time calculator](https://happytails.ai/en/date-time-tools/time-calculator/) ([Markdown](https://happytails.ai/en/date-time-tools/time-calculator.md))

- [Meeting cost](https://happytails.ai/en/business-tools/meeting-cost/) ([Markdown](https://happytails.ai/en/business-tools/meeting-cost.md))

## How tasks are placed

Fixed commitments are removed from the working day first. Tasks are then placed in priority order, highest first, keeping your row order for equal priorities. A task that cannot be split goes into the first free gap long enough to hold it. A task that can be split fills free gaps from the start of the day in pieces no shorter than your minimum, and is left out whole if the day cannot hold all of it.

### Not an optimal plan

This is a simple first-fit method, so a different order could sometimes fit more tasks. Unplaced tasks are listed with the reason, so you can shorten, split or move them.

### Calendar file

Only the task blocks go into the calendar file, because your fixed commitments are usually already in your calendar. Times are written in UTC so calendar apps show them at the right local time.
