diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/comms/topics/page.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/comms/topics/page.tsx
index 9b8abfa29..ffc17fae3 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/comms/topics/page.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/comms/topics/page.tsx
@@ -1,9 +1,121 @@
-import PageClient from "./page-client";
-
export const metadata = {
title: "Comms Topics",
};
export default function Page() {
- return ;
+ const topics = [
+ {
+ title: "Workspace reply routing",
+ summary: "Nimbus wants replies to route through the right workspace owner while preserving child-account context.",
+ confidence: "94%",
+ status: "open",
+ messages: [
+ ["Maya Chen", "Email", "Can Comms route replies to the workspace owner when the original message came from a child account?"],
+ ["Your team", "Email", "Yes, we can preserve the original user context while routing the reply to the workspace owner."],
+ ],
+ },
+ {
+ title: "Webhook and API surfaces",
+ summary: "Aster is validating which Comms identifiers appear in outbound webhook payloads.",
+ confidence: "86%",
+ status: "waiting",
+ messages: [
+ ["Omar Haddad", "Shared Slack", "Does the webhook payload include the topic id or do we need to call back into the API?"],
+ ],
+ },
+ {
+ title: "Discord-led launch planning",
+ summary: "Forge Guild is testing Discord-first contact capture before product signup.",
+ confidence: "78%",
+ status: "open",
+ messages: [
+ ["Lina Park", "Discord", "If someone joins Discord before signing up, can we merge them into the same contact later?"],
+ ],
+ },
+ ];
+ const selectedTopic = topics[0];
+
+ return (
+
+
+
+
Topics
+
+ AI groups inbound and outbound communication into topics, with manual merge and split overrides.
+