Skip to Content
Tasks

Tasks

A task is the unit of work in WebPinch. Some users call them “issues,” “pinches,” or “bugs” — they’re all the same thing: a row in the task collection, scoped to one project, displayed as a card on a kanban column.

Tasks come from three sources, all in the same shape:

SourceHow
Browser extensionPin an issue while browsing — see Extension
Visual review linkA guest pins via the shared review URL — see Visual review
Manual entry”New task” in the dashboard, or via REST / MCP

Anatomy

When you open a task in the dashboard you’ll see:

  • Title — short, actionable. Editable inline.
  • Status — the kanban column. Change by dragging the card or via the status dropdown.
  • Priority — Low / Medium / High / Critical.
  • Description — rich text (powered by TipTap). Supports formatting, lists, links, code, images.
  • Labels — colored tags. Click to toggle on/off.
  • Assignees — one or more users. Multi-select.
  • Due date — single date with optional “completed” flag (struck-through when done).
  • Highlighted text — when the task came from a text selection on a real page, the original quoted text and the URL it came from.

Visual + browser metadata

Tasks created by the extension or visual review automatically capture:

FieldWhat it is
Pin coordinates (pinX, pinY)Relative position on the page where the user clicked
domSelectorCSS selector for the clicked element
pageUrlURL the issue was reported against
screenshotUrlS3 URL of the auto-captured page screenshot
videoUrlS3 URL of a screen recording, if one was attached
browser, os, screenSizeViewer’s environment, captured from navigator
reporterEmailOptional email entered by an unauthenticated guest

These show up as separate cards in the task detail panel — screenshots inline, video as a player, environment as a metadata strip.

Comments

Each task has a comment thread. Comments support plain text + line breaks. Each entry shows author avatar, timestamp (“X minutes ago”), and body.

When a user posts a comment from inside the dashboard, they’re attributed by name. When the REST API or MCP server posts on behalf of a user, attribution is the same.

Checklists

A task can have multiple checklists, each with its own title and a list of items. Tick items off as you complete them. Progress is shown as X/Y completed on the task card.

Useful for breaking work into known sub-steps without creating separate tasks.

Subtasks

Different from checklists: subtasks are first-class tasks that show in their own list under the parent. Each has its own title and completion state. Progress bar shows X/Y completed.

Subtasks don’t nest — you can’t have a sub-subtask.

Attachments

Drop files onto the attachments area to upload to S3. Common uses:

  • Additional screenshots beyond the auto-capture
  • Screen recordings
  • Logs, exports, or supporting docs

Each attachment shows filename, size, mime type, and a download link.

Activity log

The Activity tab shows a timeline of every change: who did what, when. Entries cover:

  • created — the task appeared
  • updated_status — moved between columns
  • updated_priority, updated_description
  • assigned, unassigned
  • added_label, removed_label
  • set_due_date, completed_due_date
  • comment + checklist + attachment events

Activity is read-only. Comments and Activity each have their own tab in the task detail panel.

Time entries

Tasks can carry time entries — start/stop or manually-entered durations against a task. Useful for tracking effort. UI is in the task detail panel.

Time entries are also available over the REST APIGET and POST /api/v1/tasks/:id/time-entries, using the tasks:read and tasks:write scopes. They aren’t exposed as MCP tools.

Reporters vs assignees

What it meansWhen set
ReporterWho created the taskAuto-set to the logged-in user, or reporterEmail (string only) for guest submissions
AssigneesWho’s working on itManually assigned, can be multiple

If a guest with no account submits, they end up as reporterEmail rather than reporterId. They get notified when the task is resolved (status moves to done).

Programmatic access

Everything above is available over HTTP and MCP:

Last updated on