Simplifying data mapping and data transformation with AI-powered suggestions

When you add a node to a flow in an App Connect Designer instance in a containerized environment, you can use artificial intelligence (AI) features to help with your mapping and transformation use cases.

Mapping Assist provides the following features:

  • The mapping assist feature generates smart suggestions that are the best matches for the target fields.
  • The incremental learning feature periodically retrains an artificial intelligence (AI) model to improve the degree of accuracy of suggested mappings.
  • The transformation generator feature uses supplied sample data or drop-down values to construct complex transformations that let you easily map source data to target data.
Availability: Mapping Assist can be enabled only for a Designer instance of IBM® App Connect in containers. Mapping Assist is available for use in the flow editor only if the feature was enabled when your App Connect Designer instance was created.

About mapping assist

Mapping assist uses a pre-trained algorithm and mapping histories to suggest mappings for the fields in the nodes that you add when building a flow. Mapping suggestions are generated as soon as you add a node to a flow, and these suggestions identify output from previous nodes in the flow, which could possibly serve as input for the fields in the current node.

Above the filter bar, suggestions of the best possible matches (top suggestions) are indicated with a count (N suggestions), which identifies the total number of fields that will be populated with mappings. These top suggestions are estimated to have an 80% or higher level of accuracy or relevance, and, with a click, can be automatically inserted in inline preview mode into fields for review before being accepted.

Initial view of the count of top suggestions

In any fields that remain unpopulated, you can click to check for suggested mappings. If found, these mappings are shown in a Suggested mappings list, which displays up to five suggestions with assigned percentage matches with a 30% threshold. For each mapping, the field hierarchy identifies the origin of the content, such as the application or node name, action, and object; for example, Salesforce/Retrieve contacts/Contacts, Request/Request body parameters/Object and For each: Parsed CSV row.

Simple one-to-one field mapping
Availability: Mapping suggestions can be generated only for the following types of nodes within a flow:
  • Application (connector) nodes for actions
  • Response node (Supported only on App Connect Designer 12.0.4.0-r2 or later)
  • Set variable node (Supported only on App Connect Designer 12.0.5.0-r3 or later)


Techniques applied for matching

To identify matches, mapping assist uses a pre-trained algorithm that applies fuzzy matching and semantic rules, as well as mapping histories that are stored for started flows.

Mapping assist algorithm techniques for estimating matches

The mapping assist algorithm currently provides mapping suggestions for simple (unnested) fields, and navigates parent hierarchy structures to suggest the best possible matches for nested fields.

Mapped nested fields

For nested array fields, mapping assist returns suggestions as follows:

  • Mapping suggestions are generated for exact schema matches, where the source array and destination array (schema structure and field names) are identical. For example, this would apply if you wanted to transfer data across two separate instances of an application for which you had set up separate App Connect accounts.
    Mapped array fields for exact schema matches
  • Mapping suggestions are also generated for an array of complex fields by using artificial intelligence (AI) modeling to identify the best possible matches that can be automatically inserted as top suggestions, or manually inserted at a field level.
    Mapping suggestions for complex array fields

If an action has multiple fields with the same or a similar name, a mapping that is identified as a top suggestion will be automatically inserted only into the field that is deemed to be the closest match. For example, if there are two fields called Email and Email adress, an Email mapping suggestion will have a higher level of accuracy associated with the Email field, and will be auto-inserted into that field only. If you want to populate any of the other fields with the same mapping suggestion, you must manually insert that mapping into the field.

The data types of the fields are also considered when suggesting matches; for example, source and destination fields with identical names, but different data types, are not considered a match. In the following example where JSON schema has been generated in the CSV parser, no mapping will be suggested for the Catalog ID integer field (123) because the source Catalog ID field in the generated schema is set to a string data type. If changed to integer, a suggested mapping with a 100% rating is expected between these two fields.

Simple one-to-one field mapping
Mapping history techniques for estimating matches

App Connect Designer instances in which Mapping Assist is enabled will collect and store your mapping data in an internal database by tracking the mapping history of any flow that you start. The sole purpose of the data collection is to preserve mapping selections between source and destination nodes so that they can be learnt and presented as future mapping suggestions that reflect your personal preferences.

For example, if you have a started flow that includes an Insightly/Create lead/First name (destination) field, which is populated with mapped content from a Salesforce/Retrieve contact/First name (source) field, this mapping is preserved and will be suggested with a 100% rating in any future flows that you develop with these two applications if the same actions and node order apply.

The following rules apply:

  • Mapping histories are stored for one-to-one field mappings between nodes.
    Simple one-to-one field mapping
  • Mapping histories are also stored for mappings that include multiple field selections, transformations, or JSONata functions. For example:
    Multiple field mappings
    Transformation field mappings
    JSONata field mapping
Note: The information collected by mapping assist is not used by any other App Connect Designer instance, or in any other capacity by IBM, and the mapping histories will be deleted when your App Connect Designer instance is deleted.

Applying mapping suggestions with mapping assist

If Mapping Assist is enabled, when you add a node to a flow, you'll see a Generating suggestions message (briefly) above the filter bar.

Generating suggestions for mapping assist

After all the potential mappings are discovered, the top N suggestions are shown next to a View suggestions link. (If multiple mappings with matching ratings of 80% or higher are discovered for the same field, those mappings are excluded from the top suggestions count to enable you to choose the best match. You can manually inspect these mappings and make a choice as described later.)

Total suggestions

To auto-populate the fields with the top suggestions, complete the following steps:

  1. Click View suggestions to switch to inline preview mode, which inserts a preview of the suggested mappings into the matching fields. The remaining unpopulated fields are shown in a disabled state.
    Fields populated with suggestions
  2. Examine each of the preview mappings to verify that the mapping is suitable for your requirements.
    • If unsuitable, you can clear the mapping from any field by clicking the Clear suggestion icon (x), and will be able to manually populate the field later with your preferred choice.
      Inserted inline preview with the Clear suggestion icon
      Tip: You can hover over each mapping and then check the tooltip to verify that the inserted data from the specified node is your preferred match.
      Checking the value for an inserted mapping

      When you clear a suggestion, the mapping is removed from the field, which also then becomes disabled.

    • To exit from the inline preview mode without accepting any of the top suggestions, click Cancel.
      Cancel out of inline preview mode

      The initial view of top suggestions is displayed again.

      Initial view of top suggestions
  3. To accept the preview mappings (and exit the inline preview mode), click Apply N suggestions, where N represents the count. Those fields are populated with the top suggestions and the remaining fields remain blank.
    Apply suggestions to populate fields with top suggestions
    Note: If multiple mappings with matching ratings of 80% or higher are discovered for the same field, that field will not be auto-populated. You will instead be expected to manually inspect such mappings to determine the best match for the data that you want to map, as described later.

If you want to replace the mapping for a top suggestion after it's inserted in a field, you can do so as follows:

  1. Delete the mapping from the field. (When you delete the mapping, notice that its top suggestions count (N suggestions) is redisplayed, and you can auto-populate the field again by clicking View suggestions and Apply N suggestions. If you choose to add your own preferred mapping as described in the following steps, the count is removed and View suggestions is disabled.)
  2. Remove the focus from the field and then click within the field again to display the Suggested mappings list. Alternatively, click the Insert a mapping icon Insert a mapping icon to open the Available mappings list and then click Suggested mappings. Then choose another mapping as follows:
    1. Inspect the mappings and then choose any one that you prefer. (You can view the percentage matches of these mappings by hovering over the rating icon Rating icon.)
      Checking the rating for a suggested mapping
    2. If you would prefer to choose from a wider range of mappings, click All mappings to switch to the Available mappings list, which displays all mappings from all the previous nodes in the flow. Expand the sections to locate and select your required mapping.
      Tip: From the Available mappings list, you can switch back to the Suggested mappings list by clicking Suggested mappings.
      Available mappings list

In any remaining fields that were not automatically populated, you can manually insert mappings into each field as follows:

  1. Click within the field.
  2. If suggested mappings are available for this field, the Suggested mappings list is immediately displayed. These mappings fall into two categories, and you can make a selection as follows:
    • Multiple mappings with the same percentage match: Inspect any such mappings to decide on the best match and then click the mapping that you prefer.
    • Mappings with individual percentage matches of 30% or higher: Inspect such mappings to decide on the best match and then click the mapping that you prefer.

    If you prefer to choose from a wider range of mappings, you can click All mappings to switch to the Available mappings list.

  3. If no suggested mappings are discovered for this field, click the Insert a mapping icon Insert a mapping icon to open the Available mappings list and then select your required mapping from one of the sections.

If no top suggestions are discovered for an action or node, or if suggested mappings are not discovered for any of the fields, the initial Generating suggestions message is replaced by a grayed-out View suggestions link when the discovery process completes.

Grayed-out View suggestions link

For either of these cases, you must manually select mappings by clicking within the fields:

  • If suggested mappings are available, you can use the Suggested mappings list to inspect and select mappings.
  • If no suggested mappings were found, you can use the Insert a mapping icon Insert a mapping icon to choose a mapping from the Available mappings list. Note that the Suggested mappings link will be grayed out in this list.
    Grayed-out Suggested mappings link
Tip: If an error is displayed because suggestions cannot be generated, see Troubleshooting mapping assist in App Connect Designer for help in resolving the error.

Fine-tuning suggested mappings with incremental learning

Availability: Incremental learning is available only if the Mapping Assist incremental learning feature was enabled when an App Connect Designer 12.0.1.0-r1 or later instance was created.


Incremental learning uses AI modeling techniques to periodically analyze the source-to-target mapping preferences in an App Connect Designer instance and memorize patterns that can be used to offer helpful suggestions for previously untried source-to-target mappings.

A base AI model is supplied for your App Connect Designer instance, and every 15 days or once a month (as configured for your instance), mapping preferences are collated as training data and used to retrain the model. Only simple mappings such as one-to-one field mappings between nodes are included in the training data. Complex mappings are discarded. The iterative training is used to incrementally build a personalized model for your Designer instance over time. As new mapping insights are learnt, fine-tuning occurs to improve the degree of accuracy of the suggestions that are offered when you build flows.

Transforming data with the transformation generator

Availability: Data transformation is available only in an instance of App Connect Designer 12.0.1.0-r1 or later.


When mapping fields in a flow, if your source and target data formats or drop-down values do not match, you can use the transformation generator to help you construct JSONata expressions for your mappings.

The following transformations are supported:

  • Pattern transformation:

    Use this transformation to change the format of source data that is passed to a target application if the source and target data formats do not match.

    For example, if a source application requires dates to be in the format DD/MM/YYYY, but the target application requires MM/DD/YYYY, you can provide sample data of the source and target formats, and then use the transformation generator to generate a JSONata expression for the "source" mapping in the target field. Similarly, if a source application requires names to be in the format Firstname Surname and the target application requires Firstname SURNAME, the transformation generator can construct a JSONata expression by using samples that you provide.

  • Enum transformation:

    Use this transformation to define how to map source and target drop-down values that do not match, to ensure that appropriate values are passed to the target application.

    For example, if the source and target applications offer varying values for a Priority drop-down list as shown in the following table, you could choose to map the source and target values as follows: High:Urgent, Medium:Normal, and Low:Low. You can then use the transformation generator to generate a JSONata expression for the "source" mapping in the target field.

    Source application Target application
    • High
    • Medium
    • Low
    • Urgent
    • Normal
    • Low

If you are creating a flow and have applied top suggestions to auto-populate the fields for an action with mappings from previous nodes, you can manually insert mappings in the remaining fields and then apply transformations to the populated mappings as required.

Completing pattern transformations

If a text field is populated with a single mapping from a top suggestion or from the Suggested mappings or Available mappings list, but the data format of the "source" mapping does not match the data format of the target field that is populated, you can generate a JSONata expression to define how the source data should be presented in the target application.

To map the source and target data formats, complete the following steps in the version of Designer that you are using:

  • Applicable to App Connect Designer 12.0.5.0-r1-lts or later:
    1. Click the relevant "source" mapping within the target field and then click Generate transformation from the pop-up menu.
      Generate transformation menu option

      The "Generate transformation for SourceFieldName" panel opens with five blank source and corresponding target fields that you can use for mapping data formats. When this panel opens, an attempt is made to discover data from existing records in the source and target applications, so that this data can be used to populate the source and the target fields with examples. A Populate using retrieved data link is displayed above the left (source) column if data is discovered in the source application for the connected account.

      Generate transformation panel for pattern transformation with a "Populate using retrieved data" link for inserting discovered data
    2. Provide examples of source and target data formats as follows:
      • If data is discovered in the source application (as indicated by the Populate using retrieved data link), click this link to populate the fields in the left column with a random sampling of unique examples from the source application. If fewer than five examples are discovered, manually specify similar examples in any source fields that are left blank.
        Generate transformation panel for pattern transformation with the fields populated by the "Populate using retrieved data" link
        • If data is additionally discovered in the target application, this data is analyzed to identify various formats; for example, lowercase or uppercase formats. The source examples in the left column are then used to generate target examples for the discovered formats. Up to five formats can be shown within individual tabs (numbered 1 to 5) above the right (target) column. A Copy from source tab is also shown as the last tab. You can either click a numbered tab to display generated target examples for a specific format, or you can click the Copy from source tab to add a copy of the source examples as target examples. You can also edit the examples if required.
          Generate transformation panel for pattern transformation with numbered tabs and a "Copy from source" tab
        • If no data is discovered in the target application, the fields in the right column remain blank, but a Copy from source link is displayed. You can click this link to add a copy of the source examples as target examples, and can edit the values as required.
          Generate transformation panel for pattern transformation with a "Copy from source" link when no target data is discovered

      • If no data is discovered in the source and target applications, a Populate using retrieved data link is not displayed. A Copy from source link is shown as initially disabled.
        Generate transformation panel for pattern transformation with a disabled "Copy from source" link when no source or target data is discovered

        In the left column, manually specify at least five examples for the source field. (The Copy from source link becomes enabled after you add the first entry.) Next click Copy from source to add a copy of the source examples as target examples, and then edit the target examples if required. If you prefer not to copy the source examples, you can instead just manually specify target examples in the preferred format.

      Tip:
      If you decide to manually specify examples:
      • Ensure that an identical data format is used for all the source field examples. Similarly ensure that an identical data format is used for all the target field examples.
      • Ensure that there is a completed example for each source/target pair of fields.
      • Ensure that each example is of the expected data type. For example, use a date format if the source and target fields are used to present dates.

      To add more examples, click Add row. You can also delete examples, but must ensure that at least five completed source/target pairs are provided in order to enable the Generate transformation link.

    3. Click Generate transformation to generate a JSONata expression that represents your selections.
      Generate transformation panel with JSONata expression
    4. Click Insert transformation to insert the JSONata expression into the target field.
      Target field populated with generated JSONata
  • Applicable to App Connect Designer 12.0.4.0-r2 or earlier:
    1. Click the relevant "source" mapping within the target field and then click Generate transformation from the pop-up menu.
      Generate transformation menu option

      The "Generate transformation for SourceFieldName" panel opens with five blank source and corresponding target fields that you can use for mapping data formats.

      Generate transformation panel for pattern transformation
    2. In the left column, provide at least five examples for the source field by typing in values, and then add examples in the right column to show the preferred format for the target field.
      • Ensure that an identical data format (or pattern) is used for all the source field examples.
      • Ensure that an identical data format is used for all the target field examples. To complete a target example, copy and paste the corresponding source format example and then edit the format as required.
      • Ensure that there is a completed example for each source/target pair of fields.
      • Ensure that each example is of the expected data type. For example, use a date format if the source and target fields are used to present dates.
      • To add more examples, click Add row. You can also delete examples, but must ensure that at least five completed source/target pairs are provided in order to enable the Generate transformation link.
    3. Click Generate transformation to generate a JSONata expression that represents your selections.
      Generate transformation panel with JSONata expression
    4. Click Insert transformation to insert the JSONata expression into the target field.
      Target field populated with generated JSONata
Completing enum transformations

If a drop-down field is populated with a single mapping from a top suggestion or from the Suggested mappings or Available mappings list, and the drop-down list values for the inserted "source" mapping do not match the drop-down list values for the target field that is populated, the following notification is displayed under the target field:

SourceApplication has different values for SourceFieldName

Generate transformation link below a field

To map the drop-down values for the source and target fields, complete the following steps:

  1. Click the Generate transformation link to open the "Generate transformation for SourceFieldName" panel. The drop-down values for the source field are listed in left column, and the right column contains corresponding drop-down lists that are populated with target values.
    Generate transformation panel for enum transformations
  2. Use the target drop-down lists to map an appropriate target value to each source value.
  3. Click Generate transformation to generate a JSONata expression that represents your selections.
    Generate transformation panel with JSONata expression
  4. Click Insert transformation to insert the JSONata expression into the target field.
    Target field populated with generated JSONata



Disclaimer: You are responsible for any example data (including any personal information) used for, and any decision to proceed with, any automated flows which are suggested for your convenience when IBM App Connect is used. IBM has no responsibility for any such automated flows and IBM warranties and support will not apply to them; they are used at your risk. IBM might periodically modify the underlying learning models in App Connect through updates, fixes, or patches in order to improve App Connect performance.