From ae0b6ee9f2268239a34445940c2b0ff7606cdf2e Mon Sep 17 00:00:00 2001 From: Abhinav Raut Date: Thu, 6 Aug 2026 02:38:38 +0530 Subject: [PATCH] rework notify action with subject, message and picked recipients The notify action only created a fixed in-app notification and recipients were typed as a raw team: / user: DSL where typos silently notified nobody. Now: - recipients are picked by name (assignee, assigned team, any team or agent) - admin writes the subject and message; both show in the bell notification and go out as an email (message plus conversation link, wrapped in the default outgoing email template, so nothing is hardcoded in English) - the action serializes as typed fields {subject, message, recipients} instead of a positional value array Also: previous_* condition fields are hidden for time triggers and populated on message events (previous = current) so those rules can actually match, action row widths now follow the RuleBox pattern (fixed type select, value widgets fill the row), and three new i18n keys merged into existing globals. --- .../src/composables/useConversationFilters.js | 2 +- .../features/admin/automation/ActionBox.vue | 106 +++++++++++------- .../src/features/admin/automation/RuleBox.vue | 11 +- .../admin/automations/CreateOrEditRule.vue | 8 ++ i18n/en-US.json | 9 +- internal/automation/automation.go | 2 +- internal/automation/evaluator_test.go | 6 +- internal/automation/models/models.go | 30 +++++ internal/conversation/conversation.go | 89 +++++++++------ internal/conversation/message.go | 2 +- 10 files changed, 174 insertions(+), 91 deletions(-) diff --git a/frontend/apps/main/src/composables/useConversationFilters.js b/frontend/apps/main/src/composables/useConversationFilters.js index 2f354901..be0d9339 100644 --- a/frontend/apps/main/src/composables/useConversationFilters.js +++ b/frontend/apps/main/src/composables/useConversationFilters.js @@ -339,7 +339,7 @@ export function useConversationFilters () { type: FIELD_TYPE.RECIPIENTS }, snooze: { - label: t('actions.snooze'), + label: t('globals.terms.snooze'), type: FIELD_TYPE.TEXT }, trigger_webhook: { diff --git a/frontend/apps/main/src/features/admin/automation/ActionBox.vue b/frontend/apps/main/src/features/admin/automation/ActionBox.vue index 7a4257ab..c02df3f5 100644 --- a/frontend/apps/main/src/features/admin/automation/ActionBox.vue +++ b/frontend/apps/main/src/features/admin/automation/ActionBox.vue @@ -7,9 +7,9 @@
-
-
-
+
+
+
+