# 7.7 Add Group Members

The `addInGroup` function is used to add  new members to the Group. The members to be added in the group may belong to different companies, provided that the company and the member must already be registered with Bayun. Any existing member of the group can add a new members. The developer can enforce stricter access-mechanisms on top if desired (e.g. only group-owner or group-admin is allowed to add new members).

The function takes the following parameters :

* **groupId** :  Group Id of the Group.
* **groupMembers** :  `List<GroupMember>` object.&#x20;
* **success** : Success block to be executed after members are added to the group.
* **failure** : Failure block to be executed if members could not be added to the group, returns `BayunError`.

{% tabs %}
{% tab title="Java" %}

```java
import com.bayun_module.GroupMember

String companyEmployeeId = "<companyEmployeeId>";
String companyName = "<companyName>";
String groupId = "<groupId>";

GroupMember groupMember = new GroupMember();
groupMember.companyEmployeeId = companyEmployeeId;
groupMember.companyName = companyName;
            
ArrayList<GroupMember> groupMembers = new ArrayList<>();
groupMembers.add(groupMember); 

// Success Callback
Handler.Callback success = new Handler.Callback() {
    @Override
    public boolean handleMessage(Message message) {
        Bundle bundle = message.getData();
        ArrayList<AddMemberErrObject> errorList = (ArrayList<AddMemberErrObject>) bundle.getSerializable("ERROR_LIST");
        String addedMembersCount = bundle.getString("addedMembersCount");
        for (int i = 0; i < errorList.size(); i++) {
             AddMemberErrObject errObject = errorList.get(i);
             String errorMsg = errObject.errorMessage;
             Log.d(TAG, "ErrorMessage : "+ errorMsg);
             ArrayList<GroupMember> groupMemberArrayList = errObject.membersList;
                for (int j = 0; j < groupMemberArrayList.size(); j++) {
                    GroupMember groupMember = groupMemberArrayList.get(j);
                    Log.d(TAG, "companyEmployeeId : " + groupMember.companyEmployeeId);
                    Log.d(TAG, "companyName : " + groupMember.companyName);
                }

             }
        
        return false;
    }
};

//Failure Callback.
Handler.Callback failure = new Handler.Callback() {
    @Override
    public boolean handleMessage(Message message) {
        String error = message.getData().getString("BayunError", "");
        Log.d(TAG, "Error adding the group members.");
        return false;
    }
};

bayunCore.addInGroup(groupId, groupMembers, success, failure);
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
import com.bayun_module.GroupMember

val companyEmployeeId = "<companyEmployeeId>"
val companyName = "<companyName>"
val groupId = "<groupId>"

val groupMember: GroupMember =  GroupMember()
groupMember.companyEmployeeId = companyEmployeeId
groupMember.companyName = companyName
        
var groupMembers = ArrayList<GroupMember>()
groupMembers.add(groupMember)
        
// Callbacks success
val success = Handler.Callback {
var bundle = it.data
var errorList = bundle.getSerializable("ERROR_LIST") as ArrayList<AddMemberErrObject>
var addedMembersCount = bundle.getString("addedMembersCount")
        for (errObject in errorList) {
        Log.d(TAG, "errorMessage: " + errObject.errorMessage)
        var groupMemberArrayList = errObject.membersList
                for (groupMember in groupMemberArrayList) {
                Log.d(TAG, "companyEmployeeId: " + groupMember.companyEmployeeId)
                Log.d(TAG, "companyName : " + groupMember.companyName);
                }
       }
    false
}

val failure = Handler.Callback {
    val error = it.data.getString("BayunError", "")
    Log.d(TAG, "Error adding the group members.")
    false
}

bayunCore.addInGroup(groupId, groupMembers, success, failure)
```

{% endtab %}
{% endtabs %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://bayun.gitbook.io/bayuncoresdk-android/6.-groups/7.7-add-group-members.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
