---
title: "Workflow Authoring Guide"
canonical: "https://support.appfire.com/space/CDML/648611901/Workflow%20Authoring%20Guide"
format: markdown
---
> Macro (aura-html)


### [States](https://appfire.atlassian.net/wiki/spaces/CDML/pages/649595551) and [Transitions](https://appfire.atlassian.net/wiki/spaces/CDML/pages/649563425)

![image](media://e8f831f4-0e06-4220-9ec5-8b1ea62ee607)

These define the milestones (states) and routes between them (transitions) of your process.

### [Content reviews](https://appfire.atlassian.net/wiki/spaces/CDML/pages/650153766)

![image](media://46ad4aa6-6eb4-48aa-905c-954bd29cbfb9)

Content reviews (known as [approvals](https://appfire.atlassian.net/wiki/spaces/CDML/pages/650153766)) are key events in the content production lifecycle, where reviewers check the content and decide whether to approve or reject the content. Based on this decision the workflow moves the content to a new workflow state. For each review, you can assign one or more users as reviewers.

### [Tasks](https://appfire.atlassian.net/wiki/spaces/CDML/pages/649694408)

![image](media://97dd085e-4ae8-4d0c-a513-32fce144309d)

Workflow tasks provide similar functionality to Confluence tasks, but they are stored at page level rather than in the content itself. They can be added manually by a user or by the workflow itself. Tasks can be assigned to specific users.

### [Events](https://appfire.atlassian.net/wiki/spaces/CDML/pages/649759655) → [Triggers](https://appfire.atlassian.net/wiki/spaces/CDML/pages/649563178) → [Actions](https://appfire.atlassian.net/wiki/spaces/CDML/pages/649858941)

![image](media://be821aef-37dc-4b85-97be-92303dae0a82)

As users interact with content and the workflow, **[events](https://appfire.atlassian.net/wiki/spaces/CDML/pages/649759655)** are sent, such as *a state change*,  *an approved review decision*, or *a task assigned*.

![image](media://25cfa7b8-202c-4c5b-aeab-d8a01408e9a7)

One or more workflow** ****[triggers](https://appfire.atlassian.net/wiki/spaces/CDML/pages/649563178)** can be set to listen for an event such as *a state change to a specific state*.

![image](media://258307fa-b84f-497a-a3d9-d12d3acb2db6)

When the event occurs, the trigger can set one or more **[actions](https://appfire.atlassian.net/wiki/spaces/CDML/pages/649858941)**. These include *sending a custom email,* *setting a message*, *updating a metadata value* or *changing the state*.

You can use these triggers to augment the content production process and automate workflow transitions.

### [Workflow Parameters](https://appfire.atlassian.net/wiki/spaces/CDML/pages/649726186)

[Workflow parameters](https://appfire.atlassian.net/wiki/spaces/CDML/pages/649726186) can be used as placeholders for the [values of users who are reviewers for approvals](https://appfire.atlassian.net/wiki/spaces/CDML/pages/650316136); duration periods for the expiry of your content or labels to be added to your documents.

Using workflow parameters in your workflow allows you to create a workflow that can be used for different teams or projects but with these values set elsewhere, [within a space](https://appfire.atlassian.net/wiki/spaces/CDML/pages/649726501) or on a specific document.

One or more workflow parameters can easily be added to a workflow using [workflow builder](https://appfire.atlassian.net/wiki/spaces/CDML/pages/649792431)

![image](media://463cf839-a32f-4aef-9e1c-6307e615676f)

A workflow parameter can be set to use one of the following data types

- character **string**
- Confluence ** **username(s)
- Confluence groupname(s)
- duration
- a list of set values

These [parameter references](https://appfire.atlassian.net/wiki/spaces/CDML/pages/649760641) can be accessed in the workflow by their name wrapped in `@` (at) symbol and used in a range of macros including the approval macro, the state-selection macro and trigger macros.

Examples of the use of workflow parameters include

> Macro (contentbylabel)

### [Workflow Template](https://appfire.atlassian.net/wiki/spaces/CDML/pages/649628549)

Comala workflows are scripted using macro notation, which is stored in a template. Templates can then be applied to individual pages (in [Page Mode](https://appfire.atlassian.net/wiki/spaces/CDML/pages/649628831)), or more usually in production mode to all content across a space (in [Space Mode](https://appfire.atlassian.net/wiki/spaces/CDML/pages/649531846)).

Workflows can be created and edited using the visual editing tool [workflow builder](https://appfire.atlassian.net/wiki/spaces/CDML/pages/650248771).

See: [Templates](https://appfire.atlassian.net/wiki/spaces/CDML/pages/649628549), [Macros](https://appfire.atlassian.net/wiki/spaces/CDML/pages/650151673), [Examples](https://appfire.atlassian.net/wiki/spaces/CDML/pages/649790922), [Save a workflow as a template](https://appfire.atlassian.net/wiki/spaces/CDML/pages/650348103)

| [Getting Started ›](https://appfire.atlassian.net/wiki/spaces/CDML/pages/649824662) |
| --- |

## Related Guides