---
title: "State content transitions"
canonical: "https://support.appfire.com/space/CDML/650120593/State%20content%20transitions"
format: markdown
---
> Macro (aura-html)


# State content transitions

> Macro (excerpt)
> 
> State transitions include transition on completion of a content review, transition on expiry of a due date on content, and on the completion of tasks

These transitions are actioned by changes to the content, for example, a page update, reaching the state expiry due date, content approval or rejection, or the completion of an add workflow task.

## Content review transition

This transition is similar to a state selection transition, but the focus is on reviewing document content rather than choosing a state (the workflow determines which state to go to depending on the outcome of the review).

![cdmdc_workflowstatedialog.png](media://99cf62df-fb32-480a-9b05-65f522bee7dc)

A reviewer selects **Approve** or **Reject**, and the workflow transitions to the destination state set in the applied workflow for the approval or rejection decision.

When the review requires more than one reviewer’s decision, by default, all reviewers must agree on the review decision for the transition to occur. This can be, for example, when two or more reviewers are assigned, or a minimum approvals requirement has been set in the workflow for the approval.

The **updated**, **expired**, and **task completed** transitions can be added to a state with a **content review **transition. However, you cannot have a **state** transition (a user **submit** or **select** transition) in a state with a **content review** transition.

<details>
<summary>Content review transition workflow example</summary>

An approval is added to a state, and the approval decisions for the **approve** and **reject **are added for the state. These are the state `approved` and `rejected` parameters.

Once an approval is added to the state, both review decision buttons are displayed in the [workflow state dialog box](https://appfire.atlassian.net/wiki/spaces/CDML/pages/649659846), even if no destination states have been added. When there is no destination state, no transition occurs for the review decision, but the decision is recorded in the document activity for the page.

|  |  |  |
| --- | --- | --- |
| ```plaintext
{workflow:name=Content review}
  {state:A|approved=C|rejected=B}
     {approval:Review}
  {state}
  {state:B}
  {state}
  {state:C}
  {state}
{workflow}
``` | ![image](media://c7d2904c-b5c0-4366-9cea-da762da58624) | ![image](media://3f8c7ec9-91a3-48ec-b26f-81af54326947) |

In the workflow builder state transitions editor, 

- The **approved** and** rejected** transitions for the content review are only available when a content review (approval) has been added to the state

If the approval is added to the state, but the **Approved** and **Rejected** transitions are not added. However, the workflow state dialog still displays the **Approve** and** Reject** buttons, but:

- There is no transition on a reviewer's reject or approve decision
- The decision is recorded in the page [document activity report](https://appfire.atlassian.net/wiki/spaces/CDML/pages/650119122)

You do not need to add both the **Approved** and the **Rejected** transitions.

> ℹ️ A content review transition can also occur when a trigger listens for an event and uses an action macro to approve or reject the content.
</details>

## Content expiry transition

A state can be given an expiry date. On the state expiry, a transition can be set to occur.

![cdmdc_worfklowstaedialogbox_approvedfinalstate_withduedate_6months.png](media://45d4ca9b-3368-4fa2-97bd-9fb75318ef14)

For example, an expiry period for your approved content can be set with an expired transition to send your document to a new state where a check for stale content can be undertaken.

The **expired** transition is not shown in the workflow state dialog box, but you can check the overall workflow and view the transitions and the destination state for each transition using the workflow icon on a page.

![cdmdc_workfflowinspector_onpage_workflowwithexpiredtransitions.png](media://2e76677e-6520-4a64-8ae4-5bf640f01693)

The expired transition can be added with a **state** transition (submit, select) or a **content review** transition. You can also add the **updated** and **task completed** transitions.

<details>
<summary>Content expiry transition workflow example</summary>

If the state expires with an added expired transition:

- The `duedate` parameter determines the expiry date
- The `expired` parameter specifies the destination state for the transition

The expiry date is displayed as a lozenge in the [workflow state dialog box](https://appfire.atlassian.net/wiki/spaces/CDML/pages/649659846). The expired transition is undertaken by the workflow and is not shown in the dialog box.

|  |  |  |
| --- | --- | --- |
| ```plaintext
{workflow:name=State expiry}
  {state:A|duedate=P1W|expired=C}
  {state}
  {state:B}
  {state}
  {state:C}
  {state}
{workflow}
``` | ![image](media://81e90908-2e88-4b63-9c30-57ca98338340) | ![image](media://0124fbbd-19e7-488e-8866-93e0c2ed1fea) |

In workflow builder:

- A **state expiry transition** can be added to the state using the state transitions editor

The expired transition only occurs if a due date has been added to the state and the **Expired** transition was added before reaching the added due date.

- Add a due date for state expiry using the state editor
</details>

## Updated content transition

States can automatically transition if the content is updated (edited and saved).

![cdmdc_workflostatedialogbox_inprogresssate_nodisplayedtransitions.png](media://37c5623d-872b-423e-b9dd-c82fae828154)

The **updated** transition is not shown in the workflow state dialog box, but you can check the overall workflow and view the transitions and the destination state for each transition using the workflow icon on a page.

When the state only has the **updated** transition, only the workflow progress bar is displayed in the workflow state dialog box. If this is a workflow final state, the dialog box also includes a published message.

![cdmdc_workflowstatedialog_approvedfinalstate_notransitions.png](media://b2df71a8-44b3-46ae-984a-c7beafc9b771)

The **updated** transition can be added with a **state** transition (submit, select) or a **content review** transition. You can also add the **expired** and **task completed** transitions.

> 📝 The updated transition only occurs when the document is edited. If the update is a different document change, such as a label change or an attachment change, a workflow editor can add an [event-trigger transition](https://appfire.atlassian.net/wiki/spaces/CDML/pages/650218590) to the workflow to listen for the change and transition the state.

<details>
<summary>Updated content transition workflow example</summary>

The `updated` parameter specifies the state to transition to if the content is updated.

If it is used for a state with the `final=true` parameter, the [workflow state dialog box](https://appfire.atlassian.net/wiki/spaces/CDML/pages/649659846) displays a message about the publishing process; otherwise, it the dialog box is empty except for the state name.

|  |  |  |
| --- | --- | --- |
| ```plaintext
{workflow:name=Content update}
  {state:A|updated=C|final=true}
  {state}
  {state:B}
  {state}
  {state:C}
  {state}

``` | ![image](media://def0df9e-8ad1-4ec0-aea9-6247759aa2e8) | ![image](media://9c2d2e65-12cf-4789-8465-7df341176338) |

In the workflow builder state transition editor:

- A state **Updated** transition can be added to the state

> ℹ️ The transition occurs when the document is edited and the changes are saved. Adding a label or an attachment does not transition the state.
</details>

## Tasks completed transition

States can automatically transition when all the workflow tasks are completed.

![cdmdc_workflowstatedialogbox_notransitionsdisplayed_taskbylineonpage.png](media://257b7fd5-034a-4546-b3cb-94b55ed5deb7)

When a state only has a **tasks completed** transition, only the workflow progress bar is displayed in the workflow state dialog box.

Any pending tasks can be viewed using the tasks byline on the page to open the tasks dialog box. You can use this dialog box to complete the pending tasks and transition the state.

![cdmdc_tasksdialogbox_completeonependingtask.png](media://caa70da2-adf6-425f-afe6-a87f17f9fb97)

> 📝 All pending tasks must be completed for the transition to occur.

You can view the workflow transitions and destination states using the workflow icon on a page to view a visual workflow diagram.

A **tasks completed** transition can be added with a **state** transition (submit, select) or a **content review** transition. You can also add the **expired** and **updated** transitions.

<details>
<summary>Tasks completed transition example workflow</summary>

The state `completed` parameter specifies the state to transition to when all tasks are completed. Pending tasks are listed in the tasks dialog box accessed using the tasks byline breadcrumb. The tasks byline is only displayed when a workflow task has been added.

|  |  |  |
| --- | --- | --- |
| ```
{workflow:name=Task completion}
  {state:A}
  {state}
  {state:B|completed=C}
    {task:name=Complete this task|note=Task completion will cause transition to state C.}
  {state}
  {state:C}
  {state}
{workflow}
```<br>In the above workflow, a workflow task, **Complete this task**, is added on each transition to state **B**. | ![image](media://e5b15384-e94a-4c5b-8a7f-3e18cc46c46d) | ![image](media://3e5f2182-41d2-41de-a966-eecca1ac75a3)<br>The task byline is used to open the tasks dialog box and complete any pending workflow tasks.<br>On completing the task(s), this workflow transitions from the current state **B** to state **C**. |

In the workflow builder state transitions editor, you can

- add a **Tasks Completed** transition to a state

> ℹ️ Before the transition occurs, all the pending workflow tasks must be completed. These can be workflow-added tasks and user-added tasks.
</details>

## Related pages

- [https://appfire.atlassian.net/wiki/spaces/CDML/pages/650120593](https://appfire.atlassian.net/wiki/spaces/CDML/pages/650120593)
- [https://appfire.atlassian.net/wiki/spaces/CDML/pages/650218590](https://appfire.atlassian.net/wiki/spaces/CDML/pages/650218590)