From 982a715c4bed66a18b4b005f7c632236a509d6b0 Mon Sep 17 00:00:00 2001 From: sean-brydon <55134778+sean-brydon@users.noreply.github.com> Date: Wed, 4 Dec 2024 12:39:20 +0000 Subject: [PATCH] feat: add assignment reason to routing insights (#17984) * add assignment reason * add routing reason to csv export --- apps/web/public/static/locales/en/common.json | 1 + .../components/RoutingFormResponsesTable.tsx | 13 +++++++++++++ packages/features/insights/server/routing-events.ts | 9 +++++++++ 3 files changed, 23 insertions(+) diff --git a/apps/web/public/static/locales/en/common.json b/apps/web/public/static/locales/en/common.json index a89e2df6d0..ebbcce9665 100644 --- a/apps/web/public/static/locales/en/common.json +++ b/apps/web/public/static/locales/en/common.json @@ -2798,6 +2798,7 @@ "routing_form_insights_booking_status": "Booking Status", "routing_form_insights_booking_at": "Booking At", "routing_form_insights_submitted_at": "Submitted At", + "routing_form_insights_assignment_reason":"Assignment Reason", "access_denied": "Access Denied", "salesforce_route_to_owner": "Contact owner will be the Round Robin host if available", "salesforce_do_not_route_to_owner": "Contact owner will not be forced (can still be host if it matches the attributes and Round Robin criteria)", diff --git a/packages/features/insights/components/RoutingFormResponsesTable.tsx b/packages/features/insights/components/RoutingFormResponsesTable.tsx index 532b31ae56..f7a37549d0 100644 --- a/packages/features/insights/components/RoutingFormResponsesTable.tsx +++ b/packages/features/insights/components/RoutingFormResponsesTable.tsx @@ -374,6 +374,19 @@ export function RoutingFormResponsesTable({ ), }), + columnHelper.accessor("routedToBooking", { + id: "assignmentReason", + header: t("routing_form_insights_assignment_reason"), + size: 250, + cell: (info) => { + const assignmentReason = info.getValue()?.assignmentReason; + return ( +
+ {assignmentReason && assignmentReason.length > 0 ? assignmentReason[0].reasonString : ""} +
+ ); + }, + }), columnHelper.accessor("createdAt", { id: "submittedAt", header: t("routing_form_insights_submitted_at"), diff --git a/packages/features/insights/server/routing-events.ts b/packages/features/insights/server/routing-events.ts index c6089edbc0..1ec964ea90 100644 --- a/packages/features/insights/server/routing-events.ts +++ b/packages/features/insights/server/routing-events.ts @@ -247,6 +247,9 @@ class RoutingEventsInsights { user: { select: { id: true, name: true, email: true, avatarUrl: true }, }, + assignmentReason: { + select: { reasonString: true }, + }, }, }, createdAt: true, @@ -584,6 +587,11 @@ class RoutingEventsInsights { email: true, }, }, + assignmentReason: { + select: { + reasonString: true, + }, + }, }, }, }, @@ -612,6 +620,7 @@ class RoutingEventsInsights { "Attendee Name": response.routedToBooking?.attendees[0]?.name || "", "Attendee Email": response.routedToBooking?.attendees[0]?.email || "", "Attendee Timezone": response.routedToBooking?.attendees[0]?.timeZone || "", + "Assignment Reason": response.routedToBooking?.assignmentReason[0].reasonString || "", "Routed To Name": response.routedToBooking?.user?.name || "", "Routed To Email": response.routedToBooking?.user?.email || "", };