Creating a Branch with the Boomi Enterprise Platform API


Introduction:

Boomi’s November 2024 release introduced Branch and Merge functionality into the Boomi Platform. This how-to guide walks through some new functionality with the Boomi Enterprise Platform API showcasing creating a Branch.

Disclaimer: This process and design is in no way intended to serve as an authoritative way of performing this query, but is instead aimed at showcasing functionality and empowering you as a developer to build upon this functionality.
Note: At the time of this writing, the API call to the Boomi Enterprise Platform API is currently not supported with the branded Boomi Enterprise Platform API connector. I am instead using the REST Client technology connector.
 


Before you Begin:

A connection to the Boomi Enterprise Platform API is required. Within the Platform Settings, there is a tab to create new Boomi Enterprise Platform API Tokens


 

When creating the token, it  will be visible once. Save the token somewhere secure.

Configuring the REST Client Technology Connector:

Configuration Steps:

Start Step - Data Passthrough

It is assumed that this process will take the input of two Dynamic Process Properties: Either DPP_SOURCE_BRANCH_ID or DPP_SOURCE_BRANCH_NAME, and DPP_NEW_BRANCH_NAME. These Dynamic Process Properties can be set in a Set Properties step either in this process itself, or in a parent process calling this process.

Decision Step - DPP_SOURCE_BRANCH_NAME Present

Since the Boomi Enterprise Platform API is looking for the ID of the Source Branch, if the ID is given, the process can make a call directly to the Boomi Enterprise Platform API. If the Name is given, it is assumed then that the ID was not given and a query must first be made to find the ID of the Source Branch.

[True] Branch

The True path off of the decision indicated that the Name of the Source Branch was given so the ID must be first found before the creation of the branch can occur. This branch is configured to have two branches, the first to pull in the ID of the Source Branch and the second to perform the creation of the new branch. 

[Branch 1] Set Properties - Set DPP_BRANCH_NAME

In the spirit of modularity - or potentially just plain old over engineering, the next step will be a process call to actually perform the querying of the branch. Rather than having the modular branch query process rely on the Dynamic Process Property of DPP_SOURCE_BRANCH_NAME, I figured it would make more sense to follow a name of DPP_BRANCH_NAME. All that to say, we now must set DPP_BRANCH_NAME equal to the value of DPP_SOURCE_BRANCH_NAME. 


[Branch 1] Process Call -

This step calls the modular process [UTILITY] Query Branch (by DPP_BRANCH_NAME). Instructions for configuring the process can be found here: https://community.boomi.com/s/article/Using-the-Boomi Enterprise Platform-API-to-query-a-Branch-based-upon-a-Branch-Name

[Branch 1] Set Properties - Set DPP_SOURCE_BRANCH_ID

This step sets the Dynamic Process Property DPP_SOURCE_BRANCH_ID equal to the ID that was passed back in the response document coming out of the [UTILITY] Query Branch (by DPP_BRANCH_NAME) sub-process.

[Branch 1] Stop Step

This signifies the end of Branch 1

[False] [Branch 2] Message - Clear Document

This step marks either the start of the False path from the Decision Step - “DPP_SOURCE_BRANCH_NAME Present?” or the start of Branch 2 coming off of the True path from the decision step. This step clears the current document leaving a blank document to flow into the next step.

[Branch 2] Map - Construct Branch CREATE Request

This step builds the XML request profile that will be sent to the Boomi Enterprise Platform API to create the Branch. The map takes a blank flat file and constructs the XML profile Branch CREATE Request by getting the contents of the Dynamic Process Properties: DPP_SOURCE_BRANCH_ID and DPP_NEW_BRANCH_NAME.

[Branch 2] REST Client

This step takes the newly created XML payload and sends it to the Boomi Enterprise Platform API, creating the new branch.

[Branch 2] Return Documents

This step passes the response from the create request back to whatever main process called this Create Branch Process and signifies the end of the Create Branch Process.