Skip to main contentIntegration   Learning Hub

ACE Designer Demo

Introduction


In a world where disruption is the norm, businesses that harness AI will become industry leaders. On the other hand, we know that Integration is the key step of a successful Digital Transformation journey. But how are you leveraging AI to implement your Integration strategy? Are you creating Integration flows using AI Natural Language Processing capabilities? Are you using AI-powered mapping assistance and data transformation capabilities when designing integration flows?

Focus Corporation, a hypothetical retail company engaged with IBM, is highly motivated to derive more revenue from first-time customers to their online storefronts. Focus has acquired another business and needs to synchronize the contacts between two CRM applications. Data mapping is among the most important design steps in building an integration flow. This design-time task is usually the most tedious, time-consuming, complex, and error-prone because it requires deep understanding of all the data fields on the source and target systems. Building a successful data mapping also requires business analysis, domain expertise, and technical knowledge on both source and target systems.

In the first part of the demo, the Focus team will learn how to use the AI generated flow capability to easily create an event-driven flow to synchronize the CRM solutions. With this new flow, the Focus team will synchronize contact information between the Salesforce and Insightly CRM systems. They will recognize and automatically match fields with high confidence levels. They will also recommend and assist with other fields where there is lower confidence. And the Focus team will generate a transformation across the fields when the field formats are not the same. As they continue to use the Mapping Assist capability it learns from previously accepted matches to raise confidence levels in future mapping efforts.

In the second part, the Focus team will develop an API flow from scratch using a low-code approach. They will learn how easily they can create APIs using App Connect.

In the following demo, the Focus team will learn how to use IBM App Connect to implement an AI powered Integration. Using AI-powered mapping, they can reduce errors and speed integration development.

1. Access the environment

1.1. Access the App Connect Environment

Narration

IBM App Connect is an industry-leading integration solution that connects any of your applications and data, no matter where they reside. With hundreds of prebuilt connectors and customizable templates, App Connect helps users of all skill levels rapidly connect Software as a Service (SaaS) applications and build integration flows.

Focus would like to explore how IBM App Connect will support them to eliminate digital silos to power their business. For this demo, they are using a trial account of IBM App Connect Enterprise as a Service on AWS.



Action   1.1.1.

In your email inbox (that you used to create the App Connect trial account), search for IBM SaaS (A), open the ”Your IBM App Connect trial is ready” email (B).

ace access 1



Action   1.1.2.

Now, click the Access trial button.

ace access 2



Action   1.1.3.

Log in with your App Connect username and password.

ace access 3


1.2. Explore App Connect Enterprise as a Service

Narration

Welcome to IBM App Connect Designer. With App Connect Designer you can easily create and test integrations that connect your applications without the need for coding. Let’s have a look around App Connect Designer.

In the home page, Focus can get started with creating and importing flows.

In the Designer dashboard page, the Focus team will be able to monitor, edit, or delete their flows. They can also create more flows from this dashboard. They will do that, later.

In the Monitor page, they can see CPU and memory usage data for the integration runtimes. Summary data is shown in graphs and tables, and they can drill down to see more detailed data.

In the Catalog page, Focus can list all the applications and APIs and the associated events and actions that they can add to their flows. Here, they can connect App Connect to their application accounts on the catalog tab, or they can choose to connect to them when they create their flows. By now, they already have two connected accounts: Insightly and Salesforce. These connectors were pre-configured, and they are ready to be used.

In the Templates page, Focus can explore the templates gallery, where they’ll find templates that cover a range of cognitive, marketing, sales, support, business ops, e-commerce, and finance use cases.

In the Logs page, they can see recent logs for their integrations and audit activity.

In the Setting page, Focus can connect App Connect to their applications on a private network, to enable artificial intelligence (AI) features, and to generate credentials to access the public API.

IBM App Connect Enterprise as a Service provides App Connect Designer and App Connect Dashboard environments for authoring and running integrations. Each environment provides tools and resources to create and deploy your integrations. You can switch between your App Connect Designer and App Connect Dashboard instances by using the instance switcher on the header.



Action   1.2.1.

If necessary, close the tour dialog (click on Maybe later button). Show the home page and click the Dashboard button on the left menu.

aces aws intro 1



Action   1.2.2.

Show the Designer Dashboard page and click the Monitor button on the left menu.

aces aws intro 2



Action   1.2.3.

Show the Monitor page and click the Catalog button on the left menu.

aces aws intro 3



Action   1.2.4.

Show the Catalog page and click the Templates button on the left menu.

aces aws intro 4



Action   1.2.5.

Show the Templates page and click the Logs button on the left menu.

aces aws intro 5



Action   1.2.6.

Show the Logs page and click the Settings button on the left menu.

aces aws intro 6



Action   1.2.7.

Show the Settings page and click the Dashboard button on the left menu.

aces aws intro 7




2. Create Event-driven flow

2.1. Create the flow

Narration

In an event-driven flow, you identify an event that can occur, which automatically triggers defined actions in one or more applications. An event can be considered as a change or an activity that occurs in an application; for example, a contact is created in Salesforce. An action is an operation that App Connect initiates in an application when a flow runs; for example, contact details are retrieved from Salesforce (so they can subsequently be processed in some way later in the flow).

IBM App Connect supports streamed, polled, and “scheduled” events. An event node for one of these event types is always the starting point in an event-driven flow.

The Focus integration team would like to get contacts from Salesforce and copy them to the new Insightly CRM. Let’s try it!



Action   2.1.1.

Click Create > Event-driven flow.

event flow 01



Action   2.1.2.

Rename the flow to Get contacts.

event flow 02



Action   2.1.3.

Initially, we need to add our integration nodes. Click the second Plus + icon (A). Search for the Salesforce connector (B).

event flow 03



Action   2.1.4.

From your pre-configured Salesforce connector, select Contacts > Retrieve contact.

event flow 04



Action   2.1.5

Next section, you will configure this node. It is time to add the second integration node. Click on the third plus + icon (A) and search for Insightly (B).

event flow 05



Action   2.1.6

From your pre-configured Insightly connector, select Contacts > Create contact.

event flow 06





3. Explore and improve the flow

3.1. Explore the flow

Narration

Here the Focus team can see their initial flow, which initially has a Salesforce integration to retrieve contacts and an Insightly integration to create a new contact. They will use the Designer flow editor to edit and change their flow to add the necessary additional steps.

The connectors are already using the pre-configured accounts. However, they need to do some adjustments to finalize the flow.

First, the Focus team configures the Salesforce node to limit a maximum number of items to retrieve. Here, they can see there is an error message in the Insightly integration. This message is informing the Focus team needs to include the First name field in the new CRM. They will need to map fields between Salesforce and Insightly. They will do it later taking advantage of the AI capabilities from IBM App Connect.



Action   3.1.1.

Click on Salesforce Retrieve contacts node.

explore flow 1



Action   3.1.2.

Click on Process 10 items from the collection.

explore flow 2



Action   3.1.3.

Click on the Insightly Create contact node.

explore flow 3



Action   3.1.4.

Hover the pointer over the red “!” error icon to show the error message “First Name: This field is required”.

explore flow 4


3.2. Add an event to trigger the flow

Narration

In an event-driven flow, you identify an event that can occur, which automatically triggers defined actions in one or more applications. An event can be considered as a change or an activity that occurs in an application.

Now, the Focus team needs to specify the event that triggers the flow. The event might be something that happens in an application, or they might decide to start the flow on a schedule.

This flow will run when it is called from another flow. Because of it, the Focus team selects the Callable flow Input option.



Action   3.2.1.

Click on the initial Plus icon

event trigger 1



Action   3.2.2.

Show the available Applications triggers and open the Toolbox tab.

event trigger 2



Action   3.2.3.

Show the Scheduler trigger and open the Applications tab.

event trigger 3



Action   3.2.4.

Scroll down and select the Callable flow option and click on Input link.

event trigger 4


3.3. 'For each' statement

Narration

Now, we need to add a ’For each’ statement because we need to retrieve all the contacts from Salesforce. For each contact, we need to create a contact in the Insightly CRM. We’ll select the “Salesforce Contacts” object as the object to be processed.

Now, they need to move the Insightly integration to be executed inside the ’For each” loop.



Action   3.3.1.

Click the Plus icon after the Salesforce node.

for each 1



Action   3.3.2.

Then, open the Toolbox tab (A) and select the For each statement (B).

for each 2



Action   3.3.3.

Enter Contacts in the Select the collection of items to process field (A) and select the Salesforce Contacts object (B).

for each 3



Action   3.3.4.

Drag and drop the Insightly node to the For each loop.

for each 4




4. Use the Mapping Assist feature

4.1. View suggestions

Narration

In the Insightly node, the Focus team can manually define the map between the Salesforce and Insightly fields. However, this is difficult because there are lots of fields, and the products will probably have different field names for the same objects.

With Mapping Assist, they don’t need to manually create all these mappings. They’ll use AI to simplify their work! Once Insightly’s ‘Create Contact’ node is added, mapping suggestions are automatically generated. The best possible matches (top suggestions) are presented, which can be automatically inserted into fields with a single click. These top suggestions have an 80% (or higher) confidence score, and the count (20+ suggestions) identifies the total number of fields that will be populated with mappings.

By clicking “Generate or Preview mapping suggestions”, all suggestions with a confidence score of at least 80% are automatically displayed into Insightly’s ‘Create Contact’ node. Note that there are suggestions for simple fields as well as for more complex, nested fields. Mapping Assist uses a pre-trained AI algorithm to provide intelligent, customized data map suggestions. From this interface, they can clear the suggestions, or they can accept and apply the suggestions.



Action   4.1.1.

Open the Insightly Create contact node.

mapping assist 1

Note: If you see an error message when you open the Insightly node, refresh the page or go to the Dashboard page and open the flow again.



Action   4.1.2.

Click Generate mapping suggestions button.

mapping assist 2



Action   4.1.3.

Show the list of suggestions (1) and click Apply suggestions (2).

mapping assist 3


4.2. Resolve warnings

Narration

Mapping Assist’s AI algorithm sometimes finds multiple high-confidence mapping possibilities. When this occurs, we need to decide which mapping we want to accept.



Action   4.2.1.

You may or may not see this situation. When this happens, a warning message is shown. You need to resolve any/all fields where this occurs. In the picture below, there is an issue with the First name field. Delete the field name that is currently mapped to the field with the warning.

Note: If you do not see this warning, move on to step 5.

resolve warnings 1



Action   4.2.2.

Click the selection list icon next to the field (A) and select the mapping option listed with the “For Each” option from the displayed list (B). Repeat these steps for each field that has a warning.

resolve warnings 2




5. Generate a Transformation

5.1. Transform data format

Narration

In some situations, a direct mapping may not be adequate. For instance, the data format of the “source” does not match the data format of the “target” field. In this situation you can generate a JSONata expression to define how the source data should be presented in the target application. JSONata is a declarative open-source query and transformation language for JSON data.

Focus will explore it with the ‘Assistant’s Name’ field. They will use this field in the new CRM to save the “Badge Name”. First they select the Full name field. Then they select “Generate transformation”. The ‘Generate transformation’ panel opens with five blank sources and corresponding target fields that they can use for mapping data formats. They’ll need to provide at least five examples of source and target formats for IBM App Connect to generate the transformation formula.

Using IBM App Connect and the Mapping Assist capability, they were able to easily create a data sync between two CRM solutions without needing to write any code.



Action   5.1.1.

Click on the Assistant name field (A). Delete the current mapping, and click on Insert a mapping button (B), and select the For each: Salesforce Contact/Contact > Full Name (C).

data assist 1



Action   5.1.2.

Click on Transform data format (2).

data assist 2



Action   5.1.3.

On the Generate transformation dialog, enter Michael Jordan as the first source name, and enter M. Jordan under ‘Assistant name’ examples (target). Repeat the same steps to include four more assistants’ names using the same transformation format (for example, Magic Johnson, M. Johnson; Larry Bird, L. Bird; Charles Barkley, C. Barkley; Patrick Ewing, P. Ewing) (A). Click Transform data format (B) and click Insert transformation (C).

data assist 3





6. Test your data sync

6.1. Check the target contacts

Narration

Before the Focus team can start to test their data sync flow, they need to check the contacts that they have available. They just need to open the pre-created Insightly CRM account and see the available contacts before they execute the flow. As they can confirm, they have approximately 20 pre-created contacts, each with pictures. After the test of their flow, they should have two or three new contacts without pictures.



Action   6.1.1.

Open your Insightly page and log in with your lab user and password.

check target 0



Action   6.1.2.

Open your Insightly home page (A). Open the Contacts view (B).

check target 1



Action   6.1.3.

Notice that there are approximately 20 pre-created contacts, each with pictures.

check target 2


6.2. Test the Flow

Narration

The Focus team can test the flow using the IBM App Connect Designer page. They just need to click on the “Test flow” button.



Action   6.2.1.

Back to the App Connect Designer page, click the Test flow button (A), and select Using sample data (B).

test sync 1



Action   6.2.2.

Click Test.

test sync 2



Action   6.2.3.

Click on the View details button.

test sync 3



Action   6.2.4.

Show the Test results dialog with the 200 result and the successful message: “The flow test completed successfully”.

test sync 4



Action   6.2.5.

Click on the Dashboard link on the breadcrumbs to return to the Dashboard page.

test sync 5


6.3. Check the data sync

Narration

Now they can check the new contacts. They should have at least two new contacts. They just need to refresh the ‘Contacts’ page, and here are their new contacts. They can check the contact to see the new ‘Assistant Name’ format.

Great! Everything works as expected.



Action   6.3.1.

Go back to Insightly’s Contacts page and refresh the page.

check sync 1



Action   6.3.2.

Explore the new contacts (without the sample_data tags).

check sync 2



Action   6.3.3.

Click one of the contacts without a picture (A) and show the new format of Assistant Name based on the function we defined in the flow (B).

check sync 3




7. Create flows for an API

7.1. Create Flows for an API from Scratch

Narration

The Focus team learned how easy it is to create an event-driven flows using the AI Generated flow capability. But before moving to the new Insightly CRM, they would like to provide an easy way for current developers to consume the old CRM without need to access Salesforce. Because of that, they would like to see how easy it is to create a flow for an API from scratch on IBM App Connect.

A flow for an API (alternatively referred to as an API flow) contains a request, actions for one or more target applications, and a response. The flow is triggered by calling the API operation such as from mobile and web applications.

The Focus team uses the IBM App Connect Dashboard to create a flow for an API.



Action   7.1.1.

Move back to the App Connect Dashboard page, then click the Create button (A) and select Flows for an API (B).

api flow 1



Action   7.1.2.

Rename the API to Customer API (A), name the model Customer (B), and click the Create model button (C).

api flow 2


7.2. Create properties

Narration

The Focus team starts by adding properties to their Customer model. There will be an ID, FirstName, LastName, and Email. As we can see, they are developing their API based on a model. It’s completely model-driven, and they’ve just modeled their ‘Customer’ object. Next, they’ll design and implement the operation that is related to this ‘Customer’ model.



Action   7.2.1.

In the property name, enter CustomerID and click Add property. Repeat the same steps to include FirstName, LastName and Email (A). Click Operations (B).

create prop 1


7.3. Create operation

Narration

To define how the API interacts with the object, they need to define the operations. First, they will add an operation to create an object. Later, they can improve this model by adding operations to retrieve, update or delete an object. First, the Focus integration team will define the “Create Customer” operation.



Action   7.3.1.

Click the Select an operation to add dropdown (A). And select Create Customer (B).

create oper 1



Action   7.3.2.

Click Implement flow.

create oper 2




8. Implement the flow

8.1. Create contact

Narration

Here the Focus team can see their initial flow, which initially has just a ‘Request’ node and a ‘Response’ node. They will use the Designer flow editor to edit and change their flow to add the necessary additional steps.

The Focus API will be easy to create. The API will create a contact in Salesforce. They just need to include the Salesforce connector and select the “Create contact” operation.



Action   8.1.1.

Click the Plus icon (A). Search for the Salesforce connector (B).

create contact 1



Action   8.1.2.

From your pre-configured Salesforce connector, select Contacts > Create contact.

create contact 2


8.2. Mapping Data

Narration

Now, the Focus team needs to map fields from the request into the Salesforce Create contact action. Because they already know the Mapping Assist capability from IBM App Connect, it is simple to do it. They just need to use AI to simplify their work.



Action   8.2.1.

Click Generate mapping suggestions button.

map data 1



Action   8.2.2.

Click Apply suggestions button.

map data 2


8.3. Adjust flow response

Narration

To finalize the API, the Focus team needs to adjust the response that is returned when the flow is called. This response serves to close the API flow and is a required construct. Map the available fields from the Salesforce Create contact action to the response.



Action   8.3.1.

Click the Response node.

adjust response 1



Action   8.3.2.

For the mandatory response field CustomerID (A), map to the Salesforce field Contact ID (B).

adjust response 2




9. Test the API flow

9.1. Test the API

Narration Great, the API is ready, now the Focus team just needs to test the API.



Action   9.1.1.

Click Done to return to your model.

test api 0 1



Action   9.1.2.

Click Test API.

test api 0 2



Action   9.1.3.

On Test API dialog, click Test.

test api 0 3



Action   9.1.4.

Open the Test tab (A). Click POST /Customer (B) and open the Try it tab (C).

test api 1



Action   9.1.5.

Scroll down to see the body field and click Generate (A) to create some dummy body content. Click Send (B), and you should see a 201 Created response (C).

test api 2


9.2. Check the new contact

Narration

To validate the API, the Focus team will check the new contact in SalesForce. They just need to check the ‘Contacts’ page, and here is the new contact.

Great! Everything works as expected.



Action   9.2.1.

Open your Salesforce Dev account page and log in with your lab user and password.

check contact 0



Action   9.2.2.

Open the App Launcher menu (A). Search for Contacts (B). And select the Contacts items (C).

check contact 1



Action   9.2.3.

Scroll down to check if your new contact is included in the list (you generated the contact information in the Try It panel). Open the new contact.

check contact 2



Action   9.2.4.

Open the Details page.

check contact 3



Action   9.2.5.

Check the contact Name and Email.

check contact 4


Summary


Let’s summarize what Focus’ team has done today. In this demo they:
  • Created an AI generated flow to synchronize contact data between SalesForce CRM and Insightly CRM
  • Improved the Event-driven flow using IBM App Connect Designer
  • Used the Mapping Assist capability to implement data mapping between the different applications
  • Created data transformation function in minutes instead of hours with no code
  • Created a flow for an API from scratch using a no-code/low-code approach

As we mentioned in the beginning, data mapping is difficult, time-consuming, and error prone. In this demo, the Focus team learned how AI-powered Mapping Assist can alleviate these issues.

They auto-mapped all the fields where the matching confidence was at least 80%. Mapping Assist learns from their decisions about selected mappings and shows these as top suggestions when a similar source and target mapping is attempted in the future -- further reducing their mapping efforts.

The Focus team also generated a data transformation by providing examples of source and target data when fields do not have the same format. AI was used to determine the pattern and generate the transformation.

Using AI-powered Mapping Assist reduced the development time and eliminated errors as Focus Corporation successfully integrated the new customer contacts from their business acquisition.

Thank you for attending today’s presentation.