diff --git a/app/javascript/dashboard/api/captain/copilotMessages.js b/app/javascript/dashboard/api/captain/copilotMessages.js
new file mode 100644
index 000000000..49e05398a
--- /dev/null
+++ b/app/javascript/dashboard/api/captain/copilotMessages.js
@@ -0,0 +1,18 @@
+/* global axios */
+import ApiClient from '../ApiClient';
+
+class CopilotMessages extends ApiClient {
+ constructor() {
+ super('captain/copilot_threads', { accountScoped: true });
+ }
+
+ get(threadId) {
+ return axios.get(`${this.url}/${threadId}/copilot_messages`);
+ }
+
+ create({ threadId, ...rest }) {
+ return axios.post(`${this.url}/${threadId}/copilot_messages`, rest);
+ }
+}
+
+export default new CopilotMessages();
diff --git a/app/javascript/dashboard/api/captain/copilotThreads.js b/app/javascript/dashboard/api/captain/copilotThreads.js
new file mode 100644
index 000000000..7fdce3b91
--- /dev/null
+++ b/app/javascript/dashboard/api/captain/copilotThreads.js
@@ -0,0 +1,9 @@
+import ApiClient from '../ApiClient';
+
+class CopilotThreads extends ApiClient {
+ constructor() {
+ super('captain/copilot_threads', { accountScoped: true });
+ }
+}
+
+export default new CopilotThreads();
diff --git a/app/javascript/dashboard/components-next/message/bubbles/BaseAttachment.vue b/app/javascript/dashboard/components-next/message/bubbles/BaseAttachment.vue
index a4e4aa729..a573e7868 100644
--- a/app/javascript/dashboard/components-next/message/bubbles/BaseAttachment.vue
+++ b/app/javascript/dashboard/components-next/message/bubbles/BaseAttachment.vue
@@ -40,7 +40,7 @@ const senderName = computed(() => {