Here at Salytics, we often talk about integrating Marketo or Eloqua with Salesforce but for us, that is just where the integration begins. We look to integrate all of your platforms and this story about a client of ours really helps paint that picture. Our client had two different web based storefronts (Shopify & Chargify) they wanted to integrate into their Salesforce sales process. First the information from each of their stores was to be sent automatically into Salesforce and be associated with the customer’s account record. Next, a trigger was needed to start the order and invoice process in Great Plains which also required a connection to Salesforce. Finally, email notifications had to be sent, following the order being processed.

In some cases we will custom develop a connection between systems, however when people do great work, we aren’t about to duplicate it. In this case, we were able to use a 3rd party integration tool to connect the two storefronts into the Salesforce instance. We configured the 3rd party integration tool for receiving from the web stores, and setup the Salesforce link and opportunity object creation.

Within Salesforce we wrote a custom trigger method on the opportunity object to act only on the presence of data within a marker field that only the 3rd party integration tool was set to populate. The trigger would use the base opportunity information coming from the 3rd party tool to find the correct product within salesforce and attach it to the opportunity. The opportunity would then be marked closed/won.

We wrote another trigger method to act when an opportunity is marked closed/won with the populated marker field. A new sales order object would be created and left as open, before calling out to Great Plains for invoice generation on the sales order.

A third trigger method was created to handle the callback from the 3rd party system for post-invoice processing. The trigger would handle sending out email notifications to team members that would need to act on the order and invoice.

Coolest Part?

All triggers were designed to act only in specific circumstances to avoid having the custom functionality run when the core sObjects were used elsewhere. This avoids conflict with any other future custom code or processes, and also avoids needless contribution towards salesforce governing limits on any given action for the sObject.


The system was a success, and we were able to automate the sales process for our client by integrating their systems to meet their needs.

Have some software you’d like to integrate? We’d love to chat!

Tools Used:
Great Plains