diff --git a/apps/user_status/js/dashboard.js b/apps/user_status/js/dashboard.js
index 824e3f22997e82b048054f415ff8517991138984..53bf75c09ba8194802b3ef7ce4b74ce7b9e13356 100644
Binary files a/apps/user_status/js/dashboard.js and b/apps/user_status/js/dashboard.js differ
diff --git a/apps/user_status/js/dashboard.js.map b/apps/user_status/js/dashboard.js.map
index 279a40b3c925a75a26a3450a00c3dc138e94861a..3d156e36f7f44916e4080b06bdcf4292984ec687 100644
Binary files a/apps/user_status/js/dashboard.js.map and b/apps/user_status/js/dashboard.js.map differ
diff --git a/apps/user_status/js/user-status-menu.js b/apps/user_status/js/user-status-menu.js
index cf7f310f4bd21adf95d4bb06e76195f7aa261a59..ee345a65529364cf43fe9cd2b6f9aeda9ad12f8d 100644
Binary files a/apps/user_status/js/user-status-menu.js and b/apps/user_status/js/user-status-menu.js differ
diff --git a/apps/user_status/js/user-status-menu.js.map b/apps/user_status/js/user-status-menu.js.map
index aad1b6069cb2be0cf93b30e6da2edacc2c233aa5..41725904f27ba7c7b60c14b58b06db9918b63e49 100644
Binary files a/apps/user_status/js/user-status-menu.js.map and b/apps/user_status/js/user-status-menu.js.map differ
diff --git a/apps/user_status/src/store/userStatus.js b/apps/user_status/src/store/userStatus.js
index ebe2aea2047a6d1a814a3dee172886c2bbce4e0d..69ec6d8fed18093be5364d08e9679f30b7a8a82d 100644
--- a/apps/user_status/src/store/userStatus.js
+++ b/apps/user_status/src/store/userStatus.js
@@ -27,7 +27,9 @@ import {
 	clearMessage,
 } from '../services/statusService'
 import { loadState } from '@nextcloud/initial-state'
+import { getCurrentUser } from '@nextcloud/auth'
 import { getTimestampForClearAt } from '../services/clearAtService'
+import { emit } from '@nextcloud/event-bus'
 
 const state = {
 	// Status (online / away / dnd / invisible / offline)
@@ -145,13 +147,21 @@ const actions = {
 	 *
 	 * @param {Object} vuex The Vuex destructuring object
 	 * @param {Function} vuex.commit The Vuex commit function
+	 * @param {Object} vuex.state The Vuex state object
 	 * @param {Object} data The data destructuring object
 	 * @param {String} data.statusType The new status type
 	 * @returns {Promise<void>}
 	 */
-	async setStatus({ commit }, { statusType }) {
+	async setStatus({ commit, state }, { statusType }) {
 		await setStatus(statusType)
 		commit('setStatus', { statusType })
+		emit('user_status:status.updated', {
+			status: state.status,
+			message: state.message,
+			icon: state.icon,
+			clearAt: state.clearAt,
+			userId: getCurrentUser()?.uid,
+		})
 	},
 
 	/**
@@ -159,13 +169,14 @@ const actions = {
 	 *
 	 * @param {Object} vuex The Vuex destructuring object
 	 * @param {Function} vuex.commit The Vuex commit function
+	 * @param {Object} vuex.state The Vuex state object
 	 * @param {Object} vuex.rootState The Vuex root state
 	 * @param {Object} data The data destructuring object
 	 * @param {String} data.messageId The messageId
 	 * @param {Object|null} data.clearAt When to automatically clear the status
 	 * @returns {Promise<void>}
 	 */
-	async setPredefinedMessage({ commit, rootState }, { messageId, clearAt }) {
+	async setPredefinedMessage({ commit, rootState, state }, { messageId, clearAt }) {
 		const resolvedClearAt = getTimestampForClearAt(clearAt)
 
 		await setPredefinedMessage(messageId, resolvedClearAt)
@@ -173,6 +184,13 @@ const actions = {
 		const { message, icon } = status
 
 		commit('setPredefinedMessage', { messageId, clearAt: resolvedClearAt, message, icon })
+		emit('user_status:status.updated', {
+			status: state.status,
+			message: state.message,
+			icon: state.icon,
+			clearAt: state.clearAt,
+			userId: getCurrentUser()?.uid,
+		})
 	},
 
 	/**
@@ -180,17 +198,25 @@ const actions = {
 	 *
 	 * @param {Object} vuex The Vuex destructuring object
 	 * @param {Function} vuex.commit The Vuex commit function
+	 * @param {Object} vuex.state The Vuex state object
 	 * @param {Object} data The data destructuring object
 	 * @param {String} data.message The message
 	 * @param {String} data.icon The icon
 	 * @param {Object|null} data.clearAt When to automatically clear the status
 	 * @returns {Promise<void>}
 	 */
-	async setCustomMessage({ commit }, { message, icon, clearAt }) {
+	async setCustomMessage({ commit, state }, { message, icon, clearAt }) {
 		const resolvedClearAt = getTimestampForClearAt(clearAt)
 
 		await setCustomMessage(message, icon, resolvedClearAt)
 		commit('setCustomMessage', { message, icon, clearAt: resolvedClearAt })
+		emit('user_status:status.updated', {
+			status: state.status,
+			message: state.message,
+			icon: state.icon,
+			clearAt: state.clearAt,
+			userId: getCurrentUser()?.uid,
+		})
 	},
 
 	/**
@@ -198,11 +224,19 @@ const actions = {
 	 *
 	 * @param {Object} vuex The Vuex destructuring object
 	 * @param {Function} vuex.commit The Vuex commit function
+	 * @param {Object} vuex.state The Vuex state object
 	 * @returns {Promise<void>}
 	 */
-	async clearMessage({ commit }) {
+	async clearMessage({ commit, state }) {
 		await clearMessage()
 		commit('clearMessage')
+		emit('user_status:status.updated', {
+			status: state.status,
+			message: state.message,
+			icon: state.icon,
+			clearAt: state.clearAt,
+			userId: getCurrentUser()?.uid,
+		})
 	},
 
 	/**