AssocDev Activities March2020
AssocDev Activities March2020
Activity Guide
Version 7.1
se Title
The information in this document is provided in connection with Dell Boomi products. No license, express or implied, by estoppel or otherwise,
to any intellectual property right is granted by this document or in connection with the sale of Dell Boomi products. EXCEPT AS SET FORTH IN THE
TERMS AND CONDITIONS AS SPECIFIED IN THE LICENSE AGREEMENT FOR THIS PRODUCT, DELL BOOMI (TOGETHER WITH DELL INC. AND ITS
DIRECT AND INDIRECT SUBSIDIARIES) ASSUMES NO LIABILITY WHATSOEVER AND DISCLAIMS ANY EXPRESS, IMPLIED OR STATUTORY WARRANTY
RELATING TO ITS PRODUCTS INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE, OR NON-INFRINGEMENT. IN NO EVENT SHALL DELL BE LIABLE FOR ANY DIRECT, INDIRECT, CONSEQUENTIAL, PUNITIVE, SPECIAL OR
INCIDENTAL DAMAGES (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF PROFITS, BUSINESS INTERRUPTION OR LOSS OF
INFORMATION) ARISING OUT OF THE USE OR INABILITY TO USE THIS DOCUMENT, EVEN IF ANY OF THEM HAS BEEN ADVISED OF THE POSSIBILITY
OF SUCH DAMAGES. Dell Boomi makes no representations or warranties with respect to the accuracy or completeness of the contents of this
document and reserves the right to make changes to specifications and product descriptions at any time without notice. Dell Boomi does not
make any commitment to update the information contained in this document.
If you have any questions regarding your potential use of this material, contact:
Boomi, Inc.
Attn: LEGAL Dept.
legalnotices@dell.com
Boomi, Inc., Legal Department, 1400 Liberty Ridge Drive, Chesterbrook, PA 19087
Trademarks
Dell believes the information in this publication is accurate as of its publication date. The information is subject to change without notice.
THE INFORMATION IN THIS PUBLICATION IS PROVIDED "AS IS." DELL INC. MAKES NO REPRESENTATIONS OR WARRANTIES
OF ANY KIND WITH RESPECT TO THE INFORMATION IN THIS PUBLICATION, AND SPECIFICALLY DISCLAIMS IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Use, copying, and distribution of any Dell software described in this publication requires an applicable software license. Dell, the Dell logo,
Dell Boomi, AtomSphere, Atom, and AtomSphere Integration Cloud, and Boomi are trademarks of Dell Inc. and/or its subsidiaries.
Other trademarks may be trademarks of their respective owners.
Revision History
Publication Date Summary
Table of Contents
SaaS Training 6
Set up Folders 7
Download Process Endpoints from the Process Library 8
View the Salesforce Read Connector 9
Create a Salesforce Query Operation 10
View the Database Connection 19
Create a Database Write Operation 20
Create a Database Write Profile 21
Configure the Map 24
Create a User-Defined Map Function 28
Updating the Query for Missing Data 35
Add a Decision Shape to Query the Database 38
Create a Database Read Process 43
Set a Database Runtime Parameter 50
Create a Salesforce Update Action 52
Create a Salesforce Update Map 54
Create a Mail Operation 62
Configure a Message Shape 64
Format Output to Email 69
Add a SQL Command 70
Administration Training, Properties, and Document Flow 74
Check the Production and Test environments 75
Package and Deploy the Process 77
Schedule the Process 81
License Management 83
Track executions in process reporting 85
View Detail View 89
Configure Exception Shape 91
View the Revision History 96
Redeploy the process and view alerts in process reporting 98
Configure a Notify shape 100
SaaS Training
Welcome to Associate Developer - SaaS Training. For our cloud integration training, we will use
Salesforce, a popular CRM cloud-based application, to create a new process to house the
workflow for the Salesforce to Database integration.
During the first part of this class, we will build two separate processes which work together,
covering:
Our first integration scenario calls for the company’s sales team to enter prospect information
into Salesforce.com. Operations wants to query Salesforce accounts, to send responses to their
Organization Tracking system for lead management but prevent duplicate records from being
created. Management, who monitors these accounts, wants to be notified daily of newly won
customers.
Set up Folders
When developing a new integration project, organize your setup on the Build Tab of the
Component Explorer by setting up folders to organize processes and components. This allows
you to configure and store a unique Process containing the workflow and processing rules for
your business scenario. We begin class by creating a new folder to store the processes we will
use for our exercises.
The Boomi Process Library lets you browse, view, and install published processes into your
account. We will use the Process Library throughout this class to pull in processes for our activities.
In the right column search bar enter Prospect Tracking.
Click the browse symbol next to Select Installation Location and navigate to the Prospect
Tracking folder.
Click Install.
The process is now installed in your account. Click View Process.
Click on Start - Salesforce to view the General settings. Notice the only Action available is Get,
since this is a Start shape.
In the Connection field, Boomi Training (SF) has already been loaded. To view the Connection
settings, click the edit symbol.
In the Start shape window next to operation, click the add symbol to create a new operation.
Click the browse symbol and choose the Salesforce Connection component in your Prospect
Tracking folder.
Click Next.
The Salesforce connection is established.
Select the following from the drop-down menus:
Object Type = Account__c
Action = Query
Click Next and theSalesforce Import Wizard builds the object tree.
Accept the defaults (do not select any child or parent objects). Click Next.
At the bottom of the query window, under the Objects tab, highlight Account__c.
Click the Filters tab, click the blue drop-down arrow next to Logical - AND, and then select Add
Expression.
Click Save and Close to return to the process. The Operation is now loaded into the Start shape.
To populate the operation filter for your Salesforce Account request, set a static input parameter
on the Start shape. This makes sure the account response XML documents are of type
Prospect as defined by the Salesforce business user.
Input Type=
Type Static
✔ Be sure to spell the static value correctly. Stored values on the destination data
system must match identically.
Click OK to return to the Parameters tab. The created parameter is now displayed.
Click OK to return to the process.
Save the process.
Before continuing, check if the two Salesforce records are successfully retrieved. It is a
recommended practice to continually test your process at various stages throughout
development.
From the drop-down arrow , select Test Atom Cloud, and click Run Test.
Note the two documents retrieved and highlight each document individually.
Click the Connection Data tab and select the symbol to view the document contents.
• There is a separate entry for each retrieved document. To view the contents of the
second document, click on it in the Documents pane.
From Edit Mode, click the Database Connector to view the General tab. Notice the Action is set to Send.
In the Connection field, Boomi Training (MySQL) has already been loaded. To view the
Connection settings, click the edit symbol.
In the Database Connector, next to Operation, click the add symbol to create a new operation.
Click Save.
1. Under the Options tab, next to Profile, click the add symbol to create a new Profile.
• The database types are: Standard Insert/Update/Delete which allow you to enter the
SQL statements. Dynamic Insert, Dynamic Update, and Dynamic Delete let you to
dynamically build the SQL statement. Stored Procedure Write allows you to enter the
name of the stored procedure to be executed.
Click Import.
Click Next.
• If the Import Wizard hangs on “Connecting to Atom….” click on the back button to re-
launch the Import Wizard.
• Once a connection is made to the database, the tables load into the Database Import
Wizard window, however, the message “Connecting to Atom….” displays regardless of
whether there is a connection.
Under Choose a Table, highlight the CUSTOMER table, and click Next.
5. Under Choose Columns, check the top check box, click Next, and click Finish.
6. Click Save and Close to exit the Database Profile and return to the Operation tab.
7. Click Save and Close to exit the Database Operation and return to the Process Canvas.
8. Click Save to save the process.
• Both the source (XML) profile and destination (DB) profile have been created using the
Import feature. It is important to select the profiles created in your Salesforce and
Database Connector Operations.
With the source and destination profiles loaded in the Map, it is time to link fields.
Map the following fields from the Account_c object (source) to CUSTOMER columns (destination).
• If using Boomi Suggest, accept only the 19 mappings listed in the table. Boomi Suggest
lists fields alphabetically according to the DESTINATION profile. The table below will
help you select the correct mappings.
Click Finish.
Sometimes the source profile does not contain all the required information, so hard-coded
values are applied to some destination fields.
Click the blue drop-down arrow to the right of the COMPANY_KEY field in the destination
window, then choose Set Default Value.
1. Repeat steps 1-3 above for the following three fields to set their default values:
DEPARTMENT IT
STATUS 0
USER_ID ***Enter Your Name***
The default values should now be appended to the elements in the list.
The database requires the CREATE_DATE field be populated with the current system
date/time. A map function is used to supply this data for each account record. Use of this
function was taught in Boomi Essentials. When finished, your map should look as below.
From the Category drop-down, choose User Defined, and click Create New Function.
On the new tab, type the name of the map function: CUSTOMER_ID Create.
• Always provide a descriptive name for all user defined map functions.
In the Inputs column, click the add symbol. For New Input Name, enter Name and click OK.
Repeat step 5 to add another input. For New Input Name, enter Phone, and click OK.
In the right Outputs column, click the add symbol. For New Output Name, enter ID, and click
OK.
The Configure Defaults window opens. Leave the Original String field blank. In the String to
Remove field, type a <space>, and click OK.
• Be sure to enter a blank space in the String to Remove field. This makes sure the
name portion of the key generation will consist of one string by stripping away any blank
spaces making up the name.
Click and drag Name to connect to the String Remove > Original String input.
In the middle Steps window, click the add symbol to add another step to the user-defined
function.
From the drop-down, choose String.
Highlight Left Character Trim and click OK.
The Configure Defaults window opens. Leave the Original String field blank. In the Fix to Length
field, enter 4, and click OK.
• The Left Character Trim function removes characters from the left side of the string, so
the remaining string is fixed to a specified length. For example, applying a Left Character
Trim, Fixed to Length of 6, trims the string AtomSphere to Sphere. We want to use the last
four digits of the telephone number as part of the unique ID, so use the Left Character
Trim function to strip characters (from left to right) until the string length is set to 4.
Click and drag from the main Phone input to connect to the Left Character Trim > Original String
input.
In the middle Steps window, click the add symbol to add another step to the user-defined
function.
From the drop-down, choose String.
Highlight String Append and click OK. The Configure Defaults window displays.
Leave all fields blank and click OK.
Click and drag from the String Remove > Result output to connect to the String Append >
Original String input.
Click and drag from the Left Character Trim > Result output to connect to the String Append > Char
to Append input.
• Notice the changes on the numbering when the function shapes are moved on the
canvas.
Click and drag from the String Append > Result output to connect to the main ID Output.
The necessary components to complete the main workflow are now created, so attach the
components together on the canvas and execute the process in Test Mode to review if the
documents were successfully committed to the database.
Connect the Start shape to the Map and the Map to the Database and Save the process.
Execute the process in Test Mode by choosing Test Atom Cloud and then clicking Run Test.
Click the Database Connector, select the Connection Data tab, and click the symbol to view
the contents.
After viewing the results in the Document Viewer, click Close Document Viewer, and return to edit
mode.
● Add a connector call map function to the map to query the Salesforce contact object on-
the-fly, or
● Update the original account query operation to include the contact fields.
The second option is better because it exposes all required fields up front and prevents an extra
API request for each account record, which is required for the Connector Call. For all Connector
types, it is a recommended practice to append any additional objects to the profile by reusing
the import feature.
Refresh the account query operation and the source XML profile with the new contact
fields:
From the Process Canvas, click Account Query by Type to open the Operation component.
Click Import.
In the Salesforce Import Wizard, choose the Boomi Training (SF) Salesforce connection
component in your account.
Expand the Account__c > Child Objects section and check Contacts__r.
• No child object was imported in the previous exercise. However, anytime you select a
child or parent node in an import, you must re-select the node(s) to maintain the fields
in any previously built operations or mappings.
Click Next.
Review the results and click Finish.
The field listing in the Salesforce Profile component in the Operation shows the changes in the
data Map. Expand the Contact__c field set and then map the Contact Name and Contact Email
to the corresponding fields.
Scroll to the bottom of the source Profile window and expand the Contact__c section.
Map the Contact > Name field in the Salesforce source profile to the CONTACT_NAME field in the
database destination profile.
Map the Contact > Email__c field in the Salesforce source profile to the CONTACT_EMAIL field in
the database destination profile.
Click Save.
In this exercise, add a Decision to query how many records (matching those coming from your
source) exist in the database. If the return value is greater than 0, the document is filtered out of
the process flow.
From the Logic tab of the shapes palette, drag and drop a Decision shape to the Process Canvas.
In the Decision Properties window’s Display Name field, enter New Account?
• Unlike most other shapes, a decision should have a Display Name to make the logic
clearly visible when viewing the Process Canvas.
It is important to uderstand the logic contained in this SQL statement. From the CUSTOMER table,
return the number of records where the record NAME equals the Salesforce Account Name and the
USER_ID equals ‘My Name’ (the name you entered in the map).
If the Salesforce record is not in the database (COUNT=0), the Decision shape produces a TRUE
result (0=0), and the document flows down the true path and is inserted in the database.
If the Salesforce already record exists in the database (COUNT!=0), the Decision shape produces a
FALSE result (1≠0), and the document flows down the false path and is not inserted in the database,
preventing a duplicate duplicate database record.
FROM CUSTOMER
WHERE NAME = ?
• The My Name value should correspond exactly to the default value entered into the
USER_ID field in the database destination profile in the SF Account to DB Insert Map.
For Element, click the browse symbol and select Account__c > Name.
Click OK to accept and OK to close.
Note the Name (Account__c/Name) parameter listed and press OK to return to the Decision
shape’s properties window.
Set Compare Type = Equal To. Then, for Second Value, click the browse symbol inside the
field.
Note the Decision Properties entries and click OK to return to the process.
• Our Boomi Training MySQL database is purged nightly. Whether or not your documents
flow down the TRUE path or the FALSE path depends on a number of factors. If you
successfully tested the process during the "Create a User-Defined Map Function"
exercise on the same day you are testing the process with the newly added Decision
shape, your documents should flow down the FALSE path. (They already exist in the
database from the previous test execution.) If not, your documents will flow down the
TRUE path upon your first test execution. Any subsequent test executions on the same
day will result in the documents flowing down the FALSE path.
With our Decision shape configured, we must reorganize the existing flow to prevent new test
documents from entering the Customer table.
From the Logic tab of the shapes palette, drag and drop a Stop shape to the canvas.
The Stop shape’s properties window opens. By default, Continue processing other execution
paths is checked.
• The Stop shape’s command defaults to continue processing other execution paths. If
unchecked, the process stops. This is useful for unit testing large processes, and for
viewing documents in Test Mode.
Click OK.
Create another Stop shape by repeating steps 1-3.
Reconnect the Start shape to the Decision shape.
Connect the Decision shape’s True path to the SF Account to DB Insert Map.
Connect the Decision shape’s False path to one of the Stop shapes.
Connect the Database Connector to the other Stop shape.
Click on the blue drop-down arrow next to the Associate Developer folder.
Open the Process Library by clicking on Browse Process Library at the bottom of the Component
Explorer.
In the right column search bar, enter Daily Customer Wins, and press Enter.
Click Install next to Daily Customer Wins.
Click the browse symbol next to Select Installation Location and navigate to the Daily
Customer Wins folder.
Click Install.
The process is now installed in your account. Click View Process.
As you continue to add processes to your account, it will be easier to organize and locate
reusable Connections if they are stored in a common #Connections folder. There are three
Connections in your Associate Developer folder: The Database Connection (Boomi Training -
MySQL), the Salesforce Connection (Boomi Training - SF), and the Mail Connection (Boomi
Training - Mail) loaded from the Process Library and into the “Daily Customer Wins” folder.
Move all the Connections to a #Connections folder.
Click on the blue drop-down arrow next to the Boomi Training folder.
Choose New Folder and name it #Connections.
In the Prospect Tracking folder, expand Connectors to expose Boomi Training (MySQL).
Click and drag Boomi Training (MySQL) to the #Connections folder.
Repeat steps 3-4 to move Boomi Training (SF) and Boomi Training (Mail) to the #Connections
folder.
For the Connection, click the browse symbol, navigate to the #Connections folder, and select
the Boomi Training (MySQL) Connection.
Click the add symbol in the Operation field and enter Query Customer by Date in the Display
Name window.
Next to the Profile field, click the add symbol to open a new component tab.
For Connection, click the browse symbol and select the Boomi Training (MySQL) connection
and click Next.
When the tables load, choose the CUSTOMER table and click Next.
Select only these three fields: CUSTOMER_ID, NAME, and PHONE, click Next, and click Finish.
The fields are now in both the fields list and the SQL Script.
• Add to the SQL script to make the CUSTOMER_ID DISTINCT and add a WHERE
clause narrow down the criteria for MODIFIED_DATE, USER_ID, COMPANY_KEY, and
NOTIFY_STATUS.
Replace the existing SQL Script with the SQL Script below. Use the name entered for the USER_ID
in the map of Prospect Tracking for the ‘My Name’ field:
• In the database, Prospect Salesforce account records have been won and updated as
Customer - Direct. These are the accounts read into the process.
In the left window next to Parameters, click the blue drop-down arrow and choose Add
Parameter.
In the Operation’s Grouping Options, next to Link Element click the browse symbol, expand the
Fields set and select CUSTOMER_ID.
Click OK and check the following values are entered for the Grouping Options:
Click Save and Close, then click OK to return to the Process Canvas.
Click Save to save the Daily Customer Wins process.
Click the Start shape, then move to the Parameters tab, and click the add symbol.
For the Input value, click the browse symbol, and select the MODIFIED_DATE>= parameter
created earlier.
Enter the following information to complete the Parameter Value entries:
Type Date/Time
It is time to test the process to see if the two database records were successfully retrieved. A
Boomi recommended practice is to continuously test your process throughout development.
• If you don’t get any documents returned, you should re-run Prospect Tracking
In the Salesforce Import Wizard, choose the Salesforce connection component in #Connections.
Click Next.
Set Object Type to Account__c, set Action to Update, and click Next.
Click the add symbol to add a function in the center pane of the Map.
From the Category drop-down menu, choose Connector, highlight Connector Call, and click OK.
Connector: Salesforce
Action: Get
Connection: Boomi Training (SF)
Next to Operation, click the add symbol to create a new Operation tab.
In the Name window, enter Account Query by Name/Phone, and click Import.
Click the browse symbol, choose the Salesforce connection Boomi Training (SF) component
and click Next.
Set Object Type to Account__c, set Action to Query, and click Next.
Ignore the Account’s Object Tree nodes and click Next. Click Finish.
The SF_Account__c_QUERY_Response profile is now loaded in the Operation. Click Finish.
At the bottom of the query window under the Objects tab, highlight Account.
a. Check the main Account__c node to select all the Account fields
b. Uncheck the node to de-select all the Account fields
Click the Filters tab, then click the blue drop-down arrow next to Logical - AND and choose
Add Expression.
Highlight the new expression and enter the following for the filter instance:
Add a second expression and enter the following for the filter instance:
Click Save and Close to return to the Connector Call map function.
In the Connector Call’s Input window, click the add symbol to enter the Inputs. Highlight Name =
and click Add.
In the Connector Call’s Input window, click the add symbol, highlight Phone=, and click Add.
In the Connector Call’s Output window, click the add symbol to add the Outputs, highlight the
Account__c > Id field, and click the Add button.
In the Connector Call window click OK to display the Configure Defaults screen.
Ignore the optional default value setting, because the NAME and PHONE are required fields in the
database.
Click OK to return to the main Map.
On the destination profile in the destination window, click the blue drop-down arrow to the right
of the SLA__c field, and choose Set Default Value.
In the Value field, enter Gold, and click OK.
• This value must match the exact Salesforce SLA value so it’s important to enter the
value exactly as it appears in the Salesforce record.
Connect the Start shape to the Map, connect the Map to the Salesforce Connector, and add a
Stop shape to complete the path. The process should look like this:
Execute the process in Test Mode by clicking on Test and view the results.
• We are using a single Gmail account which many users access at the same time.
To test this process outside of training, reconfigure the email connection settings and
credentials in AtomSphere to use your own mail client account and enable POP access
in your mail client.
The connection component to a hosted SMTP server is preconfigured, so we need to pair the
operation and connection to define the Subject and From/To Addresses for the report.
Click the Mail Connector to open the Action window. Next to Operation, click the add symbol to
create a new operation.
From: boomitrain@gmail.com
To: *** Your email address***
Subject: New Customer
Disposition: Inline
Content Type: text/plain
Click Save and Close, and then OK to return to the Process Canvas.
From the Execute tab of the shapes palette, drag and drop a Message shape to the Process
Canvas.
Check the Combine documents into a single message option, and enter the following in the
Message text box:
In the Message text box include a hard return after ‘-------‘, so the cursor moves to the next line.
This creates a blank line between records for easier viewing.
Next to Variable, click the add symbol and the Parameter Value window opens.
Set Type to Profile Element, and the Profile Type to Database.
For Profile, click the browse symbol to navigate and select the Query Customer by Modified
Date profile.
For Element, click the browse symbol to navigate and select CUSTOMER_ID.
Click OK to close the dialog, and OK again to return to the Message Properties window.
Type: Date/Time
Date Mask: MM/dd/yyyy
Date Type: Current Date
If the date format you want to use is not listed, you can enter it by typing in the Date Mask field.
The Message is now complete, and the Mail connector is enabled to send messages to your
email address. We will execute the process to confirm records are extracted and updated in
Salesforce, and the process emails a formalized message. To do this in sequence, we will use
the Branch shape.
From the shapes palette, add a Branch shape to the process flow.
Set the Number of branches to 2 and click OK.
Disconnect the Start shape from the DB to SF Account Update Map and connect it to the Branch
shape.
Connect the 1st Branch path to the Map and the 2nd Branch path to the Message shape.
Connect the Message shape to the Mail Connector.
Add a Stop shape to both branches. The process should look like this:
• Consider where the Set Properties shape should be positioned in the process flow.
Configure a Profile Element Parameter Type value to dynamically set the Mail Subject by NAME.
The resulting Set Properties window should look like this:
Uncheck the Combine documents into a single message option in the Message shape. The result
should produce separate emails, titled by customer name, each containing the record’s NAME,
Customer ID, and Date, with a ‘-------‘ separator in the body.
From the shapes palette, drag and drop a Program Command shape to the canvas.
SET NOTIFY_STATUS = 1
WHERE CUSTOMER_ID = ?
• Enter ‘My Name’ the same way you entered it as the default value on the USER_ID field
in the SF Account to DB Insert Map.
• In the Database CUSTOMER table, UPDATE the NOTIFY_STATUS field to 1 where the
CUSTOMER_ID matches the CUSTOMER_ID queried at the front of the process and
the USER_ID is the name you entered in the map.
If the document flows successfully through both branch 1 and 2, then branch 3 executes
and updates the NOTIFY_STATUS to 1 in the database.
Connect the SQL Statement shape to the Stop shape. The process should look like this:
Click Save.
Execute the process in Test Mode and note the results.
You can only execute this process once. Once the NOTIFY_STATUS has been successfully
set to 1, any subsequent executions will not retrieve any documents into the process
because our Start shape operation is looking only for those records where
NOTIFY_STATUS = 0."
Following Administration Training, we will look at Global Properties, and Document Flow.
Confirm your account has a Production environment with an attached Atom Cloud.
Confirm your account has a Test environment with an attached Test Atom Cloud.
• If your Environments and Atoms are not configured correctly, please return to Boomi
Essentials to complete.
You can create a packaged component two ways via the Build or Deploy tab.
From the Build tab, click on the Create Packaged Component button.
Or from the Deploy Menu and select the Create Packaged Components menu option.
Check the box next to the component(s) you want to the package and click the Next: Add Details
button.
Enter the following and click the Create Packaged Component button.
A Packaged Components Successfully Created message displays. Click the Deploy button.
Deployment Notes makes tracking deployment changes easier as you roll out additional
releases.
• During Deployment, AtomSphere audits your account to make sure you enough
connection licenses to deploy this process into production. If you do not have the
necessary license count available, you will get an error message.
In the Environments pane, click the Atom Cloud, which has our process attached.
Under Runtime, click Deployed Processes.
In the Deployed Processes window, click the blue drop-down arrow next to Prospect Tracking,
and select Edit Schedules.
Click the Add button, and configure the schedule details to display the following:
Type: Minute
Start Time: 00:00
End Time: 23:59
Interval: 5
Keep the default checkboxes for Monday through Friday and click OK.
A schedule saved message appears in the lower-right corner of the Process Canvas.
• The time zone schedule depends on where the atom is installed: The public regional
clouds use Universal Time Coordinated (UTC), and locally installed atoms use the
system time where the atom resides.
License Management
When deploying, AtomSphere does an audit to check the purchased connection licenses for
your AtomSphere subscription. The audit begins when a pop-up window displays Recalculating
dependencies and auditing deployments. The results display in your Licensing page. In this
exercise we will view the results of the Prospect Tracking deployment.
In the top-right corner of the platform window, click Account > Setup.
In the Connections By Class table, note count of Deployed connections compared to the
Available connections.
• When you try to use too many licenses, the deployment audit fails and prevents you
from deploying. A Boomi recommendation is to streamline duplicate connection
components. License counts are totaled at the Atom level, meaning if you use the same
connection in many processes and deploy those processes to the same Atom, then you
use one license. However, if you deploy a single connection to two different Atoms, then
you use two licenses.
In the Connections By Class table, highlight the Standard connector class record.
• Each license category has connectors assigned to it. Small Business licenses are for
Sage 50 (Peachtree), FreshBooks, and QuickBooks. Standard licenses are for
connectors like: Salesforce, Database, and Success Factors. Enterprise licenses are for
SAP (Business Suite and Net Weaver) and Oracle E-Business Suite. Trading Partner
licenses are for EDI integrations.
To see which processes are using which connectors look at Deployments: All Classes.
In the Executions view, note the process execution instances and monitor the Process Reporting
until the execution record with inbound and outbound data displays.
Turn on Auto Refresh to automatically refresh the execution records every minute.
Select an execution record with inbound data in the Executions view, click the Actions menu
and select View Deployment Components.
A new browser tab or window opens displaying the direct component instance.
Note the details in the Show Log pane, and click Cancel to return to the Process Reporting
window.
Click the hyperlinked timestamp to view details for a recent process execution.
A detailed process execution view opens containing process and document-level information.
In the Successes section in the Detail View pane, click the Actions menu on one inbound data
record, and choose View Document.
• To download the full document contents to a file on your workstation click the Download
Original Document hyperlink.
To exit the detailed document view and return to process reporting, click anywhere to the left of
the detailed document view.
Navigate to the Build tab, then open your process Prospect Tracking.
• A quick way to retrieve a process is to use the Open A Recent Item link on the
Welcome pane.
Click and drag an Exception shape from the shapes palette to the Process Canvas.
Configure the following for the Exception properties, and click OK.
Message: -------
Account ID: {1}
Name: {2}
-------
• Check Stop Single Document to prevent other valid documents from stopping to
process through the flow.
In the Exception shape’s Variables window and click the add symbol.
The Test Execution Error window opens and identifies the failure for the first document.
• At the process level, AtomSphere reports only the first document error returned. You
must troubleshoot to find out if other document failures exist at the Document level.
Review the current revisions and click the View/Edit symbolsymbol next to the earliest revision
number.
An information alert appears stating this view does not correspond to the latest version.
• The goal of this exercise is to make you aware revisions are never overwritten. Rather,
they are stored in Revision History if you need to reference or go back to them later.
Saving a process version increments it and moves it to the top of the revision list,
making it the active version. If you go back to a previously saved version and want to
deploy it, you need to redeploy and schedule the process. The reverted version does
NOT inherit the deployed state or schedule assigned to the most-recent version.
Repackage and Redeploy your Prospect Tracking process (See Exercise Package And Deploy
the Process; steps 1-10) with the following information:
Package Component Details:
Notice the most recent process executions are logging Error Messages in process reporting.
Information from the first failed document in a process execution is recorded. Click the hyperlink in
the Error Message column to view the configured message.
From the Build tab’s Welcome tab, in the Open A Recent Item section, and select Prospect
Tracking.
Double click Exception shape.
Replace the message text with Old Account Record(s). Delete both parameters from the
Variables window. Highlight each and click the Delete Parameter icon to remove the selected
parameter. Replace the Exception shape’s message with the message below.
In the Shapes pallette, under the Execute tab, drag a Notify shape to the process flow.
Configure the Notify shape’s Properties as follows:
• When configuring a Notify shape, the Message Level (Information, Warning, or Error)
must match the Log Level in an email alert subscription.
• Checking Enable Events means the notification is sent to the destination for all
configured event options.
Configure the following for the first parameter in the Parameter Value window:
Element: Id (Account__c/Id)
Click OK to close the Parameter Value dialog then again to return to the process.
Both parameters are now loaded in the Parameters section of the Notify Properties window.
Connect the Notify shape between the Decision shape's False path and the Exception shape.
Notify executes successfully before the Exception. The Notify shape creates a notification
and lets the document(s) to pass through without affecting document structure.
Repackage and Redeploy your Prospect Tracking process (See Exercise Package And Deploy the
Process; steps 1-10) with the following information:
Package Component Details:
Deployment Details:
In this design, the Exception shape reports a high-level failure and flags the process as an error;
the Notify shape notifies the error information at the document-level.
Choose Atom: Atom Cloud, Process: Prospect Tracking, and click Execute.
The most recent process executions are still logging Error Messages in process reporting. The
Notify shape creates a user notification, and the Exception shape logs the process execution as
failed. Click the View Process Logs symbol to show the process log with SEVERE errors
captured.
Process Deactivation
A Boomi recommendation is to stop process schedule and/or undeploy the process when
training (or other testing scenarios) is complete. This ensures the process is not running
unnecessarily and stops user alerts.
Next to Prospect Tracking, click the blue drop-down arrow , then select Stop Schedules.
The scheduling symbol changes from a green arrow to a red square.
Click the Actions button for the Prospect Tracking component and select Undeploy.
Each week, a company awards their highest producing sales representative. This award is
given to the sales representative who closes the largest deal by the end of the week. We
designed a process to constantly check for recently created invoice records within the
company’s data storage and to track the highest producing deal. The data storage has
processed invoices containing basic account information, including the sales representative and
Total Contract Value (TCV) of each closed-won opportunity.
Goal
Take the partly built process and change it to take advantage of Dynamic Process Properties
(DPP). As we process each invoice, we store the Total Contact Value as the Dynamic Process
Properties if it is larger than the previously stored Total Contact Value. Storing it as a Dynamic
Process Property lets it to be referenced in later process executions. The following represents
the high-level integration strategy and business work flow:
Open the Process Library by clicking on Browse Process Library at the bottom of the Component
Explorer.
Click the browse symbol next to Select Installation Location and navigate to the Dynamic
Process Properties folder.
Click the Install button.
The process is now installed in your account. Click View Process.
Configure the Set Properties shape to set the incoming XML Document’s TCV as a persisted
Dynamic Process Property.
Choose Dynamic Process Property from the Property Type drop-down. Enter Highest TCV as
the Property Name. We want to save this value in memory ando reference it in later process
executions, so check the option Persist this property.
Click OK.
• Remember the spelling and case of the Property Name to reference it later.
Pair the Dynamic Process Property with a parameter referencing the corresponding value and click
the add symbol to enter the profile element.
Examine each message shape imitating the XML data coming into the process, paying attention to
the data elements. These elements are referenced in the ‘Invoice XML’ Profile.
Now the Dynamic Process Property is configured, configure the Decision shape. We will want to
compare the incoming TCV to see if it is greater than the TCV stored as the current DPP value.
Open the Decision shape. For the First Value, click the browse symbol and load the
(Account/TCV) element from ‘Invoice XML’ Profile representing the incoming document.
For the second value, select Dynamic Process Property and enter the Property Name EXACTLY as
you entered it when entering it in the Set Properties shape earlier.
• When configuring the parameter to store the Dynamic Process Property, enter the
Property Name EXACTLY as entered in the Set Properties shape earlier.
• When the first Document is processed, its TCV value is compared to the Default Value.
Before the first run, the Dynamic Process Property value is null and, a Default Value of
‘0’ must be entered as a Parameter Value.
• The true path Set Properties shape is processed only if the Decision logic’s result is true.
We configured the decision shape to compare the incoming TCV value with the TCV
value stored in the Dynamic Process Property. If the incoming value is greater, the
Dynamic Process Property is reset.
Configure each Notify shape to display detailed logging to have a better understanding of each
processed document. The first Notify shape handles logging for displaying the newly assigned
TCV.Configure the Notify shape, in the first path, to reflect the following:
In Manage > Atom Management,select the Test Atom Cloud andlick Deployed Processes.
Click the s blue drop-down arrow to the left of the process name and select Execute Process
from the drop-down.
Click the blue drop-down arrow and select Edit Process Properties from the drop-down.
• The ability to Edit Process Properties is available only to deployed processes. This is
why we take this approach instead of running the process in the Build tab.
• From the Edit Process Properties pane, view, edit, or delete the Process Property name
and/or value. Notice the current DPP value for Highest TCV is 50000.
From the Edit Process Properties pane, the stored DPP value is 50000. This Process is set up as
a plug-and-play testing environment, utilizing different preloaded documents stored in different
message shapes.
After making changes to the process, remember to redeploy the process and run another Manual
Execution via Manage > Atom Management.
Connect the Start shape to a different Message shape, containing a different TCV and re-execute
the process.
After the second manual execution, connect the Start shape to the third Message shape. Notice the
TCV is less than the earlier stored DPP value and the results in the ‘Edit Process Properties’ pane.
Although Process Properties cannot be edited or viewed, they still can be executed in the Build tab.
Within the Build tab, execute the process a few times with different input values. This is a great
opportunity to view the process path based on the Decision Logic. Click on the various shapes along
the process flow to see the document state and view the logging along the way.
Scenario
A process constantly checks if an Account record exists in a company’s data storage to decide
whether to do a Create or Update call. The process retrieves the Salesforce Account’s internal
system ID using a Connector Call output parameter as a Dynamic Document Property and
creates or updates an Account, based on the routing logic in the Decision shape.
Goal
Change this process using a Set Properties shape to complete the Connector Call to retrieve
the internal ID for the record and store the result as a Dynamic Document Property. Then use a
Decision shape to check if the property is populated and send the record to the Create or
Update Map. In the Update Map, use a Map Function to retrieve the internal ID value and map
it. This approach avoids the need to add a second Connector Call in the Update Map to retrieve
the internal ID again.
Click the blue drop-down arrow next to the Associate Developer folder.
Choose New Folder and name it Dynamic Document Properties.
Open the Process Library by clicking on Browse Process Library at the bottom of the Component
Explorer.
In the right column search bar enter, Dynamic D.
Click Install next to Dynamic Document Properties Activity.
Click the browse symbol next to Select Installation Location and navigate to the Dynamic
Document Properties folder.
Click Install in the bottom-right corner.
The process is now installed in your account. Click View Process.
The process begins with a No Data start shape followed by a Message shape containing all the
Account names. The Data Process shape splits the Documents, so each record is validated
individually. Add a Dynamic Document Property, using a Connector Call as the parameter
value, in the Set Properties shape to assign this property (ID) to each existing record as an
Account in Salesforce.
In the Set Properties shape window, highlight Dynamic Document Property - ID, then click the
add symbol to add a parameter.
In the Parameter Value window, set Type to Connector Call, and choose Salesforce as the
Connector with the default Get Action. Choose the Boomi Training (SF) Connection from the
#Connections folder.
Name the Operation component Account Query by Name , click the Import button to create and
load the Response Profile from Salesforce.
Select the Boomi Training (SF) Connection and click Next. Set the Object Type to Account__c,
and the Action to Query and click Next. Do not select anything at account objects Account Objects
and click Next. Make note the Response Profile name and click Finish.
The only field we want to retrieve is the Account’s ID. So under the Fields tab, check and uncheck
the Account__c “select all” box and check only the ID field.
In the Filters tab, click the blue drop-down arrow next to Logical - AND to add a new
Expression. Set the Filter Name to Name=, set the Field to Name, and set the Operator to Equal
To. Click Save and Close to return to the Connector Call’s Parameter Value window.
Click the add symbol to assign the value for the Input Parameter and configure the Parameter
Value window according to the image below, use the Type as Flat File and profile as Sample
Data in the Dynamic Document Properties folder. Click OK to close the Connector Call window and
click OK to exit the Set Properties shape window. Click Save to save the process.
For the First Value, choose Document Property for Type, then choose Dynamic Document
Property and enter ID. Click OK (twice) to return to the Decision shape’s window.
The Second Value Type is a Static value, and it is null (do not enter anything in the Static Value
field).
Open the Map Account Create. The source and destination profiles are already loaded. Map
Name from the source profile to Name in the destination profile. Save and Close the Map.
• This process is only a test, so we will not actually create new or update accounts in an
endpoint data storage system. Notice both the True and the False paths lead to Stop
shapes, not Connector shapes. This activity is only meant to show how to configure and
retrieve Dynamic Document Properties using a Connector Call.
Open the Map Account Update. The source and destination profiles are already loaded. Map
Name from the source profile to Name in the destination profile.
Having retrieved an Account’s ID with the Connector Call, we want to update the value in our
destination. To do so, add a Function. Choose Properties for the Category, select Get Document
Property and click OK. Click the edit symbol to choose Dynamic Document Property for
Property Type, and enter, ID for the Property Name. Click OK twice to return to the Map.
Map the Function’s output to the ID field in the destination profile and clickSave and Close.
Click Save to save the process, and run a Test using the Test Atom Cloud.
In Test Results, click the True path’s Stop shape to see one Document is a new Account. Click the
False path’s Stop shape to see two Documents whose Account ID fields have been updated.
TRUE: FALSE:
This exercise begins with a no data start shape. Data enters the process flow via a Message
shape. The data contains a simple CSV flat file with many records representing fictional
machinery in service at different locations. Depending on each machine’s Operational status, it
is routed down the correct path.
Goal
In this exercise, you will change the process and compare the different document flows under
different conditions. Our goal is to prove how document flow choices effect:
● Execution path
● Document groups
● Map behavior
● Other shape behavior
● Logging and reporting
Click the blue drop-down arrow next to the Associate Developer folder.
Choose New Folder and name it Document Flow.
Open the Process Library by clicking on Browse Process Library at the bottom of the Component
Explorer.
In the right column search bar enter, Assoc Dev and press Enter.
Click Install next to Assoc Dev - Document Flow Activity.
Click Choose… next to Select Installation Location and navigate to the Document Flow folder.
Open the Operational? decision shape. The Decision shape validates the question, “Is the machine
operational?” If a machine is operational, the flat file profile element will have a value of TRUE.
Open the Initialize Set Properties shape. There are two Properties set in this shape and both are
initialized to 0.
In the Map Counter function, the data passes through the Map, this function outputs the value 1.
The second document/record outputs a”, and so on. The result is incrementally numbered data for
all operational machines, with the last number equaling the total 2.
Click the edit symbol on the Map Function.
This function receives no input, so the Inputs pane is blank. In Step 1, the function retrieves a
Dynamic Process Property called P_Map_Counter. In Step 2, it adds 1 to the value it just retrieved.
The result is then sent to two places: to the Map Function output field Map_Counter and to Step 3
where it is saved as the updated value for P_Map_Counter.
Click Close to close the Map Function and to close the Map.
Open the Increment Set Properties shape to learn how the Step Counter works.
Click the Dynamic Process Property named P_Step_Counter.
There two parameters are joined together with the result stored into P_Step_Counter.
This Step counter is different from the Map counter. The Map counter adds values mathematically,
while the Step counter joins strings. The Step counter will begin with value of 0, and each
consecutive machine will add a 1 (i.e., 01, then 011, etc.) similar to tally marks.
Click Cancel to close the Set Properties dialog.
Open the two Notify shapes to see how they write the Counter into the Process Log with a Message
Level of Warning.
Test Results
After the process finishes executing, your results should look like this:
• The source data size is a single document 0.00 kB in size. This shows no data was
entered the Load Test CSV shape.
Click the Stop shape at the end of the True path. In the Test Results pane, click the Shape Source
Data tab and see only one document went down the True path.
View the process log by clicking the blue drop-down arrow next to Process: Assoc Dev -
Document Flow Activity and click View Log.
• The Notify shape logs a Warning level message and enters the count to the process log.
Scroll until you see the Notify.
From the Minimum Status to Show drop-down, choose the WARNING error level filter, and click
the message text in the Message column.
The error pop-up window displays the Notify message, the counter value at ‘8’.
This reveals the Notify shape was executed with the batch document, but the counter had already
reached a value of ‘8’ before the Notify shape was executed.
Click Cancel to close the Message pop-up. Click Cancel to close the Process Log.
Click the arrow next to the process name to leave Test Mode.
In Data Process Properties dialog click the add symbol to add a step.
Configure the Data Process Properties to match the image below and click OK to save your
changes.
Disconnect and reconnect the various shapes until your process matches the following:
Click Save. Execute the process in Test Mode by clicking Test and run using the Test Atom
Cloud.
After the execution finishes, your screen should look like this:
Question: How many documents are True and how many are False?
View the process log by clicking the blue drop-down arrow Process: Assoc Dev - Document
Flow Activity hyperlink and click View Log. Review details from this execution.
Notice one document entered the Data Process shape, and eight documents exited.
Scroll to the log entries pertaining to the Map shape and the Increment the Set Properties shape.
The Map handles Operational machines and executed with five documents.
Increment was the label for the Set Properties shape which counts the non-Operational machines.
There were three machines, so the Increment shape executed with three documents.
Question: Why did the Decision shape route the documents differently this time?
Previously, the Decision shape received a single document with eight records, and only read the first
valid line which contained a TRUE value. So, it routed the whole document along the True Path.
Now the original document splits into eight documents before reaching the Decision shape, which
now receives eight individual documents, inspects each Operational? element, and routes them so.
Question: In what sequence did the documents execute? How can you tell?
First, documents for all five Operational machines passed through the Map shape, then documents
for all three non-Operational machines passed through the Increment Set Properties shape. A
Decision shape processes all True documents to completion before it processes False documents.
However, in the original single document the operational and non-operational machines appear in
random order.
From the Minimum Status to Show drop-down chose the WARNING Error Level filter.
By the time the first Notify shape is executed, all five Operational documents have been counted.
The Notify message has five appended strings, and each string contains the total of instead of the
interim count. Double-click the message text to see this more clearly:
For our final test, we will use the Flow Control shape to further change the document flow.
From the Logic palette, drag and drop a Flow Control shape onto the canvas.
The Flow Control Properties dialog appears. Click Run Each Document Individually and click OK
to save your changes.
Disconnect the Data Process shape from the Decision shape and connect it to the Flow Control
shape. Then connect the Flow Control shape to the Decision shape.
Your final process should look like this:
Select Test. After the execution completes, review the Process Log.
Change the Minimum Status to Show to WARNING.
This sequence matches the data in the original single document. The Flow Control shape caused
the eight-line items, which were split into separate documents, to be processed individually to
completion.
Question: Why do the “counters” now show increasing values when before they showed
only the final value?
The Notify shapes are now being executed with each document instead of in batches of five and
three. At the time each Notify shape is executed, the counters register only the number of
documents processed.