Skip to main content
Dynamics 365 general forum

portal webapi: create connection record

editSubscribe (0) ShareShare
Posted on by 5

I want to create a record in connections entity using portal webapi. I have setup all the necessary permissions , site settings but just not sure how I can pass an entityrefrence in the post. In the plugin my code is :

Entity connection = new Entity();
connection.LogicalName = "connection";
connection.Attributes.Add("record1id", new EntityReference("Contact", "contact_guid_here"));
connection.Attributes.Add("record2id", new EntityReference("Opportunity", "opportnity_guid_here"));
// to fill both the connection role lookups, uncomment the below line
//connection.Attributes.Add("record2roleid", new EntityReference("connectionrole", new Guid(connRoleId)));
connection.Attributes.Add("record1roleid", new EntityReference("connectionrole", new Guid("connectioRole_guid_here")));

In portal I am trying to do something like this but keeps getting 500 error.

function createcontact(){
var dataObject={


	type: "POST",
	url: "/_api/connections",
	data: JSON.stringify(dataObject),
	success: function(res, status, xhr) {
		//print id of newly created entity record
		console.log("entityID: "   xhr.getResponseHeader("entityid"))

  • snowflake1974 Profile Picture
    snowflake1974 5 on at
    RE: portal webapi: create connection record

    Fantastic Guido, I did exactly as you said this morning using CRM restbuilder in my 2011 CRM and it worked and I am successfully able to create a connection.

  • Verified answer
    Guido Preite Profile Picture
    Guido Preite 53,906 Super User on at
    RE: portal webapi: create connection record

    the syntax will be something like this:

    var record = {};
    record["record1roleid@odata.bind"] = "/connectionroles(00000000-0000-0000-0000-0000000000000)"; // Lookup
    record["record1id_contact@odata.bind"] = "/contacts(00000000-0000-0000-0000-000000000000)"; // Lookup
    record["record2id_opportunity@odata.bind"] = "/opportunities(00000000-0000-0000-0000-000000000000)"; // Lookup
    	type: "POST",
    	contentType: "application/json",
    	url: "/_api/connections",
    	data: JSON.stringify(record),
    	success: function (data, textStatus, xhr) {
    		var newId = xhr.getResponseHeader("entityid");
    	error: function (xhr, textStatus, errorThrown) {

    to generate this kind of Web API you can use my tool Dataverse REST Builder

Helpful resources

Quick Links

What Motivates a Super User?

We know many of you visit the Dynamics 365 Community and Power Platform…

Demystifying Copilot with Sundar…

Industry experts answer burning questions directly from our amazing Community…

Enabling Copilot Case and Conversation…

Agents can easily recap an ongoing chat, transcribe a voice conversation…


Andre Arnaud de Calavon Profile Picture

Andre Arnaud de Cal... 282,978 Super User

Martin Dráb Profile Picture

Martin Dráb 222,562 Super User

nmaenpaa Profile Picture

nmaenpaa 101,138

Product updates

Dynamics 365 release plans