Create contact groups by using EWS in Exchange
Learn how to create a contact group by using the EWS Managed API or EWS in Exchange.
You can create a contact group, which is a private distribution group, by using the EWS Managed API or EWS. To create contact groups, use the methods in the ContactGroup EWS Managed API class, or use the CreateItem EWS operation.
Note that you can't use the EWS Managed API or EWS to create a universal distribution group or security group. To create a universal distribution group or security group, you can use the New-DistributionGroupExchange Management Shell cmdlet.
Create a contact group by using the EWS Managed API
To create a contact group, you just need a couple pieces of information: a name for the group, and the members to add to the group. The following example shows how to create a simple contact group that contains a couple of group members.
// Create a new contact group object.
ContactGroup myContactGroup = new ContactGroup(service);
// Give the group a name.
myContactGroup.DisplayName = "My Contact Group";
// Add some members to the group.
myContactGroup.Members.Add(new GroupMember("sadie@contoso.com"));
myContactGroup.Members.Add(new GroupMember("alfred@contoso.com"));
// Save the group.
myContactGroup.Save();
Create a contact group by using EWS
It might take a few more lines of code, but you can create a contact group by using the CreateItem EWS operation. The following XML request example shows how you can create a contact group. This is also the XML request that is sent when you use the EWS Managed API to create a contact group.
<?xml version="1.0" encoding="utf-8"?>
<CreateItem xmlns="http://schemas.microsoft.com/exchange/services/2006/messages"
MessageDisposition="SaveOnly">
<Items xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages">
<DistributionList xmlns="http://schemas.microsoft.com/exchange/services/2006/types">
<DisplayName xmlns="http://schemas.microsoft.com/exchange/services/2006/types">
My Contact Group
</DisplayName>
<Members xmlns="http://schemas.microsoft.com/exchange/services/2006/types">
<Member xmlns="http://schemas.microsoft.com/exchange/services/2006/types">
<Mailbox xmlns="http://schemas.microsoft.com/exchange/services/2006/types">
<EmailAddress xmlns="http://schemas.microsoft.com/exchange/services/2006/types">
sadie@contoso.com
</EmailAddress>
</Mailbox>
</Member>
<Member xmlns="http://schemas.microsoft.com/exchange/services/2006/types">
<Mailbox xmlns="http://schemas.microsoft.com/exchange/services/2006/types">
<EmailAddress xmlns="http://schemas.microsoft.com/exchange/services/2006/types">
alfred@contoso.com
</EmailAddress>
</Mailbox>
</Member>
</Members>
</DistributionList>
</Items>
</CreateItem>
The following is an example of a successful XML response to the request. Notice that the values returned include an item ID for the new contact group and a change key that you can use in other code to modify the contact group or expand the group to see the members. The item ID is shortened for readability.
<?xml version="1.0" encoding="utf-8"?>
<CreateItemResponse xmlns="http://schemas.microsoft.com/exchange/services/2006/messages">
<ResponseMessages xmlns="http://schemas.microsoft.com/exchange/services/2006/messages">
<CreateItemResponseMessage ResponseClass="Success"
xmlns="http://schemas.microsoft.com/exchange/services/2006/messages">
<ResponseCode xmlns="http://schemas.microsoft.com/exchange/services/2006/messages">
NoError
</ResponseCode>
<Items xmlns="http://schemas.microsoft.com/exchange/services/2006/messages">
<DistributionList xmlns="http://schemas.microsoft.com/exchange/services/2006/types">
<ItemId xmlns="http://schemas.microsoft.com/exchange/services/2006/types"
Id="AAMkADBlY…"
ChangeKey="EgAAABYAAAAD7hO1SJPWTbICFWZ4U3NMAABXzQiK" />
</DistributionList>
</Items>
</CreateItemResponseMessage>
</ResponseMessages>
</CreateItemResponse>