All posts by tcheah

We Did: WordPress WooCommerce and Netsuite


Customer is hosting a website where visitor are allow to register and login. Visitor and existing users are allow to make purchase through the website too but the transactions and payment would need to be tracked through Netsuite.


Purpose To sync product, website users and sales transaction between website (WordPress WooCommerce) and Netsuite
Applications WordPress (WooCommerce)
Versions WordPress
Tool Boomi
Information Netsuite Non-Inventory Sales Item > Woocommerce Product
Woocommerce User > Netsuite Customer
Netsuite Customer > Woocommerce User
Woocommerce Orders > Netsuite Sales Order
Netsuite Sales Order > Woocommerce Orders
Data Formats JSON and XML
Volumes ~100/day
Process When customer register a login through website, customer information needs to be stored in Netsuite as well. When a items are added and maintained in Netsuite, the product needs to be made available in the website for people to purchase. And when customer make a purchase through website, the transaction needs to be in returned tracked in Netsuite for shipping and reporting purposes.
Schedule Every 2 minutes
Complexity Medium

Triggering Salesforce Workflow/Process Builder when record is deleted

As of to date, Salesforce does not provide an object’s isDeleted flag as a filter criteria through workflow rule or process builder. This may lead to the option of utilising Apex Triggers if a requirement is to perform certain action when a record is deleted.

However, triggering a process builder/workflow is still possible when a record is deleted. Please consider the following criteria prior to designing your workflow or process builder in this case:-

  • the target object (to update field or to do something about it) is a parent to the deleted record
  • the target object and the deleted record is in master-detail relationship
  • the target object has capacity for additional roll-up summary field

Take Account-Opportunity for example. You may want to perform an action (i.e. update a field, send email alert, etc.) on the account where when one of its opportunity is deleted. As an alternative to utilise Apex Triggers, following are the steps that you may consider as a workaround to utilise Salesforce workflow/process builder instead:

  1. Create a roll-up summary field in account that counts the total opportunities which the account belongs to. In this example, we call it “Total_Opportunities__c”
  2. Define a workflow or process builder and utilise the evaluation criteria of “created, and every time it’s edited”
  3. Use the rule criteria of “Formula evaluates to true”
  4. Compile a formula which compares if the current “Total_Opportunities__c” is lower than the priorvalue. For example ${the_Roll_Up_Summary_Field} < PRIORVALUE(${the_Roll_Up_Summary_Field})
  5. Followed by the intended actions at the parent level

WEDID: Boomi Advanced User Security


Customer has the requirement to restrict Boomi login users to have certain privileges when performing development and/or monitoring the processes logs. For example, a developer should not be given privilege to see production logs but he/she is allow to at least perform development as well as viewing logs/data processes deployed in a non-production environment.


Purpose Create more restrictive privileges for different Boomi login users of an account.
Applications Dell Boomi Atomsphere
Tool Dell Boomi Atomsphere
Information Enable the Boomi Advanced User Security feature. This allows creation of custom roles with combination of different privileges. Assign the different custom roles setup to the appropriate user as well as assigning the respective custom roles to only the environment which the user is allow to see.
Complexity Low

Boomi: Handling Additional Parameters when extending OAuth 2 details

Boomi allows extending OAuth 2 details for example in a HTTP Client Connector.


When defining the connection details in the development mode, you are allow to build the Authorization and Access Token URL with additional parameters via the “Add Authorization Parameter” and “Add Access Token Parameter” section:


There is no way to extend the additional parameters portion as of today.

An alternative approach is to consider building the parameters directly through the “Authorization Token URL” and “Access Token URL” directly instead.

For example: ${the_authorization_url}?response_type=code&resource=……

In this case, you can then overwrite the parameters through the “OAuth2 Authorization Token URL” and “OAuth2 Access Token URL” in the extension.

This is something to be considered when you are planning to extend the OAuth 2 details for a connector.

Deploying Salesforce Process Builder

You may have developed process builder to streamline your business processes in sandbox and you may want to deploy them into production instances.

Do not panic if you are not seeing the component “Process Builder” or any similar term in the change set you are creating. They are actually grouped together with flows and its part of the component type “Flow Definition”.


Once, the processes are deployed to production just double check if the processes are still active and if it not, activate it if you would like to start use them in your production.

Wedid: Boomi Atom Installation and Processes Transfer


Customer has been using the Boomi Atom Cloud to run their integration processes and would like to shift to an on-premise atom to have better control over the atom configuration.

Customer would have difficulty transferring all the processes into the new production environment as well when the on-premise atom is available.


  • Installed a 64-bit on-premise atom hosted in Linux server
  • Assisted in transferring existing processes into the new production environment
  • Updated the environment extension as well as redefine the integration schedule
Purpose Install on-premise atom and transfer the existing integration process to ensure all processes utilises the on-premise atom instead
Tool Boomi
Complexity Low


Wedid: Sage Saleslogix and Avantgard Integrity Integration


The client is using SalesLogix to handle credit/loan deals. When the deals are approved, the deal (and the deal related information) need to be in return track in the Sungard Avantgard Integrity system



Purpose To sync approved deals from Saleslogix into Avantgard Integrity system.
Applications Sage SalesLogix CRM
Sungard Avantgard Integrity
Versions SalesLogix On-Premise version 8.0.0
Integrity Version 8.4.1
Tool Boomi
Information SalesLogix Deal Roles > Integrity Counter Party
SalesLogix Deal Roles > Integrity BU Exposure Limit
SalesLogix Deal > Integrity Agreement
SalesLogix Deal > Integrity Facility
SalesLogix Deal Tranches and Fees > Integrity Tranche, Fee and Covenant
Data Formats JSON and XML
Volumes ~100/day
Process When a SalesLogix Deal (Custom) is approved, it in return creates an agreement in Integrity. All children information from deal such as contact roles, tranches and fees will create a corresponding Integrity record respectively as well.
Schedule Every 2 minutes
Complexity Medium


Salesforce Community: Self Registration Considerations

Salesforce Community provides self registration feature so that external user could register for a login if require.


If you are interested to enable this option (From Setup, click Customize | Communities | All Communities, then click Manage next to the community name.), consider if your business require the person account feature so that a self registered personnel will be tracked as a person account in Salesforce.

If person account is not an option for you, you would need to consider implementing a dedicated account being used so that all self registered personnel will be treated as a contact under this specific account instead.


It is also recommended to ensure the profile that you are assigning to for self registered members have the appropriate permission set. Otherwise, the members may be able to view or edit data that you do not want them too.

Happy testing!

Wedid: Inventory Reconciliation Report (CSV format)


Client requested for a report to outline the discrepancies between the inventory items between the warehouse management system (SCALE) and the ERP system (Netsuite). Both stock list will be uploaded to FTP server based on the schedule set. And in return, a report in CSV format is require to outline the items’ quantity from both system as well as the variance between the quantity on hand.



Purpose To produce a daily Inventory Reconciliation Report that outline the variance between 2 systems’ item quantity on hand.
Applications FTP
Versions FTP
Tool Dell Boomi Atomsphere
Information SCALE Stock List File (FTP) + Netsuite Stock List File (FTP) > Inventory Reconciliation Report (FTP)
Data Formats Flat File
Volumes ~20000/day
Process Both stock list files are retrieved from the FTP server daily which then they will be processed to generate a csv format reconciliation report.
Schedule Daily
Complexity Low


Wedid: Teradata and Salesforce Integration


Client is managing support cases and work orders through Salesforce. They would like all entries and its children records to be tracked in Teradata as well.



Purpose Sync any records updates from Salesforce into Teradata
Applications CRM
Versions Salesforce
Tool Boomi
Information Salesforce Case > Teradata Tables
Salesforce Custom Object (Work Orders) > Teradata Tables
Data Formats XML
Volumes ~500/day
Process Salesforce Case (and its related record such as Account/Contact/Product) will be created or updated into Teradata respective tables.
Salesforce Work Orders (and its related record such as Customer/Product/Warranty) will be created or updated into Teradata respective tables.
Schedule Hourly
Complexity Medium