Support assignees for Todo items

I’d like to add a new optional “assignee” field for Todo list items. If that field is unset, everything just works as it does today. If callers (UI or automation) supply an assignee, it lets you filter to a kind of “my tasks” view.

I’ve had a quick look around and I see a few FRs for similar functionality. It is my opinion (totally subjective!) that this is a common and useful feature for a to-do product that operates in a multi user environment. I also think it adds minimal complexity for end users and future developers who are working with or thinking about the status quo.

Use cases:

  • Assign different tasks on the same household chores list to different users (“Fred always puts out the bins, George always mows the lawn”)
  • Randomise tasks (“Every week somebody has to change the cat litter, pick someone at random”)
  • Notify the assignee, and them only, if a task passes its due date. Avoid a situation where something needs to be done but it’s unclear who / everybody assumes somebody else is on it.
  • Maybe: support a future where tasks can be ACLd as private to the assignee (“create a task to shop for an anniversary gift every November, but only show that on my shopping list and not the household view”).

Does anybody have strong opinions about this? I’d hate to draft a PR then discover this is something the team has explicitly decided not to support.

Requirements:

  • Documentation updates
  • New assignee property in data model
  • Settable in UI for manual creation
  • Settable in yaml for automation creation
  • If unset, nothing changes
  • If set, support a new “my tasks” filter / view / widget
  • (Free) callers can depend on this to do clever things with automations

CC @timoptr @allenporter recent contributors to the component who might have views :slightly_smiling_face:

Extending the entity model need an architecture discussion to get approved. There was a similar discussion here Add GoogleCalendarEvent class with "attendees" attribute · home-assistant/architecture · Discussion #1099 · GitHub for calendar which is also rfc5545 based for context. The two challenges I see are (1) being specific about which integrations support it (not enough for just local todo) and (2) how assignees are represented in home assistant (e.g. probably not meaningful if its just an arbitrary text field) – you said multi-user so it implies there is some mapping between integration identity and the home assistant identity. I don’t see an easy answer for those, so to me it seems unlikely to happen any time soon.

The feature request forum is a fine place to throw out ideas, but not really a technical design forum, but i’m replying here to be helpful. (Let’s not ping folks directly)