lam.asyncExecute
Learn more about the asyncExecute keyword
Functionality
The asyncExecute
keyword executes each specified workflow in parallel. Unlike lam.execute
, this keyword runs workflows asynchronously and does not block the current workflow's execution.
Invocation
Data transformation must output:
{
"lam.asyncExecute": [
{
"lam.workflowId": 39,
"lam.payload": { /* payload data */ }
}
]
}
Key
Description
Type
asyncExecute
The workflows to execute with a payload
Array<{ workflowId, payload }>
workflowId
The workflow ID to invoke asynchronously
Integer
payload
The payload to pass to the workflow
Object
Examples
(payload) => {
const { input } = payload;
const { Recipient, PackagesInfo } = input;
const packagePayloads = PackagesInfo.Packages.map(pkg => ({
"lam.workflowId": 39,
"lam.payload": {
address_1: Recipient.Address1,
address_2: Recipient.Address2,
EXT_FIELD_first_name: Recipient.Firstname,
EXT_FIELD_last_name: Recipient.Name,
EXT_FIELD_email: Recipient.Email,
EXT_FIELD_phone: Recipient.Tel,
EXT_FIELD_weight: pkg.Weight.Value,
custom_user_fields: [
{ order_custom_field_id: 1852 }
],
address_city: Recipient.City,
address_state_id: Recipient.CountryStateCode,
address_country_id: Recipient.CountryCode,
address_zip: Recipient.PostalCode,
tracking_number: pkg.PreAssignTrackingNumber.TrackingNumber
}
}));
return {
"lam.asyncExecute": packagePayloads
};
}
In this example we map an array of packages to the
asyncExecute
keyword. Laminar will then invoke workflow 39 with each individual payload in parallel.
Last updated
Was this helpful?