Skip to content

What is a Workflow?

A key feature of the TACTIC platform is the workflow engine. A workflow engine takes a coded workflow diagram and orchestrates that workflow through jobs. It controls the stream of data and files that are created, transformed or transferred at any process to other dependent processes. It defines the various trackable stages in a project and monitors the project is it goes through each stage. Additionally, it can interact with external services to import or export data.

A good workflow engine should:

  1. Flexible workflow definition
  2. Orchestrate process execution
  3. Maintain the state of workflows currently in progress.
  4. Keep an audit trail of executed workflows

Processes

A workflow is comprised of a set of connected process nodes, each performing some action. The workflow engine executes each process node and when completed will inform outgoing connected nodes of completion

Process nodes all have a node type which determines how the behaves when specific events area called.

Events

The TACTIC Workflow engine is event based. This means that both external and internal triggers will sent event messages to the workflow which will cause the workflow engine to process the and update the state of the workflow.

There is a limited number of events that most nodes will respond to:

  1. pending
  2. in_progress
  3. complete
  4. approval
  5. reject
  6. not required

The specific node type will determine what action will take place when one of these events are received.

Jobs

Each workflow has a parent sobject. In TACTIC Server, an execution of workflow is called a job. The job is an umbrella object that contains all information stored about the execution of that workflow.