# Tasks

Under the Tasks tab, configurations can be done for the view of a task list.

<figure><img src="https://3330064618-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fq5dx9HWFJGshztp4binE%2Fuploads%2Fgit-blob-65a00c7092f4a1e677876cdd98cc44322f3c889c%2FScreenshot%202025-07-23%20at%2017.18.34.png?alt=media" alt=""><figcaption></figcaption></figure>

This is further divided into two more tabs:

* Columns
* Search fields

## Unread task indicator

The task list shows a bullet next to tasks that have not been opened yet. As soon as the task detail modal is opened, the dot disappears. It is also cleared automatically when the task is completed.

## Access control

Access to the tasks can be configured through access control. More information about access control can be found [here](https://docs.valtimo.nl/features/access-control).

### Resources and actions

<table><thead><tr><th width="329">Resource type</th><th width="143">Action</th><th>Effect</th></tr></thead><tbody><tr><td><code>com.ritense.valtimo.operaton.domain.OperatonTask</code></td><td><code>assign</code></td><td>Allows assigning users to a task.</td></tr><tr><td></td><td><code>assignable</code></td><td>Allows users to be assigned to a task.</td></tr><tr><td></td><td><code>claim</code></td><td>Allows claiming of a task.</td></tr><tr><td></td><td><code>complete</code></td><td>Allows completion of a task.</td></tr><tr><td></td><td><code>view</code></td><td>Allows viewing of a task.</td></tr><tr><td></td><td><code>view_list</code></td><td>Allows viewing of tasks.</td></tr><tr><td><code>com.ritense.valtimo.operaton.domain.OperatonIdentityLink</code></td><td></td><td></td></tr></tbody></table>

Task identity links have no actions currently. As a result, they can only be used as part of container conditions. See the example here on how to use this.

### Examples

<details>

<summary>Permission to complete a task of one candidate group</summary>

{% code overflow="wrap" %}

```json
{
    "resourceType": "com.ritense.valtimo.operaton.domain.OperatonTask",
    "action": "view",
    "conditions": [
        {
            "type": "container",
            "resourceType": "com.ritense.valtimo.operaton.domain.OperatonIdentityLink",
            "conditions": [
                {
                    "type": "field",
                    "field": "groupId",
                    "operator": "==",
                    "value": "ROLE_USER"
                }
            ]
        }
    ]
}
```

{% endcode %}

</details>

<details>

<summary>Permission to view and complete tasks assigned to the user's teams</summary>

This example uses the `${currentUserTeams}` expression, which resolves to the team keys of the current user. When a BPMN user task has a candidate group that matches a team key, this condition grants access to members of that team.

{% code overflow="wrap" %}

```json
{
    "resourceType": "com.ritense.valtimo.operaton.domain.OperatonTask",
    "actions": ["view_list", "view", "complete"],
    "roleKey": "ROLE_USER",
    "conditions": [
        {
            "type": "container",
            "resourceType": "com.ritense.valtimo.operaton.domain.OperatonIdentityLink",
            "conditions": [
                {
                    "type": "field",
                    "field": "groupId",
                    "operator": "in",
                    "value": "${currentUserTeams}"
                }
            ]
        }
    ]
}
```

{% endcode %}

</details>

<details>

<summary>Permission to claim a task if unassigned</summary>

{% code overflow="wrap" %}

```json
{
    "resourceType": "com.ritense.valtimo.operaton.domain.OperatonTask",
    "action": "claim",
    "conditions": [
        {
            "type": "field",
            "field": "assigneeId",
            "operator": "==",
            "value": null
        }
    ]
}
```

{% endcode %}

</details>
