Skip to main content

Configure workflows by ticket type

Project workflows are managed from Selected project → Project settings → Workflow. The page has two tabs:

  • Mappings assigns each ticket type to a workflow.
  • Workflows lists reusable workflows and opens the graph editor.

Use Mappings when you want to decide which workflow a ticket type uses. Use Workflows when you want to create, clone, delete, or edit the workflow graph itself.

Who can save workflow changes

Project admins can create, map, edit, and save workflows. Viewers and members can open the Workflow page and inspect the current setup, but cannot save changes.

Review the current setup

  1. Open Projects.
  2. Open the target project.
  3. Select Project settings, then Workflow.
  4. In Mappings, review each ticket type and the workflow it uses.
  5. Open Workflows.
  6. Review each workflow's name, creator, creation date, last edited date, last editor, and mapped ticket types.
  7. Click a workflow row or Edit to inspect the graph.
  8. Use Back to return to the tab view.

Before editing a live workflow, check which tickets, boards, and TQL filters depend on the statuses you plan to change.

Create a workflow from a template

Use templates when you want a common starting point, such as bug triage, scrum, epic roadmap, story delivery, subtask execution, QA verification, release readiness, support operations, or change approval.

  1. Open Selected project → Project settings → Workflow.
  2. Open Workflows.
  3. Select Create workflow.
  4. Choose From template.
  5. Select a template from the list on the left.
  6. Review the read-only graph preview on the right.
  7. Use Auto layout in the preview if you want to inspect the graph more clearly.
  8. Select Use.
  9. Enter a workflow name.
  10. Select Create.
  11. Review the workflow in the graph editor.
  12. Select Save workflow.

Saving the workflow persists the new reusable workflow. It does not automatically assign the workflow to a ticket type unless you started creation from a mapping row.

Create a workflow while mapping a ticket type

Use this path when you already know which ticket type should use the new workflow.

  1. Open Selected project → Project settings → Workflow.
  2. Stay on Mappings.
  3. Find the ticket type, such as Bug, Story, Task, Epic, or Subtask.
  4. Open its workflow dropdown.
  5. Select Add new workflow....
  6. Choose From template, Clone, or Empty.
  7. Name the workflow.
  8. Select Create.
  9. Review the new workflow in the editor.
  10. Select Save workflow.

The ticket type is mapped to the new workflow locally as soon as the workflow is created. Save the workflow to persist both the new workflow and the mapping.

Clone an existing workflow

Clone when a ticket type needs a workflow that is close to an existing one but should diverge over time.

  1. Open Selected project → Project settings → Workflow.
  2. Open Workflows.
  3. Select Create workflow.
  4. Choose Clone.
  5. Select the source workflow on the left.
  6. Review the read-only graph preview on the right.
  7. Select Clone.
  8. Enter a new workflow name.
  9. Select Create.
  10. Edit the cloned graph as needed.
  11. Select Save workflow.
  12. Return to Mappings and assign ticket types to the clone when ready.

Cloning copies statuses, categories, positions, transitions, required fields, and role restrictions. The original workflow is not changed.

Create an empty workflow

Use an empty workflow when the process is intentionally custom.

  1. Open Selected project → Project settings → Workflow.
  2. Open Workflows.
  3. Select Create workflow.
  4. Choose Empty.
  5. Enter a workflow name.
  6. Select Create.
  7. In the editor, select Add status node.
  8. Add every status the workflow needs.
  9. Add transitions if the workflow should be restricted.
  10. Select Save workflow.

Empty workflows are draft-only until they have at least one status. The page blocks saving the scheme while an empty draft exists.

Map ticket types to workflows

Mappings decide which statuses and transitions a ticket can use.

  1. Open Selected project → Project settings → Workflow.
  2. Open Mappings.
  3. Find the ticket type.
  4. Open the workflow dropdown.
  5. Choose an existing workflow or Add new workflow....
  6. Select Save changes.

After saving, create/edit forms, ticket action menus, board moves, and status validation all resolve through the ticket's issue type workflow.

Changing a ticket type

If a ticket changes from one type to another and its current status does not exist in the new type's workflow, TOW remaps the status by category. For example, a done-category story status can map to a done-category bug status such as released.

Edit a workflow graph

  1. Open Selected project → Project settings → Workflow.
  2. Open Workflows.
  3. Select a workflow row or Edit.
  4. Add, delete, or rename status nodes.
  5. Set each status category to Todo, In progress, or Done.
  6. Use Auto layout if the graph becomes hard to read.
  7. Add transitions between statuses when the workflow should be restricted.
  8. Edit transition rules in the inspector.
  9. Select Save workflow.

The editor changes exactly one selected workflow at a time. It does not contain issue-type mapping or template controls.

Configure restricted transitions

Open workflows allow any move between the workflow's statuses. Restricted workflows allow only graph transitions.

  1. Open the workflow in the editor.
  2. Select Restrict moves if the workflow is currently open.
  3. Connect allowed source and destination statuses.
  4. Select a transition edge.
  5. Set a minimum role when only leads or admins should perform the move.
  6. Add required fields when the move needs complete ticket data.
  7. Select Save workflow.
  8. Test the move from a ticket action menu and from the board.

Good examples:

  • Require Assignee before moving a bug from reported to in_progress.
  • Require Due date before moving a story into review.
  • Require Epic or parent before moving larger work out of backlog.
  • Require a custom field such as cf.customer_tier before customer work can close.

Test a workflow after saving

  1. Create a ticket for each mapped ticket type.
  2. Open the create form and confirm the Status dropdown only shows that type's workflow statuses.
  3. Open an existing ticket.
  4. Use Ticket actions → Set status and confirm unsupported statuses are absent.
  5. Try a restricted move with missing required fields and confirm it is blocked.
  6. Fill the required fields and try again.
  7. Open the project board and drag cards between columns.
  8. Confirm the board chooses a valid mapped status for the ticket type or blocks the move with a visible reason.

This test pass catches the common mistakes: unmapped statuses, wrong workflow mappings, and transitions that are stricter than intended.

Keep boards aligned

Project boards use columns that map one or more workflow statuses. When multiple workflows are mapped in one project, boards should cover the union of statuses people need to see.

After any workflow or mapping change:

  1. Open Boards.
  2. Edit each saved board.
  3. Check the Columns step.
  4. Map new statuses to visible columns.
  5. Remove statuses only when hidden work is intentional.
  6. Refresh the board preview.
  7. Open the board and check for hidden-status warnings.

If a board column contains statuses from multiple workflows, TOW picks a valid status for the dragged ticket's issue type. If no valid status exists, the drop is blocked.

Delete a workflow

  1. Open Selected project → Project settings → Workflow.
  2. Open Workflows.
  3. Find the workflow.
  4. Select the delete action.
  5. If the workflow is mapped to any ticket type, remap those ticket types first.
  6. Select Save changes after removing the workflow.

The default workflow cannot be deleted. A workflow mapped to a ticket type is blocked from deletion.

Resolve common validation errors

ErrorWhat to check
Missing statuses currently used by ticketsSearch for tickets in the listed statuses, move them to valid statuses, or keep those statuses in the workflow.
Duplicate shared status keys with different labels or categoriesKeep the same key, label, and category everywhere that status key appears.
Mapping targets unknown workflowOpen Mappings and choose a workflow that still exists.
Empty draft workflows need at least one statusOpen the empty workflow, add a status node, and save the workflow.
Workflow changed on the serverKeep the editor open, review your local edits, refresh if needed, and save again after resolving the conflict.

Related guides: Configure board columns and filters, Add custom fields, Create and update tickets.