My customer wanted to manage the connections between accounts and contacts from external system.
We have configured the connection entity and created a new field called new_relationshipid and we used this field for setting up Alternate key, because this is an external id which should be used for future updates by the external system.
So far it is ok. Now comes the trick. When connection is created, the CRM is automatically creating a connection with the opposite direction. The one which you created has attribute ismaster = true. The duplicate one has the attribute set to false.
But when you create an alternate key on the connection entity, you actually block creating the connections. Alternate keys must be unique! So when the system tries to create opposite connection record, it fails.
I have created a ticket with Microsoft Support to handle this issue and the result of this was that the product team will remove the possibility of alternate keys for connection entity from the UI. So we will not be able to use them.
As a result we are forced to create a new custom entity to save connection information.