From 19d63f768fe7ff81983f7bc51531b59e68e4a2ea Mon Sep 17 00:00:00 2001 From: Dee Luo <79488570+dee-luo@users.noreply.github.com> Date: Tue, 17 Feb 2026 15:14:29 -0500 Subject: [PATCH 1/2] Update target_workers condition for khp_en --- twilio-iac/helplines/ca/common.hcl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/twilio-iac/helplines/ca/common.hcl b/twilio-iac/helplines/ca/common.hcl index 6f7c453c8c..f22df1ea2c 100644 --- a/twilio-iac/helplines/ca/common.hcl +++ b/twilio-iac/helplines/ca/common.hcl @@ -24,7 +24,7 @@ locals { "friendly_name" = "Aggregate" }, khp_en : { - "target_workers" = "routing.skills HAS 'KHP English'", + "target_workers" = "routing.skills HAS 'KHP English' OR routing.skills HAS 'KHP EN'", "friendly_name" = "KHP English" }, khp_fr : { "target_workers" = "routing.skills HAS 'KHP French'", From 441193b813306253924a79c5e4cb2960022f508d Mon Sep 17 00:00:00 2001 From: Dee Luo <79488570+dee-luo@users.noreply.github.com> Date: Tue, 10 Mar 2026 16:58:52 -0400 Subject: [PATCH 2/2] Update master.tftpl --- .../ca/templates/workflows/master.tftpl | 28 +++++++++++++------ 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/twilio-iac/helplines/ca/templates/workflows/master.tftpl b/twilio-iac/helplines/ca/templates/workflows/master.tftpl index dde164a299..1970ee1beb 100644 --- a/twilio-iac/helplines/ca/templates/workflows/master.tftpl +++ b/twilio-iac/helplines/ca/templates/workflows/master.tftpl @@ -111,30 +111,42 @@ { "queue": "${task_queues.khp_en}", "priority": 2, - "expression": "((worker.waitingOfflineContact != true AND ((task.channelType == 'voice' AND worker.channel.chat.assigned_tasks == 0) OR (task.channelType != 'voice' AND worker.channel.voice.assigned_tasks == 0)) AND ((task.transferTargetType == 'worker' AND task.targetSid == worker.sid) OR (task.transferTargetType != 'worker' AND worker.sid != task.ignoreAgent))) OR (worker.waitingOfflineContact == true AND task.targetSid == worker.sid AND task.isContactlessTask == true)) AND (worker.department =='english') AND ('Priority 988/Int' NOT IN worker.routing.skills AND 'Hold for Transfers' NOT IN worker.routing.skills)", - "timeout": 600 + "expression": "((worker.waitingOfflineContact != true AND ((task.channelType == 'voice' AND worker.channel.chat.assigned_tasks == 0) OR (task.channelType != 'voice' AND worker.channel.voice.assigned_tasks == 0)) AND ((task.transferTargetType == 'worker' AND task.targetSid == worker.sid) OR (task.transferTargetType != 'worker' AND worker.sid != task.ignoreAgent))) OR (worker.waitingOfflineContact == true AND task.targetSid == worker.sid AND task.isContactlessTask == true)) AND (worker.routing.levels.KHPEN > 5) AND ('Hold for Transfers' NOT IN worker.routing.skills)", + "order_by": "worker.routing.levels.KHPEN DESC", + "timeout": 210 }, { "queue": "${task_queues.khp_en}", - "priority": 3, - "expression": "((worker.waitingOfflineContact != true AND ((task.channelType == 'voice' AND worker.channel.chat.assigned_tasks == 0) OR (task.channelType != 'voice' AND worker.channel.voice.assigned_tasks == 0)) AND ((task.transferTargetType == 'worker' AND task.targetSid == worker.sid) OR (task.transferTargetType != 'worker' AND worker.sid != task.ignoreAgent))) OR (worker.waitingOfflineContact == true AND task.targetSid == worker.sid AND task.isContactlessTask == true)) AND ('Priority 988/Int' NOT IN worker.routing.skills AND 'Hold for Transfers' NOT IN worker.routing.skills)", - "timeout": 240 + "priority": 2, + "expression": "((worker.waitingOfflineContact != true AND ((task.channelType == 'voice' AND worker.channel.chat.assigned_tasks == 0) OR (task.channelType != 'voice' AND worker.channel.voice.assigned_tasks == 0)) AND ((task.transferTargetType == 'worker' AND task.targetSid == worker.sid) OR (task.transferTargetType != 'worker' AND worker.sid != task.ignoreAgent))) OR (worker.waitingOfflineContact == true AND task.targetSid == worker.sid AND task.isContactlessTask == true)) AND ('Hold for Transfers' NOT IN worker.routing.skills)", + "order_by": "worker.routing.levels.KHPEN DESC", + "timeout": 390 }, { "queue": "${task_queues.khp_en}", "expression": "((worker.waitingOfflineContact != true AND ((task.channelType == 'voice' AND worker.channel.chat.assigned_tasks == 0) OR (task.channelType != 'voice' AND worker.channel.voice.assigned_tasks == 0)) AND ((task.transferTargetType == 'worker' AND task.targetSid == worker.sid) OR (task.transferTargetType != 'worker' AND worker.sid != task.ignoreAgent))) OR (worker.waitingOfflineContact == true AND task.targetSid == worker.sid AND task.isContactlessTask == true)) AND ('Hold for Transfers' NOT IN worker.routing.skills)", - "timeout": 360, - "priority": 4 + "timeout": 300, + "order_by": "worker.routing.levels.KHPEN DESC", + "priority": 3 }, { "queue": "${task_queues.khp_en}", "expression": "((worker.waitingOfflineContact != true AND ((task.channelType == 'voice' AND worker.channel.chat.assigned_tasks == 0) OR (task.channelType != 'voice' AND worker.channel.voice.assigned_tasks == 0)) AND ((task.transferTargetType == 'worker' AND task.targetSid == worker.sid) OR (task.transferTargetType != 'worker' AND worker.sid != task.ignoreAgent))) OR (worker.waitingOfflineContact == true AND task.targetSid == worker.sid AND task.isContactlessTask == true)) AND ('Hold for Transfers' NOT IN worker.routing.skills)", "timeout": 300, - "priority": 5 + "order_by": "worker.routing.levels.KHPEN DESC", + "priority": 4 + }, + { + "queue": "${task_queues.khp_en}", + "expression": "((worker.waitingOfflineContact != true AND ((task.channelType == 'voice' AND worker.channel.chat.assigned_tasks == 0) OR (task.channelType != 'voice' AND worker.channel.voice.assigned_tasks == 0)) AND ((task.transferTargetType == 'worker' AND task.targetSid == worker.sid) OR (task.transferTargetType != 'worker' AND worker.sid != task.ignoreAgent))) OR (worker.waitingOfflineContact == true AND task.targetSid == worker.sid AND task.isContactlessTask == true)) AND ('Hold for Transfers' NOT IN worker.routing.skills)", + "order_by": "worker.routing.levels.KHPEN DESC", + "priority": 5. + "timeout": 300 }, { "queue": "${task_queues.khp_en}", "expression": "((worker.waitingOfflineContact != true AND ((task.channelType == 'voice' AND worker.channel.chat.assigned_tasks == 0) OR (task.channelType != 'voice' AND worker.channel.voice.assigned_tasks == 0)) AND ((task.transferTargetType == 'worker' AND task.targetSid == worker.sid) OR (task.transferTargetType != 'worker' AND worker.sid != task.ignoreAgent))) OR (worker.waitingOfflineContact == true AND task.targetSid == worker.sid AND task.isContactlessTask == true)) AND ('Hold for Transfers' NOT IN worker.routing.skills)", + "order_by": "worker.routing.levels.KHPEN DESC", "priority": 6 } ]