Contributors: Saptarshi Misra, Dhiraj Kumar Mishra
Mapping Assist introduces Artificial Intelligence (AI) capabilities in IBM App Connect to accelerate the speed of development, shorten time to value and improve overall user experience by providing intelligent data map suggestions.
We have frequently encountered users using a subset of connector endpoints and similar mappings repeatedly in multiple flows. In order to make it convenient for these users, we add these user preference based mappings to the flow history.
In some cases, a user might choose to perform some data transformation function, for example, converting the field to lowercase or performing a substring operation. Once the user creates these complex mappings, the next time the user builds a similar flow, these suggestions selected by them will be displayed as the top suggestions for those fields with a prediction confidence of 100%. Mapping Assist supports both simple expressions (source fields of user’s choice) and complex expressions (modified source field suggestion for a particular target field).
Now, lets demonstrate this with an example use case.
Below, we show an AppConnect flow with IBM Watson Tone Analyzer Get tone analysis, Salesforce Retrieve accounts and Microsoft 365 Retrieve contacts as the source connectors and Netsuite ERP Create account as the target connector to be populated with the Mapping Assist suggestions.
Fig. 1: Example flow to demonstrate the ‘user preferences’ feature of Mapping Assist
Next, for a particular field ‘Internal id’ in the target, how the field level suggestions are displayed from Mapping Assist is shown.
Fig. 2: Mapping. Assist field level suggestions
Now, some of the target connector fields are populated with modified suggestions or suggestions of our choice. Mapping Assist stores simple fields (example – Last Modified ID) as well as all forms of simple and complex jsonata expressions (example - $lowercase(Account ID)) and multiple source field based jsonata expressions.
Fig. 3: Saving user preferences
Now, we show the actual contents of one of the complex jsonata expressions saved as a user preference mapping in Fig. 4. We can see these details if we click on the expression and select ‘Edit expression’.
Fig. 4: Contents of a complex jsonata expression
Next, we run the above flow using the ‘Start Flow’ option. This saves the user choices in the database.
Then, we create a similar flow as Fig. 1. Now we see the top suggestions for our selected fields coming from user preferences. ‘View Suggestions’ mode shows these suggestions. We can apply all to select all these suggestions or individually remove any of those suggestions if we dislike them.
It has to be noted that the user preference selected from the Request object will not be saved, as that is expected to be flow specific.
Fig. 5: Retrieving user preferences
The field level suggestions for the user preferences are displayed in the following manner.
Fig. 6: Displaying complex user preference mappings after retrieving
The user selected ‘Last Modified ID’ as the suggestion of their choice instead of the top suggestion field ‘Account ID’ coming from Mapping Assist for the target field ‘Internal ID’, as shown in Fig. 2. Fig. 7 shows how the original Mapping Assist suggestions gets changed based on user choices for the field ‘Internal Id’.
Fig. 7: Individual top field suggestion gets modified based on user preference