Skip to content

Cookie preferences

We use cookies for our own analytics, to see how our campaigns perform and, if you allow it, to load content from other services such as the Google site search. We never sell your data. Necessary cookies keep the site working and cannot be switched off. See our Cookie Policy for details and our Privacy Policy for how we handle personal data.

Security, load balancing and remembering your cookie choice.

Show us which pages people read, how they find the site and where they get stuck, so we can improve it (Google Analytics, Microsoft Clarity).

Show us which of our ad campaigns bring visitors to the site and remember the campaign or partner link you arrived from (Google Ads, LinkedIn, Meta, partner program). We do not use these cookies to build advertising profiles.

Load the site search from Google when you use it. Google sets its own cookies and shows ads in the search results.

© 2026 The ThingsBoard Authors

ThingsBoard Cloud

Choose your data region

Your data stays in the region you choose, for residency and compliance. No credit card required.

Rather run it yourself? Install on your own servers

Open Task List

  • Widget
  • 10 installs
  • v1.0.0
  • Nov 10, 2026
  • MIT license
  • v4.2+

Open task and work order list for maintenance teams. Tasks come from a time series key on each device, posted by a rule chain or added by a supervisor in the widget. Shows what each task is for and how long it has been open, by age or by person, plus a history of closed work. Technicians mark a task done or blocked, and the widget writes the acknowledgement back as a new record.

Widget Type
  • Latest
Category
  • Tables & Lists
  • Input Forms
Use Cases
  • Predictive Maintenance
  • Industrial Automation
  • Smart Building

Who it’s for

Maintenance supervisors handing out the day’s jobs, and the technicians who do them, asking “what is waiting to be done, how long has it waited, who is on it, and what did we already finish?” The system often knows a machine is due, for example from a runtime-hours rule chain, but has nowhere to show that work and no way to hear back when it is finished. This widget is that place: tasks arrive from a rule chain or are added by a supervisor, the technician closes them, and every change is kept as history on the device.

What it does

Every open task on the devices in the alias appears as a card, oldest first, with what it is for and how long it has been open; the card’s left edge turns from green to amber to red as the job waits, and Mark done adds a completion record to the device’s task time series, where the rule chain can react to it.

  • Each value posted to the task key is a record that creates or updates a task; the newest record for a task wins, so a device can hold any number of tasks
  • Add task opens a dialog where a supervisor picks the device and enters the task, an optional reason and an assignee (or ticks Assign to me); the task is saved in the same format a rule chain would post
  • Mark done records who closed the task, when, and an optional note; Can’t do it records a reason, such as a part not in stock, and keeps the task open
  • History view lists closed tasks newest first, with who closed them, the note and how long they were open
  • By person view groups open tasks by assignee for shift handover; Only mine and a Yours badge show tasks assigned to the current user
  • Search by device, task or person; the clear button or Esc resets the filter
  • Writes only append records, so two people working at once never overwrite each other
  • Layout adapts from a narrow phone column to a wide dashboard strip; buttons and accents follow your white-labeling colors
  • Reads the latest records per device up to a configurable limit; it does not assign work automatically, notify people, or model workflows with more than one step

How to set up

Data keys

KeyRoleTypeDescription
Task key (set in widget settings, default serviceTask)Task records: read, appended to on create, done and blockedTimeseriesJSON object, or JSON array of objects, per record. Fields: id (recommended), title, reason, openedTs (ms), assignee, assigneeId (ThingsBoard user ID), status (open, done or cancelled)

On the Data tab, add an entity alias that resolves to your devices; no data keys are needed, because the key is set in the widget settings under Task key (time series). A rule chain opens a task by saving a record such as:

{ "id": "svc-pump7-1500", "title": "500 h service", "reason": "Runtime 1502 h", "assignee": "Ana Ruiz", "status": "open" }

and the widget closes it by appending { "id": "svc-pump7-1500", "status": "done", "completedTs": …, "completedBy": "…", "completedById": "…", "completionNote": "…" }. A record without id still becomes a task, identified by its timestamp, so devices that cannot send the exact format still work; plain text is treated as the title, and openedTs defaults to the record’s time. A device that has never posted the key shows nothing, and an alias with no tasks shows “No open tasks” rather than an error. A device whose telemetry cannot be read is reported in a notice above the list. Add task is disabled while the alias resolves to no devices. Users who add or close tasks need permission to write telemetry to the device; if a save is refused, the dialog or task stays open with the reason, and nothing is written.

How to customize

  • To read tasks from a different time series — change Task key (time series).
  • To keep more or less history per device — change Records loaded per device.
  • To stop users from adding tasks by hand — turn off Allow creating tasks.
  • To change when a task counts as waiting or overdue — set Mark as waiting after (hours) and Mark as overdue after (hours).
  • To open the handover view by default — turn on Open grouped by person.
  • To require a note before closing a task — turn on Require a note to mark done.
  • To hide the “Can’t do it” button — turn off Show “Can’t do it” button.
  • To show more or fewer cards before “Show more” — change Rows shown before “Show more”.
  • To open a device’s dashboard state from its name — configure the On task entity click action.

Tips

  • Give every task a stable id in your rule chain, for example built from the device name and the runtime interval. Completion records then match the task exactly, and a rule chain that reacts to the device’s telemetry updates can tell which job was closed, for example to reset the runtime counter.
  • Fill in assigneeId as well as assignee: the name is what people read, and the ID turns on Only mine and the Yours badge and keeps two people with the same name apart.

Share Your Widget with the Community

Built a custom widget? Export it as a JSON from ThingsBoard and publish it to the IoT Hub through a simple 4-step wizard (Upload, Listing, Readme, Review & Submit). Share it with thousands of ThingsBoard developers worldwide and get featured in the catalog.