Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Salesforce Connector Reference Lookup With Upsert Operation

DZone's Guide to

Salesforce Connector Reference Lookup With Upsert Operation

This quick tutorial will help you use Mule's Salesforce Connector to upsert your child objects simply and easily.

· Integration Zone
Free Resource

The Integration Zone is brought to you in partnership with Cloud Elements. What's below the surface of an API integration? Download The Definitive Guide to API Integrations to start building an API strategy.

Mule Salesforce Connector is a powerful tool. It executes API calls targeting Salesforce’s SOAP API, REST API, Bulk API, or Streaming API, depending on the operation you configure. The API calls use an XML request/response over an HTTPS connection. All required request headers, error handling, and HTTPS connection configurations are abstracted from the user and built into the connector.

There are often requirements while feeding data to Salesforce to look up reference fields between parent and child Object relations. One way is to have multiple calls to Salesforce, one to query the Parent object to find if the key is present and fetch the ID, and other to use that ID and upsert the child object.

Another is to use just one call, which will take care of both the lookup for the Parent/Reference Object and if the key is present, upserts the Child Object. This article will cover that process.

Suppose I am upserting an Object Order. I have fields like BillTo__r, which should refer the ContactAddr__c Object and upsert only when the mentioned key is present in that object. Similar is the ShipTo__r field.

So, the transformation for these reference fields will look like:Image title


The Salesforce Connector Configuration should look like:

Image title


One field “type” should be added to the reference field. The value of this field will be equal to the exact name of the Salesforce Reference Object. Now, this will take the internal salesforce ID of the record in Contact Address Table, whose field ContactAddrId__c will be equal to the provided value. After the upsert, it will look like below in salesforce:

Image title


And that's it! I hope this was helpful!

Your API is not enough. Learn why (and how) leading SaaS providers are turning their products into platforms with API integration in the ebook, Build Platforms, Not Products from Cloud Elements.

Topics:
mule ,salesforce integration ,reference objects

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}