Tag Archives: salesforce integration

Wedid: Device Compliance Tool (XML) and Salesforce Integration


Client is using a Device Compliance Tool to perform testing on the devices that will be assigned to specific Work Orders. The result generated from the tool needs to be attached into Salesforce as a reference and for further process.



Purpose To attach the test result (in XML format) generated from a Device Compliance Tool into Salesforce
Applications Local Disk
Salesforce.com CRM
Versions Local Disk
Tool Boomi
Information Local Disk XML file > Salesforce Custom Object (Work Order)
Data Formats XML
Volumes ~100/day
Process When a test result is available in a local disk as an XML format file, it will be attached into Salesforce’s Custom Object called Work Order. The matching Work Order information can be extracted from the XML file.
Complexity Low


Wedid: QAD and Salesforce Integration


Client uses an ERP system, QAD and would like information such as Corporate Group, Customer, Item, Inventory, etc. being synced into Salesforce. This is to ensure any transaction that is being manage by different team (i.e. Manufacturer vs. Sales team) using these two different systems are in sync with one another.



Purpose To ensure information manages between QAD and Salesforce are in sync with one another.
Applications QAD
Salesforce.com CRM
Versions QAD
Tool Boomi
Information QAD Customer > Salesforce Account
QAD Corporate Group > Salesforce Account
QAD Item Master > Salesforce Product
QAD Inventory Product > Salesforce Custom Object (Product Serial)
Salesforce Custom Object (Stock Transfer) > QAD Inventory Transfer
Salesforce Custom Object (Part Request) > QAD Material Order
Data Formats XML
Volumes ~500/day
Process QAD Customer create/update Salesforce Account
QAD Corporate Group create/update Salesforce Account
QAD Item Master create/update Salesforce Product
QAD Inventory Product create/update Salesforce Custom Object (Product Serial)
Salesforce Custom Object (Stock Transfer) create QAD Inventory Transfer
Salesforce Custom Object (Part Request) create/update QAD Material Order
Schedule Real-time
Complexity High


Boomi: A Quick Way to Upload Attachment to Salesforce

Most of the Salesforce developers know that they have to encode the data with Base64 encoding if they want to upload a file as an attachment to a Salesforce object via web service. This is even easier if they use Salesforce Data Loader as the tool will help you to encode the data automatically. But, what if we want to do this in Boomi?

These are the steps:
1. Encode the data by using the Base64 Encode function in Data Process shape
2. Store the encoded data into a property (e.g, document property)
3. In the Salesforce operation parameters tab, you will just need to configure the Attachment/Body element to retrieve the value from the property that we set in Step 2

Figure 1: Connector Parameters

Figure 2: Parameter Value

Boomi Wedid: Upgrading from Legacy Netsuite Connector to New Netsuite Connector


Our customer has integration between Salesforce and Netsuite running for a quite some time. The integration is using the legacy Netsuite connector which only supports up to version 2009.1.

Our customer has recently upgraded Netsuite to version 2013.1. Due to this, the existing integration is no longer working with the legacy connector.

Data FormatsXML

Purpose To upgrade the integration process from the legacy Netsuite connector to the new Netsuite connector which supports from version 2010.1.
Applications Netsuite
Tool Boomi


Wedid: Integrating Salesforce and Xero


Client is managing/maintaining customer information as well as opportunities in Salesforce. Invoicing is being sent out using Xero instead. The client is having difficult to ensure information across Salesforce is in sync in Xero rather than to maintain both instances manually.



Purpose To establish synchronization between Salesforce instance and Xero where opportunities and contacts in Salesforce can be easily synced into Xero.
Applications Saleforce
Tool RIO Salesforce-Xero Sync
Information Salesforce Account (Xero Billing Contact) > Xero Contact
Salesforce Opportunity > Xero Invoice
Salesforce Opportunity’s Account (Xero Billing Contact) > Xero Contact
Xero Invoice PDF > Salesforce Opportunity’s attachment
Data Formats XML
Volumes ~500/day
Process When the “Sync to Xero” button is clicked in an Account screen the Account and Xero Billing Contact data and synchronised to Xero.
When the “Sync to Xero” button is clicked in an Opportunity the Opportunity, related Account and Xero Billing Contact data are all synchronised to Xero.
Schedule Real-time
Complexity Medium


Wedid: Salesforce – Microsoft Dynamics GP Integration (Purchase Order acquisition)


Customer has implemented the Purchase Order and approval process in Salesforce. The approved Purchase Order will be synchronised to Microsoft Dynamics GP for further processing (e.g, shipment, payment).



Purpose To sync the purchase orders that have been approved from Salesforce to Microsoft Dynamics GP.
The supplier details will be synchornised to Salesforce
Applications Microsoft Dynamics GP
Tool Boomi
Information Microsoft Dynamics GP Creditor > Salesforce Account
Salesforce Purchase Order > Microsoft Dynamics GP Purchase Order
Data Formats eConnect/XML
Volumes ~100/day
Process When a creditor is updated in Dynamics GP, it will be updated to Salesforce Account
When a purchased order is approved in Salesforce, it will be synced to Dynamics GP together with the shipping and billing address.
Schedule 15 mins
Complexity Medium


Salesforce CRM and Student Management System Integration (JobReady)


Operating RTOs would ideally love to have a tool to equip their existing student management and at the same time allow them to work around the compliance and claiming side of business. However, for companies who choose to have separate applications for the reason of fully utilising the capability of each application (CRM, SMS), may have discrepancy of data which is not scalable between the two applications.

Some of the more obvious discrepancy are:

1. Student record is tracked within CRM
2. Course detail is tracked within CRM
3. Student enrolment is tracked within CRM
4. Delivery is tracked within SMS
5. Student attendance is tracked within SMS
6. Compliance data for reporting is gathered in SMS



Purpose To synchronise account, student contact, enrolment, course, course delivery, attendance between Salesforce CRM and Student Management System (JobReady)
Applications Salesforce
Versions Salesforce
Tool Boomi
Information Salesforce Account > JobReady Party (Employer)
Salesforce Student Contact > JobReady Party (Person)
Salesforce Course > JobReady Course
Salesforce Session > JobReady Session
Salesforce Student Enrolment > JobReady Enrolment
JobReady Attendance > Salesforce Student Attendance
Data Formats XML
Volumes ~100/day
Process When the enrolment is created or updated in Salesoforce, the associated student contact and account and the selected course sessions will be created in JobReady.
When course is created or updated in Salesforce, it will be synchronised into JobReady as course.
When the attendance is updated in JobReady, it will update the Salesforce student attendance.
Schedule Daily
Complexity High


Salesforce and Micronet Integration


The customer is a coffee roasting company who also sell different types of coffee making equipment to their customers across Australia. Currently, they are using Micronet system to track their customers and the equipment that the customers have purchased.
Now, they have purchased Salesforce and they would like to have the existing customers and equipment data that they have in Micronet to be populated into Salesforce automatically for reporting purposes. This also allows their Coffee Support Manager to have better accessibility where they can access all this information through smartphone and tablet when they are visiting their customers.


Purpose Daily data update from Micronet into Salesforce to ensure that the data in Salesforce is up-to-date.
Applications Salesforce
Tool Talend
Information Customer data
Equipment data
Customer Payment data
Data Formats CSV and Micronet ODBC
Volumes ~500/day
Schedule Real-time/Hourly/Daily
Complexity Low

Salesforce-XPLAN Integration


All investors information such as their investments, distributions, etc are all kept in Salesforce. The Adviser is unable to access this information via XPLAN.




Purpose Daily data feed from Salesforce to XPLAN so that Advisers can access to investor information.
Applications Salesforce
Tool Talend
Information Customer data
Investment data
Distribution data
Historical unit price data
Data Formats XML
Volumes ~2000/day
Schedule Real-time/Hourly/Daily
Complexity High (due to data quality)


Talend tSalesforceOutputBulkExec Component

Salesforce supports cascading update and insert function by using reference key. In Talend, we can perform the cascading UPSERT function by using tSalesforceOutputBulkExec or tSalesforceOutput components. The benefit of using this function is to reduce the API call from Talend to Salesforce. Imagine the number of calls to make if there are millions of record for data migration.In order for us to use this function, we need to have an external Id.
For example, when we upsert a Contact record and want it assigned to an Account record, all we will need to do is pass in the Account External Id. This will help to find the related Account record and assign it back to the Contact via the lookup field.
Now, let’s try to upsert some sample Contact records into Salesforce.
As you can see, there is a column called as accountId which is the Account’s external Id. Later in the Talend process we will use this value to perform cascading upsert function.
Before the following process, the Account.csv has already been preloaded. Below is the sample upsert job in Talend.
Below is the mapping result:
How to Configure:
In the tSalesforceOutputBulkExec component, select the ‘Advanced Setting’. Now focus on the ‘Relationship mapping for upsert’ column.
In the ‘Column name of Talend Schema’, select the external id value from the map. In our case, the AccountId from the contact profile(from the mapping) will be the external id. Secondly, the ‘Lookup field name’ is the lookup field between the Contact and Account objects in the Salesforce. Hence, it will be the Account field in Contact object. Do not be confused by the ‘External id name’ as it indicates the external id in Account object, not the Contact object. Below is the complete configuration:
We are finally done. Check out the results!