---
title: "Workflow.TaskDefinition"
slug: "workflowtaskdefinition"
updated: 2024-08-21T13:40:02Z
published: 2024-08-21T13:40:02Z
canonical: "support.lusid.com/workflowtaskdefinition"
---

> ## Documentation Index
> Fetch the complete documentation index at: https://support.lusid.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Workflow.TaskDefinition

| **Type** | **Read/write** | **Author** | **Availability** |
| --- | --- | --- | --- |
| [Data provider](/v1/docs/what-are-a-data-provider-and-a-direct-provider) | Read | FINBOURNE | Provided with LUSID |

Providing you have sufficient [access control permissions](/v1/docs/creating-policies-to-control-access-to-providers-for-different-luminesce-end-users), the `Workflow.TaskDefinition` provider enables you to write a [Luminesce SQL query](/v1/docs/understanding-the-luminesce-sql-query-syntax) that retrieves [task definitions](/v1/docs/how-do-i-create-a-task-definition) from the Workflow Service.

**See also**: [Workflow.TaskDefinition.Action](/v1/docs/workflowtaskdefinitionaction), [Workflow.TaskDefinition.Schema](/v1/docs/workflowtaskdefinitionschema), [Workflow.TaskDefinition.Transition](/v1/docs/workflowtaskdefinitiontransition)

## Basic usage

```sql
select * from Workflow.TaskDefinition where <filter-expression>
```

## Data fields

By default, `Workflow.TaskDefinition` returns a table of data populated with particular fields (columns). You can return a subset of these fields.

To list fields available to return, their data types, whether fields are considered 'main', and an explanation for each, run the following query using a [suitable tool](/v1/docs/what-tools-are-available-to-write-luminesce-queries):

```sql
select FieldName, DataType, IsMain, IsPrimaryKey, SampleValues, Description from Sys.Field where TableName = 'Workflow.TaskDefinition' and FieldType = 'Column';
```

> **Note:** Fields marked 'main' are returned by queries that select a caret character, for example `select ^ from Workflow.TaskDefinition`.

## Examples

> **Note:** For more example Luminesce SQL queries, visit our [Github repo](https://github.com/finbourne/luminesce-examples/tree/master/examples).

### Example 1: Retrieve all task definitions

```sql
select * from Workflow.TaskDefinition;
```

### Example 2: Retrieve task definitions created by a particular user

```sql
select * from Workflow.TaskDefinition where CreatedBy = '00ujiW7gSOp024j7Fg98';
```

### Example 3: Retrieve states for a particular task definition

```sql
select States from Workflow.TaskDefinition where Scope = 'approvals' and Code = 'dataApproval';
```
