Anatomy of a Workflow
  • 13 Sep 2023
  • 5 Minutes to read
  • PDF

Anatomy of a Workflow

  • PDF

Article Summary

A workflow is made up of several different pieces. But primarily there are the following two main components. 

  • States - state of the workflow, such as Started, In Progress, In Review, Completed
  • Transitions - how to move from one state to another, such as reviewing, addressing comments, finalising task

1.1.  Workflow Transitions

When you transition a workflow, you can perform several different operations.

  • Make transition occur via a condition
  • Perform several activities on the workflow item
  • Capture additional data from the user

Together, this makes a very powerful and flexible tool. But it can require a little time to set up. You can configure a workflow to be as specific or as general as you want, using the workflow input variables.

1.2.  Workflow Variables

When a workflow activity is run as the result of a transition or the evaluation of a condition, it gathers information about the current context. This information is made available to you as variables. The variables available entirely depends on where it is being run from. This could be one of the following:

  • A job attribute
  • A task instance of a task type
  • A file attribute
  • A folder attribute
  • A 12d Model project

1.3.  What are Variable Inputs used for?

Take the example of a workflow activity that locks a file. Which file should it lock? You don't want it to always lock the same file. It might be the file that is part of the workflow, or maybe it's something else entirely. Workflow variable inputs give you the power to choose what it should be.

1.4.  How do you Define a Variable?

All the workflow inputs are text based. You can you can just simply put the variable in { } curly brackets.
For example, to lock the current file in my workflow, you have to enter {entity}.
In this case, entity is a special variable that is always available, and it refers to the item that the workflow is attached to.

Variables can have sub properties too. For example, if to send an email that uses the file name, as the subject of the email, you will enter {entity.Name}. 

1.5.  Available Variables

The types of variables available depends entirely on where the workflow is being executed from. Below is the list of available variables.

1.5.1.  File workflows

VariableDescription

Actor

The contact performing the transition / activity

Entity

The current file

File

The current file

Folder

The folder that holds the file 

Job

The job that the file belongs to

1.5.2.  Job Workflows

Variable Description

Actor

The contact performing the transition / activity

Entity

The current job

Job

The current job

1.5.3.  Folder workflows

VariableDescription

Actor

The contact performing the transition / activity

Entity

The current folder

Folder

The current folder

Job

The job that the folder belongs to

1.5.4.  12d Model Project workflows

VariableDescription

Actor

The contact performing the transition / activity

Entity

The current 12d Model project

12dProject

The current 12d Model project

Folder

The folder that the 12d Model project belongs to

Job

The job that the 12d Model project belongs to

1.5.5.  Task workflows

VariableDescription

Actor

The contact performing the transition / activity

Entity

The current task

Task

The current task

Job

The job that the task belongs to

1.6.  Variable Properties

Each of the different types of variables resolve to a particular entity within 12d Synergy, including

  • Files
  • Folders
  • Jobs
  • Contacts
  • 12d Model Projects
  • Tasks

And each of these items has several properties, such as their name. They may also have attributes. For example, you might want to lock a file for the job's project manager. If this was captured in a variable called Project Manager, you would access it by mentioning {entity.Job.ProjectManager}.

1.6.1.  File Properties

VariableDescriptionType

CheckOut

Information about the active check out

CheckOutInfo

CreatedDate

The time when this file was created

Date/Time

Extension

The extension of the file

Text

Folder

The folder that this file belongs to

Folder

ID

The identifier of the file

EntityID

LastUser

The last person to change the file

Contact

LastChanged

The last time this file was checked in

Date/Time

LastChangeType

The last operation performed on the file

Text

Link

A link to the file

Text

ModifiedDate

The last time the contents of the file were changed

Date/Time

Name

The name of the file

Text

NameNoExtension

The name of the file, without its extension

Text

Size

The size of the file, in bytes

Integer

Version

The version of the file

Integer

Any attribute attached to the file is available by its Name and not its display name.

1.6.2.  CheckOutInfo Properties

VariableDescriptionType

User

Who has checked out the file

Contact

Time

When the file was checked out

Date/Time

1.6.3.  Folder Properties

VariableDescriptionType

CheckOut

Information about the active check out, if there is one

CheckOutInfo

CreatedBy

The user who has created this folder

Contact

CreatedDate

The time when this folder was created

Date/Time

ID

The identifier of the folder

EntityID

Name

The name of the folder

Text

ParentFolder

The folder (in hierarchy) that this folder belongs to

Folder

ParentJob

The job that this folder belongs to

Job

Path

The path to the folder

Text

Any attribute attached to the folder is available by its Name and not its display name.

1.6.4.  Job Properties

VariableDescriptionType

CreatedBy

The user who has created this job

Contact

CreatedDate

The time when this job was created

Date/Time

Description

The description of the job

Text

ID

The identifier used to refer to this job

EntityID

Name

The name of the job

Text

Parent

The job (in hierarchy) that this job belongs to

Job

Path

The path to the job

Text

Any attribute attached to the job is available by its Name and not its display name.

1.6.5.  Contact Properties

VariableDescriptionType

CreatedBy

The user who has created this contact

Contact

CreatedDate

The time when this contact was created

Date/Time

Email

The email address of the contact

Text

ID

The identifier of the contact

EntityID

FirstName

The first name of the contact

Text

LastName

The last name of the contact

Text

Name

The full name of the contact

Text

Company

The company this contact is a member of

Company

Any attribute attached to the job is available by its Name and not its display name.

1.6.6.  12d Model Project Properties

VariableDescriptionType

CheckOut

Information about the active check out if there is one

CheckOutInfo

CreatedBy

The user who has created this12d model project

Contact

CreatedDate

The time the project was created

Date/Time

ID

The identifier of the 12d model project

EntityID

Name

The full name of the 12d model project

Text

ParentFolder

The folder that this project belongs to

Folder

ParentJob

The job that this project belongs to

Job

Path

The path to the folder

Text

TDModelDBVersion

The database version

Integer

Version

The version of the project

Integer

Any attribute attached to the job is available by its Name and not its display name.

1.6.7.  Task Properties

VariableDescriptionType

Description

The description of the task

Text

ID

The identifier of the task

EntityID

IsClosed

Whether or not this task is closed

Bool

Name

The name of the task

Text

ParentJob

The job that this task belongs to

Job

ParentTask

The job that this task belongs to

TaskItem

Priority

The priority of the task

Text

Progress

The progress of the task

Integer

Any attribute attached to the job is available by its Name and not its display name.

1.6.8.  Company Properties

VariableDescriptionType

CreatedBy

The user who created this company

Contact

CreatedDate

The time the company was created

Date/Time

ID

The identifier of the company

EntityID

Name

The full name of the company

Text

Any attribute attached to the job is available by its Name and not its display name.

1.6.9.  Issued File Set Type Properties

VariableDescriptionType

ID

The identifier of the issued file set type

EntityID

Description

Any description of the file set type

Text

Name

The name of the file set type

Text

1.6.10.  Issued File Set Properties

VariableDescriptionType

ID

The ID of the issued file set

EntityID

CreatedBy

The details of the contact that created the file set

Contact

CreatedDate

When this was created

Date/Time

Description

Any description of the file set

Text

FileSetType

Any description of the file set

IssuedFileSetType

Job

The job this issued file set belongs to

Job

Name

The name of the file set

Text

Version

The current version of the file set

Integer

1.6.11.  Issued File Set Details Properties

VariableDescriptionType

ID

The ID of the issue

EntityID

IssuedBy

The details of the contact that performed the issue

Contact

IssueDate

When this was issued

Date/Time

IssueSet

The parent issue set

IssuedFileSet

Note

Any additional note attached to the issue

Note

SentVia

The mechanism this was sent via

Text

Version

The version of the set that was issued

Integer

Any attribute attached to the issue information is available by its Name and not its display name.


Was this article helpful?