The state macro is used to define a state in a workflow macro. Every workflow requires at least one state macro. State macros are used to automatically set tasks and approvals on a page.

Where to use it?

Required – at least one.

One or more {state} macros can be put in a {workflow} macro.



unnamed first parameter
or name


Name of the workflow state:

  • Within a {workflow} macro, each {state} macro must be given a unique name
  • The name can use any character set supported by your Confluence server – except some reserved characters.

In addition to being used for transitions, event triggers, etc., the state name is also shown in many aspects of the user interface and reporting.

macro body

Can be empty, or one or more of the following macros:


Define the name of target state for common transitions.

If required, custom transitions can be implemented by using Events to {trigger} a {set-state} transition.


see notes


see notes


Define a single state to transition to from the current state.

Note: This causes a drop-down menu to appear in the workflow popup to allow direct transition to that state.

See also: hideselection parameter, {state-selection} macro

Concepts: Transitions


If the associated content is edited (updated), which state should the workflow transition to?

  • Moving the page will not trigger the updated transition (v4.5+) – you can use the pagemoved event if you require such functionality.
  • Link updates due to moving pages (eg. to another space) or renaming of other pages will not trigger the updated transition (v4.5+)

Concepts: Transitions

If used on a state that is final=true (published), the workflow popup will show a message stating that the content has gone through an approval process and a button linking to the Activity Report will be displayed.


Require a given list of workflow parameters to be set before transitioning into this state.

  • Comma-separated list of parameter names
  • Workflow parameters must be defined in the existing workflow and have the edit=true condition set to be valid.
  • Note that users will only be prompted to enter parameters when the workflow transitions via a user action, like an approval or state submission. Internal state changes from triggers will not prompt for the required parameters.


States can be set to expire on either an explicit date, or, more commonly, a time period from when the state was transitioned in to.

If a state expires while it is active, the state specified by the expired parameter, if present, will be transitioned to.

Macros: {set-state-expiry}

Events: stateexpired


Can users set and/or change the duedate for this state?

Note: Can be used with or without the duedate parameter. See Editing duedate section below parameter table for more information.

Concepts: Expiry Dates


If defined, the state will be given an expiry date.

  • Format can be either:
    • Explicit date in the format: YYYY-MM-DD HH:mm (v4.12+)
    • ISO 8601 Duration Period
    • See Expiry Dates for more information
  • Supports Value References

Note: The due date will be logged in the Activity Report - Content when the state is entered (v4.5.1+)

Concepts: Expiry Dates


The state to change into if the page expires after its duedate (regardless of how the due date was set).

Concepts: Transitions, Expiry Dates


If you're viewing the page when expiry occurs, you won't see the state update until you refresh the page.

Also, if the expiry date has already passed when entering the state, the transition won't occur. For best results always use an ISO 8601 duration rather than a specific date.


Want to add tasks automatically when a state is transitioned to? See: {task} macro.

When all tasks are completed, the state specified by the completed parameter, if present, will be transitioned to.

Events: taskcreated, taskassigned, taskcompleted and taskexpired.


The state to change into if all the tasks in the state are completed.

There is no content with the specified labels

Concepts: Transitions, Tasks



Whether or not tasks can be manually defined in this state via the Tasks button.

Concepts: Tasks


Specify which state in your workflow is a final, published state.

See also: Same-space publishing and Status Indicator Circles.


Should content in this state be considered "Published"?

  • true – yes, this state is published
  • false – no, this state is draft (unpublished)

Setting to true will cause all other non-final states in the workflow to be treated as drafts (unpublished content). By default, users with view-only permission can not see draft content, they can only see the most recently published version of content.

Concepts: Publishing, Roles and Permissions

If the updated parameter is applied to a final=true state, the workflow popup will display a message about the content going through an approvals process before being published, and an "Activity Report" button will also be shown.

When using this parameter, the final parameter must be removed.

There is no content with the specified labels

Concepts: Publishing

(info) This parameter is exclusively used for integration with the K15t Scroll Versions app, and is must be used for workflows in spaces where the Scroll Versions app is being used.

User Interface

The following parameters can be used to customise the user interface associated with workflow states.


By default, states are coloured as described in Status Indicator Circles, namely:

  • Blue – there is no final=true state in the workflow
  • Orange – there is a final=true state, but the current state isn't that state
  • Green – the current state is final=true

If desired, you can override the colour of individual states by specifying a colour in one of the following formats:

Note: Invalid colour specifications will default to Grey. See also: Confused States - Grey Circle.

Tip: Triadic colour schemes yield good visual colour segregation.


Adds a plain text description to the workflow popup when this state is active.


Should the state be hidden from the Progress Tracker bar on the workflow popup?

  • true – yes, hide it
  • false – no, show it

Note: The state will still appear in the tracker bar when the workflow is in that state.

See also: progresstracker parameter on {workflow} macro.


By default, direct state transition buttons (to every other state in the workflow) will be added to the workflow popup, unless you specify any of the following parameters: approved, rejected, submit, updated, expired or completed.

If none of those parameters are specified, should the default buttons be hidden?

  • true – hide default state transition buttons
  • false – show default state transition buttons, if applicable

Alternatively, you can use a {state-selection} macro to specify which direct state transition buttons should be shown.

Concepts: Transitions


Deprecated Parameters

These parameters are either deprecated or obsolete and should no longer be used.


OBSOLETE Use assignable parameter on {approval} macro instead.



style or cssstyle

class or cssclass

OBSOLETE Use colour parameter instead.



Editing duedate

The duedate and changeduedate parameters can be used on their own or together.  The following table describes what will happen with each possible combination:

not setfalse

State will not have an expiry date nor can users add an expiry date.

setfalseState will have an expiry date based on the duedate parameter that the user cannot change.
not settrueState will not initially have an expiry date, but the user can add an expiry date.
settrueState will initially have an expiry date based on the duedate parameter, but the user can change the expiry date.


The following Events are applicable to transitions between states:

  • statechanged
  • pagestatechanged
  • newsstatechanged



All examples

See also

Workflow Authoring Guide

User Guide

Reporting Guide

Integration Guides

Developer Guides