diff --git a/src/routes/channels/delete_channel.rs b/src/routes/channels/delete_channel.rs
index 7fc65de1a5a9630d0c5ccda3e11e666b327d3134..5c41580e3622eccd5333275f2c742e8e54bd19c4 100644
--- a/src/routes/channels/delete_channel.rs
+++ b/src/routes/channels/delete_channel.rs
@@ -102,7 +102,8 @@ pub async fn req(user: User, target: Ref) -> Result<()> {
             Message::create(
                 "00000000000000000000000000".to_string(),
                 id.clone(),
-                format!("<@{}> left the group.", user.id),
+                // ! FIXME: make a schema for this
+                format!("{{\"type\":\"user_left\",\"id\":\"{}\"}}", user.id),
             )
             .publish(&target)
             .await
diff --git a/src/routes/channels/group_add_member.rs b/src/routes/channels/group_add_member.rs
index e925fd92a76a808949934e0fcfc3804b59cbd940..1d5c9cd0ef672a9115a63d75dd7f5fae4605a9b7 100644
--- a/src/routes/channels/group_add_member.rs
+++ b/src/routes/channels/group_add_member.rs
@@ -59,7 +59,8 @@ pub async fn req(user: User, target: Ref, member: Ref) -> Result<()> {
         Message::create(
             "00000000000000000000000000".to_string(),
             id.clone(),
-            format!("<@{}> added <@{}> to the group.", user.id, member.id),
+            // ! FIXME: make a schema for this
+            format!("{{\"type\":\"user_added\",\"id\":\"{}\",\"by\":\"{}\"}}", member.id, user.id),
         )
         .publish(&channel)
         .await
diff --git a/src/routes/channels/group_remove_member.rs b/src/routes/channels/group_remove_member.rs
index e12414bf3b0be3d8e6e4aac0bce0a00cc91f19fa..491a19a7df080b070ac2f5c32155932ac9faeaed 100644
--- a/src/routes/channels/group_remove_member.rs
+++ b/src/routes/channels/group_remove_member.rs
@@ -56,7 +56,8 @@ pub async fn req(user: User, target: Ref, member: Ref) -> Result<()> {
         Message::create(
             "00000000000000000000000000".to_string(),
             id.clone(),
-            format!("<@{}> removed <@{}> from the group.", user.id, member.id),
+            // ! FIXME: make a schema for this
+            format!("{{\"type\":\"user_remove\",\"id\":\"{}\",\"by\":\"{}\"}}", member.id, user.id),
         )
         .publish(&channel)
         .await