diff --git a/packages/flamenco/flamenco/jobs/routes.py b/packages/flamenco/flamenco/jobs/routes.py
index 47397802fab229365c716e72854393c2e558b94f..f4da8bd7141f96429e14237c2946df3e7f27accb 100644
--- a/packages/flamenco/flamenco/jobs/routes.py
+++ b/packages/flamenco/flamenco/jobs/routes.py
@@ -80,6 +80,7 @@ def view_job_depsgraph(project, job_id):
 
     if request.is_xhr:
         from flask import jsonify
+        from flamenco.tasks import COLOR_FOR_TASK_STATUS
 
         # Return the vis.js nodes and edges as JSON
         tasks = current_flamenco.task_manager.tasks_for_job(job_id)
@@ -96,6 +97,7 @@ def view_job_depsgraph(project, job_id):
                 'id': task_id,
                 'label': task['name'],
                 'shape': 'box',
+                'color': COLOR_FOR_TASK_STATUS[task['status']],
             })
             if task.parents:
                 for parent in task.parents:
diff --git a/packages/flamenco/flamenco/tasks/__init__.py b/packages/flamenco/flamenco/tasks/__init__.py
index d9c98b706e9beaef4ff230b839c2a6c326124977..7a8e9f7ccb4fe3989c7bd6a7b7e7b63d5f98eac3 100644
--- a/packages/flamenco/flamenco/tasks/__init__.py
+++ b/packages/flamenco/flamenco/tasks/__init__.py
@@ -9,6 +9,17 @@ from pillar.web.system_util import pillar_api
 
 from pillarsdk.exceptions import ResourceNotFound
 
+# Keep this synced with _config.sass
+COLOR_FOR_TASK_STATUS = {
+    'queued': '#b4bbaa',
+    'canceled': '#999',
+    'failed': '#ff8080',
+    'claimedbymanager': '#d1c5d3',
+    'processing': '#ffbe00',
+    'active': '#00ceff',
+    'completed': '#bbe151',
+}
+
 
 @attr.s
 class TaskManager(object):