Tools
Task Tracker
Lightweight stateful task management plugin for OpenClaw
Install
npm install
npm
Configuration Example
{
"plugins": {
"entries": {
"openclaw-task-tracker": {
"config": {
"tasksDir": "my-tasks"
}
}
}
}
}
README
# OpenClaw Task Tracker
Lightweight stateful task management plugin for [OpenClaw](https://openclaw.ai). Designed for multi-party coordination — scheduling meetings, tracking errands, managing reminders across messaging channels.
## Installation
```bash
# From local path (development)
openclaw plugins install -l /path/to/openclaw-task-tracker
# Restart gateway to load
openclaw restart
```
## Configuration
In your OpenClaw config, optionally set a custom tasks directory:
```json
{
"plugins": {
"entries": {
"openclaw-task-tracker": {
"config": {
"tasksDir": "my-tasks"
}
}
}
}
}
```
Default tasks directory: `tasks/` (relative to workspace).
## Agent Tool
The plugin registers a `task_tracker` tool for AI agents with these actions:
| Action | Description | Required params |
|------------|--------------------------------------|-----------------------|
| `create` | Create a new task | `name` |
| `update` | Update task state/context | `task_id` |
| `list` | List tasks (optionally filter) | — |
| `get` | Get task details | `task_id` |
| `complete` | Mark task as completed | `task_id` |
| `check` | Find tasks needing attention | — |
### Example: Meeting Coordination
```
Agent: I'll create a task to coordinate the meeting.
→ task_tracker(action: "create", name: "Team sync", type: "meeting",
participants: [{name: "Dimple"}, {name: "Richard", phone: "+1234567890"}],
context: {proposed_time: "Tuesday 3pm"})
Agent: Dimple confirmed. Updating the task.
→ task_tracker(action: "update", task_id: "a1b2c3d4",
state: "waiting", context: {dimple_confirmed: true})
Agent: Everyone confirmed. Marking complete.
→ task_tracker(action: "complete", task_id: "a1b2c3d4")
```
## CLI Commands
```bash
openclaw tasks list # List all tasks
openclaw tasks list -s pending # Filter by state
openclaw tasks create "Buy groceries" -t errand
openclaw tasks get <id> # Show task details
openclaw tasks update <id> -s confirmed
openclaw tasks complete <id>
openclaw tasks check # Show tasks needing attention
```
## Gateway RPC
Available methods:
- `task-tracker.list` — List tasks (optional `state` filter)
- `task-tracker.create` — Create task (`name` required)
- `task-tracker.update` — Update task (`id` required)
- `task-tracker.get` — Get task (`id` required)
- `task-tracker.complete` — Complete task (`id` required)
- `task-tracker.check` — Check for active tasks
## Task Format
Tasks are stored as individual JSON files:
```json
{
"id": "a1b2c3d4",
"name": "Schedule team sync",
"type": "meeting",
"state": "pending",
"participants": [
{ "name": "Dimple", "phone": "+1234567890" },
{ "name": "Richard", "chat_id": 42 }
],
"context": {
"proposed_time": "Tuesday 3pm",
"location": "Zoom"
},
"workflow": [
{ "wait": "all_confirmed", "then": "send_calendar_invite" }
],
"created_at": "2026-02-12T10:00:00.000Z",
"updated_at": "2026-02-12T10:30:00.000Z"
}
```
## Development
```bash
npm install
npm run build # compile TypeScript
npm run dev # watch mode
```
## License
MIT
tools
Comments
Sign in to leave a comment