+
diff --git a/app/javascript/dashboard/i18n/locale/en/components.json b/app/javascript/dashboard/i18n/locale/en/components.json
index 0bbc0c65a..c7230b1fc 100644
--- a/app/javascript/dashboard/i18n/locale/en/components.json
+++ b/app/javascript/dashboard/i18n/locale/en/components.json
@@ -39,5 +39,9 @@
},
"LABEL": {
"TAG_BUTTON": "tag"
+ },
+ "FEATURE_SPOTLIGHT": {
+ "LEARN_MORE": "Learn more",
+ "WATCH_VIDEO": "Watch video"
}
}
diff --git a/app/javascript/dashboard/i18n/locale/en/integrations.json b/app/javascript/dashboard/i18n/locale/en/integrations.json
index 8db6e4428..c6583d7f8 100644
--- a/app/javascript/dashboard/i18n/locale/en/integrations.json
+++ b/app/javascript/dashboard/i18n/locale/en/integrations.json
@@ -308,6 +308,7 @@
},
"CAPTAIN": {
"NAME": "Captain",
+ "HEADER_KNOW_MORE": "Know more",
"COPILOT": {
"SEND_MESSAGE": "Send message...",
"LOADER": "Captain is thinking",
@@ -387,7 +388,11 @@
},
"EMPTY_STATE": {
"TITLE": "No assistants available",
- "SUBTITLE": "Create an assistant to provide quick and accurate responses to your users. It can learn from your help articles and past conversations."
+ "SUBTITLE": "Create an assistant to provide quick and accurate responses to your users. It can learn from your help articles and past conversations.",
+ "FEATURE_SPOTLIGHT": {
+ "TITLE": "Captain Assistant",
+ "NOTE": "Captain Assistant engages directly with customers, learns from your help docs and past conversations, and delivers instant, accurate responses. It handles the initial queries, providing quick resolutions before transferring to an agent when needed."
+ }
}
},
"DOCUMENTS": {
@@ -429,7 +434,11 @@
},
"EMPTY_STATE": {
"TITLE": "No documents available",
- "SUBTITLE": "Documents are used by your assistant to generate FAQs. You can import documents to provide context for your assistant."
+ "SUBTITLE": "Documents are used by your assistant to generate FAQs. You can import documents to provide context for your assistant.",
+ "FEATURE_SPOTLIGHT": {
+ "TITLE": "Captain Document",
+ "NOTE": "A document in Captain serves as a knowledge resource for the assistant. By connecting your help center or guides, Captain can analyze the content and provide accurate responses for customer inquiries."
+ }
}
},
"RESPONSES": {
@@ -507,7 +516,11 @@
},
"EMPTY_STATE": {
"TITLE": "No FAQs Found",
- "SUBTITLE": "FAQs help your assistant provide quick and accurate answers to questions from your customers. They can be generated automatically from your content or can be added manually."
+ "SUBTITLE": "FAQs help your assistant provide quick and accurate answers to questions from your customers. They can be generated automatically from your content or can be added manually.",
+ "FEATURE_SPOTLIGHT": {
+ "TITLE": "Captain FAQ",
+ "NOTE": "Captain FAQs detects common customer questions—whether missing from your knowledge base or frequently asked—and generates relevant FAQs to improve support. You can review each suggestion and decide whether to approve or reject it."
+ }
}
},
"INBOXES": {
diff --git a/app/javascript/dashboard/routes/dashboard/captain/assistants/Index.vue b/app/javascript/dashboard/routes/dashboard/captain/assistants/Index.vue
index bcc551966..242e6f086 100644
--- a/app/javascript/dashboard/routes/dashboard/captain/assistants/Index.vue
+++ b/app/javascript/dashboard/routes/dashboard/captain/assistants/Index.vue
@@ -9,6 +9,7 @@ import PageLayout from 'dashboard/components-next/captain/PageLayout.vue';
import CaptainPaywall from 'dashboard/components-next/captain/pageComponents/Paywall.vue';
import CreateAssistantDialog from 'dashboard/components-next/captain/pageComponents/assistant/CreateAssistantDialog.vue';
import AssistantPageEmptyState from 'dashboard/components-next/captain/pageComponents/emptyStates/AssistantPageEmptyState.vue';
+import FeatureSpotlightPopover from 'dashboard/components-next/feature-spotlight/FeatureSpotlightPopover.vue';
import LimitBanner from 'dashboard/components-next/captain/pageComponents/response/LimitBanner.vue';
import { useRouter } from 'vue-router';
@@ -82,6 +83,16 @@ onMounted(() => store.dispatch('captainAssistants/get'));
:feature-flag="FEATURE_FLAGS.CAPTAIN"
@click="handleCreate"
>
+
+
+
diff --git a/app/javascript/dashboard/routes/dashboard/captain/assistants/inboxes/Index.vue b/app/javascript/dashboard/routes/dashboard/captain/assistants/inboxes/Index.vue
index a9a36706a..81b6ccc04 100644
--- a/app/javascript/dashboard/routes/dashboard/captain/assistants/inboxes/Index.vue
+++ b/app/javascript/dashboard/routes/dashboard/captain/assistants/inboxes/Index.vue
@@ -79,7 +79,9 @@ onMounted(() =>
-
+
{{ assistant.name }}
{{ $t('CAPTAIN.INBOXES.HEADER') }}
diff --git a/app/javascript/dashboard/routes/dashboard/captain/documents/Index.vue b/app/javascript/dashboard/routes/dashboard/captain/documents/Index.vue
index 12a595069..90db4694a 100644
--- a/app/javascript/dashboard/routes/dashboard/captain/documents/Index.vue
+++ b/app/javascript/dashboard/routes/dashboard/captain/documents/Index.vue
@@ -11,6 +11,7 @@ import RelatedResponses from 'dashboard/components-next/captain/pageComponents/d
import CreateDocumentDialog from 'dashboard/components-next/captain/pageComponents/document/CreateDocumentDialog.vue';
import AssistantSelector from 'dashboard/components-next/captain/pageComponents/AssistantSelector.vue';
import DocumentPageEmptyState from 'dashboard/components-next/captain/pageComponents/emptyStates/DocumentPageEmptyState.vue';
+import FeatureSpotlightPopover from 'dashboard/components-next/feature-spotlight/FeatureSpotlightPopover.vue';
import LimitBanner from 'dashboard/components-next/captain/pageComponents/document/LimitBanner.vue';
const store = useStore();
@@ -115,6 +116,17 @@ onMounted(() => {
@update:current-page="onPageChange"
@click="handleCreateDocument"
>
+
+
+
+
diff --git a/app/javascript/dashboard/routes/dashboard/captain/responses/Index.vue b/app/javascript/dashboard/routes/dashboard/captain/responses/Index.vue
index c087da817..258e1c0c9 100644
--- a/app/javascript/dashboard/routes/dashboard/captain/responses/Index.vue
+++ b/app/javascript/dashboard/routes/dashboard/captain/responses/Index.vue
@@ -18,6 +18,7 @@ import AssistantSelector from 'dashboard/components-next/captain/pageComponents/
import ResponseCard from 'dashboard/components-next/captain/assistant/ResponseCard.vue';
import CreateResponseDialog from 'dashboard/components-next/captain/pageComponents/response/CreateResponseDialog.vue';
import ResponsePageEmptyState from 'dashboard/components-next/captain/pageComponents/emptyStates/ResponsePageEmptyState.vue';
+import FeatureSpotlightPopover from 'dashboard/components-next/feature-spotlight/FeatureSpotlightPopover.vue';
import LimitBanner from 'dashboard/components-next/captain/pageComponents/response/LimitBanner.vue';
const router = useRouter();
@@ -247,6 +248,17 @@ onMounted(() => {
@update:current-page="onPageChange"
@click="handleCreate"
>
+
+
+
+
diff --git a/public/assets/images/dashboard/captain/assistant-dark.svg b/public/assets/images/dashboard/captain/assistant-dark.svg
new file mode 100644
index 000000000..bc9fac01a
--- /dev/null
+++ b/public/assets/images/dashboard/captain/assistant-dark.svg
@@ -0,0 +1,207 @@
+
diff --git a/public/assets/images/dashboard/captain/assistant-light.svg b/public/assets/images/dashboard/captain/assistant-light.svg
new file mode 100644
index 000000000..bf4f4e296
--- /dev/null
+++ b/public/assets/images/dashboard/captain/assistant-light.svg
@@ -0,0 +1,208 @@
+
diff --git a/public/assets/images/dashboard/captain/assistant-popover-dark.svg b/public/assets/images/dashboard/captain/assistant-popover-dark.svg
new file mode 100644
index 000000000..10489b43c
--- /dev/null
+++ b/public/assets/images/dashboard/captain/assistant-popover-dark.svg
@@ -0,0 +1,557 @@
+
diff --git a/public/assets/images/dashboard/captain/assistant-popover-light.svg b/public/assets/images/dashboard/captain/assistant-popover-light.svg
new file mode 100644
index 000000000..1153c39e3
--- /dev/null
+++ b/public/assets/images/dashboard/captain/assistant-popover-light.svg
@@ -0,0 +1,558 @@
+
diff --git a/public/assets/images/dashboard/captain/document-dark.svg b/public/assets/images/dashboard/captain/document-dark.svg
new file mode 100644
index 000000000..d6bcde260
--- /dev/null
+++ b/public/assets/images/dashboard/captain/document-dark.svg
@@ -0,0 +1,26 @@
+
diff --git a/public/assets/images/dashboard/captain/document-light.svg b/public/assets/images/dashboard/captain/document-light.svg
new file mode 100644
index 000000000..7b24dc870
--- /dev/null
+++ b/public/assets/images/dashboard/captain/document-light.svg
@@ -0,0 +1,27 @@
+
diff --git a/public/assets/images/dashboard/captain/document-popover-dark.svg b/public/assets/images/dashboard/captain/document-popover-dark.svg
new file mode 100644
index 000000000..909f291ea
--- /dev/null
+++ b/public/assets/images/dashboard/captain/document-popover-dark.svg
@@ -0,0 +1,569 @@
+
diff --git a/public/assets/images/dashboard/captain/document-popover-light.svg b/public/assets/images/dashboard/captain/document-popover-light.svg
new file mode 100644
index 000000000..23fa62a47
--- /dev/null
+++ b/public/assets/images/dashboard/captain/document-popover-light.svg
@@ -0,0 +1,570 @@
+
diff --git a/public/assets/images/dashboard/captain/faqs-dark.svg b/public/assets/images/dashboard/captain/faqs-dark.svg
new file mode 100644
index 000000000..cd6e11dd1
--- /dev/null
+++ b/public/assets/images/dashboard/captain/faqs-dark.svg
@@ -0,0 +1,18 @@
+
diff --git a/public/assets/images/dashboard/captain/faqs-light.svg b/public/assets/images/dashboard/captain/faqs-light.svg
new file mode 100644
index 000000000..68cc99e06
--- /dev/null
+++ b/public/assets/images/dashboard/captain/faqs-light.svg
@@ -0,0 +1,19 @@
+
diff --git a/public/assets/images/dashboard/captain/faqs-popover-dark.svg b/public/assets/images/dashboard/captain/faqs-popover-dark.svg
new file mode 100644
index 000000000..bff626616
--- /dev/null
+++ b/public/assets/images/dashboard/captain/faqs-popover-dark.svg
@@ -0,0 +1,563 @@
+
diff --git a/public/assets/images/dashboard/captain/faqs-popover-light.svg b/public/assets/images/dashboard/captain/faqs-popover-light.svg
new file mode 100644
index 000000000..2a72b382e
--- /dev/null
+++ b/public/assets/images/dashboard/captain/faqs-popover-light.svg
@@ -0,0 +1,564 @@
+