+
+
+
+
+
+
diff --git a/core/src/services/TalkService.js b/core/src/services/TalkService.js
new file mode 100644
index 0000000000000..f8dc79a5dcc32
--- /dev/null
+++ b/core/src/services/TalkService.js
@@ -0,0 +1,66 @@
+/**
+ * @copyright Copyright (c) 2024 Fon E. Noel NFEBE
+ *
+ * @author Fon E. Noel NFEBE
+ *
+ * @license AGPL-3.0-or-later
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ *
+ */
+
+import axios from '@nextcloud/axios'
+import { generateOcsUrl } from '@nextcloud/router'
+
+/**
+ * Fetches the conversations from the server.
+ *
+ * @param {object} options options
+ */
+const fetchConversations = async function(options) {
+ options = options || {}
+ options.params = options.params || {}
+ options.params.includeStatus = true
+ return await axios.get(generateOcsUrl('apps/spreed/api/v4/room'), options)
+}
+
+/**
+ * Fetches a conversation from the server.
+ *
+ * @param {string} token The token of the conversation to be fetched.
+ */
+const fetchConversation = async function(token) {
+ return axios.get(generateOcsUrl('apps/spreed/api/v4/room/{token}', { token }))
+}
+
+/**
+ * Fetch listed conversations
+ *
+ * @param {string} searchText The string that will be used in the search query.
+ * @param {object} options options
+ */
+const searchListedConversations = async function({ searchText }, options) {
+ return axios.get(generateOcsUrl('apps/spreed/api/v4/listed-room'), Object.assign(options, {
+ params: {
+ searchTerm: searchText,
+ },
+ }))
+}
+
+
+export {
+ fetchConversations,
+ fetchConversation,
+ searchListedConversations,
+}
diff --git a/core/src/views/UnifiedSearchModal.vue b/core/src/views/UnifiedSearchModal.vue
index 9c719d2bcf6a3..410b8e058ed9b 100644
--- a/core/src/views/UnifiedSearchModal.vue
+++ b/core/src/views/UnifiedSearchModal.vue
@@ -8,6 +8,10 @@
class="unified-search__date-range"
@set:custom-date-range="setCustomDateRange"
@update:is-open="showDateRangeModal = $event" />
+