--- title: "Workflow.TaskDefinition.Transition" slug: "workflowtaskdefinitiontransition" tags: ["luminesce ", "provider", "workflow service", "state transition"] updated: 2024-08-21T13:40:58Z published: 2024-08-21T13:40:58Z canonical: "support.lusid.com/workflowtaskdefinitiontransition" --- > ## 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.Transition | **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.Transition` provider enables you to write a [Luminesce SQL query](/v1/docs/understanding-the-luminesce-sql-query-syntax) that retrieves state transitions defined within [task definitions](/v1/docs/how-do-i-create-a-task-definition) from the Workflow Service. **See also**: [Workflow.TaskDefinition](/v1/docs/workflowtaskdefinition) ## Basic usage ```sql select * from Workflow.TaskDefinition.Transition where ``` ## Data fields By default, `Workflow.TaskDefinition.Transition` 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.Transition' and FieldType = 'Column'; ``` > **Note:** Fields marked 'main' are returned by queries that select a caret character, for example `select ^ from Workflow.TaskDefinition.Transition`. ## 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 state transitions in a task definition ```sql select * from Workflow.TaskDefinition.Transition where Scope = 'approvals' and Code = 'dataApproval'; ``` ### Example 2: Retrieve guard condition of a particular state transition ```sql select * from Workflow.TaskDefinition.Transition where ToState = 'Denied' and Scope = 'approvals' and Code = 'dataApproval'; ``` ### Example 3: Retrieve action to be performed on completion of a state transition In this example, `Workflow.TaskDefinition.Transition` is joined with [Workflow.TaskDefinition.Action](/v1/docs/workflowtaskdefinitionaction) to retrieve the action which is performed on successful completion of a state transition, and return more details on the action. ```sql select a.* from Workflow.TaskDefinition.Transition t join Workflow.TaskDefinition.Action a on t.Action = a.Action where t.Scope = 'approvals'   and t.Code = 'dataApproval'   and t.ToState = 'Approved'; ```