diff --git a/src/api/conversationmodel.h b/src/api/conversationmodel.h
index 921bbb419dac251dd406ae8169c88dd32bc43f39..721896ea8a9a1ef7d7c50627ac0e0b0743afdf58 100644
--- a/src/api/conversationmodel.h
+++ b/src/api/conversationmodel.h
@@ -347,9 +347,9 @@ public:
     /**
      * create a new swarm conversation
      * @param participants  conversation's participants
-     * @param title conversation title
+     * @param infos conversation's infos
      */
-    void createConversation(const VectorString& participants, const QString& title = "");
+    void createConversation(const VectorString& participants, const MapStringString& infos = {});
     /**
      * update conversation info
      * @param conversationId conversation's id
diff --git a/src/conversationmodel.cpp b/src/conversationmodel.cpp
index aaa897fd83ca28ca212e85f11949381d6bac7afd..0af17cda194b9b22055a5627f1383ddec6a464d1 100644
--- a/src/conversationmodel.cpp
+++ b/src/conversationmodel.cpp
@@ -970,17 +970,14 @@ ConversationModel::getConversationInfos(const QString& conversationId)
 }
 
 void
-ConversationModel::createConversation(const VectorString& participants, const QString& title)
+ConversationModel::createConversation(const VectorString& participants, const MapStringString& infos)
 {
     auto convUid = ConfigurationManager::instance().startConversation(owner.id);
     for (const auto& participant : participants) {
         ConfigurationManager::instance().addConversationMember(owner.id, convUid, participant);
     }
-    if (!title.isEmpty()) {
-        MapStringString info = getConversationInfos(convUid);
-        info["title"] = title;
-        updateConversationInfo(convUid, info);
-    }
+    if (!infos.isEmpty())
+        updateConversationInfo(convUid, infos);
     pimpl_->addSwarmConversation(convUid);
     emit newConversation(convUid);
     pimpl_->invalidateModel();