Skip to main content
Traditionally, doing these customized, per-client integrations in house involves:
  1. Defining mappings with the customer on a call (usually in a spreadsheet)
  2. Tooling/Setup to input those customizations in the system
  3. Engineering support for non 1:1 field mappings (ex. “Full Name” —> “first_name” “last_name”)
With iPaaS, application developers often have an even greater challenge. iPaaS traditionally have been built to create templates that cater to the “vast majority” of your customer integration use-cases. But what about when there is no “majority” to cater to? Alloy’s installation Manager allows you to securely requisition client credentials, build on their customized data, and launch integrations with per-customer customizations. Let’s see how.

Base Workflows

First, determine the conceptual architecture for the integration you want to offer, we’ll use an Order Sync as our example To enable a Full Order Sync, we’ll want to
  1. Fetch historical Orders
  2. Listen for New and Updated Orders
  3. Write data back to the ERP (like a tracking number after shipment)
All customers will haver this same high-level data flow, though it’s likely with ERP customers they may have Custom Objects, Custom Fields, or require additional logic such as filtering or conditionals that need to be handled during onboarding.

Retrieving/Receiving Data from 3rd parties (Netsuite)

In this example for Fetch Historical Orders, the initial flow has a Stop Workflow block. Since each Netsuite user has unique Purchase Order fields, we’ll want to do that mapping per-customer, so it doesn’t make sense to proceed til we’ve built that out.
BaseWorkflows
Now we release this workflow, and a user installs it
Netsuite_install
The installation triggers the workflow, and it stops

Customizing Workflows

After the Netsuite user has connected their account. An integration specialist, business analyst, or an onboarding team member should agree on the mappings between Your Application and their Netsuite Purchase Orders. Here’s a simple example of how that can look
YourAppNetsuite
external_order_idOrderId
vendor.nameSubsidiary.refName
vendor.emailEmail
lineItems[*].skulines[*].ItemSku
lineItems[*].product_namelines[*].Name
lineItems[*].quantitylines[*].Quantity
lineItems[*].unit_costlines[*].Rate
custom_field_1cust_Assigned_Procurement_Rep
custom_field_2cust_ShippingPriority
In practice, you may have more fields than this to map and Ideally you can bake standard fields like OrderId into the default template, then only add the user-specific customizations in the next step. Here’s an example of how we might pre-map some fields into our destination data structure. This is the default workflow the user installs
Custom JSON API Call
We’ve pre-mapped some of the standard fields like external_id and email which are usually standard. lineItems today are handled separately in a custom code block, and we’ve left additional fields blank to be filled in with the User Specific mappings you determine with the end user. Now, let’s customize it according to the mappings in the table for the specific user. Find the installation and workflow for the specific user in Installation Manager.
 Installation Manager
Click into the Initial Sync Workflow and Create New User-Specific Version.
Create User Specific Version
Remove the Stop Workflow Block and fill in the mappings
I