> ## Documentation Index
> Fetch the complete documentation index at: https://cometchat-22654f5b-docs-rn-guide-message-privately.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Create A Group

> Create A Group — CometChat documentation.

*In other words, as a logged-in user, how do I create a public, private or password-protected group?*

You can create a group using `createGroup()` method. This method takes a `Group` object as input.

The `groupType` needs to be either of the below 3 values:

1.`CometChatGroupType.`*public* (public)

2.`CometChatGroupType.`*password* (password)

3.`CometChatGroupType.`*private* (private)

<Tabs>
  <Tab title="Dart">
    ```dart theme={null}
    String GUID = "GUID";
         String groupName = "Hello Group!";
         String groupType = CometChatGroupType.public;
         String password = "";

    await CometChat.createGroup(GUID , groupName, groupType ,password: password,
       onSuccess: (Group group){
         debugPrint("Group Created Successfully : $group ");
       },onError: (CometChatException e) {
         debugPrint("Group Creation failed with exception: ${e.message}");
       });
    ```
  </Tab>
</Tabs>

The `createGroup()` method takes the following parameters:

| Parameter | Description                  |
| --------- | ---------------------------- |
| `group`   | An instance of `Group` class |

After the successful creation of the group, you will receive an instance of `Group` class which contains all the information about the particular group.

<Warning>
  GUID can be alphanumeric with underscore and hyphen. Spaces, punctuation and other special characters are not allowed.
</Warning>

## Group Class

| Field        | Editable                                                        | Information                                                               |
| ------------ | --------------------------------------------------------------- | ------------------------------------------------------------------------- |
| guid         | Needs to be specified at group creation. Cannot be edited later | A unique identifier for a group                                           |
| name         | Yes                                                             | Name of the group                                                         |
| type         | No                                                              | Type of the group: Can be 1. Public 2. Password 3. Private                |
| password     | No                                                              | Password for the group in case the group is of type password.             |
| icon         | Yes                                                             | An URL to group icon                                                      |
| description  | Yes                                                             | Description about the group                                               |
| owner        | Yes                                                             | UID of the owner of the group.                                            |
| metadata     | Yes                                                             | Additional data for the group as JSON                                     |
| createdAt    | No                                                              | The unix timestamp of the time the group was created                      |
| updatedAt    | No                                                              | The unix timestamp of the time the group was last updated                 |
| hasJoined    | No                                                              | A boolean to determine if the logged in user is a member of the group.    |
| joinedAt     | No                                                              | The unix timestamp of the time the logged in user joined the group.       |
| scope        | Yes                                                             | Scope of the logged in user. Can be: 1. Admin 2. Moderator 3. Participant |
| membersCount | No                                                              | The number of members in the groups                                       |
| tags         | Yes                                                             | A list of tags to identify specific groups.                               |
