Unify and manage your data

Custom workflow review checklist

Learn how to go through the checklist before submitting your custom workflow for review.

Consider these points when submitting custom workflows:

  • The .JAR must be built on JDK17. Ensure that the classes are built on JDK17 and no unsupported features are used.
  • Set the scope of Workflow SDK dependencies to provided. For more information, see topic Dependency Scope.

    Example:

    
    <dependency>
    	<groupId>com.reltio.workflow</groupId>
    	<artifactId>workflow-api</artifactId>
    	<version>2025.2.0.0</version>
    	<scope>provided</scope>
    </dependency>
    
    <dependency>
    	<groupId>com.reltio.workflow</groupId>
    	<artifactId>workflow-custom</artifactId>
    	<version>2025.2.0.0</version>
    	<scope>provided</scope>
    </dependency>
    
  • The custom workflow must use the AWS SDK to run Lambda functions with AWS libraries as dependencies.

    Important: AWS SDK for Java v1 (com.amazonaws) will reach end of support on December 31, 2025. If you're still using v1, begin planning a migration to AWS SDK v2 (software.amazon.awssdk). For more information, see the

    AWS announcement.

    You can use the sample pom.xml file given as a template for building custom workflow using Maven.

    Sample: pom.xml

    <project xmlns="http://maven.apache.org/POM/4.0.0"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
    
        <groupId>com.reltio.customername</groupId>
        <artifactId>custom-workflow</artifactId>
        <version>1.0.7</version>
    
        <properties>
            <aws.sdk.version>2.31.0</aws.sdk.version>
            <jdk>17</jdk>
        </properties>
    
        <dependencies>
    
            <!-- AWS SDK v2 modules -->
            <dependency>
                <groupId>software.amazon.awssdk</groupId>
                <artifactId>lambda</artifactId>
                <version>${aws.sdk.version}</version>
            </dependency>
    
            <dependency>
                <groupId>software.amazon.awssdk</groupId>
                <artifactId>s3</artifactId>
                <version>${aws.sdk.version}</version>
            </dependency>
    
            <dependency>
                <groupId>software.amazon.awssdk</groupId>
                <artifactId>kms</artifactId>
                <version>${aws.sdk.version}</version>
            </dependency>
    
            <!-- Add other AWS services as needed -->
            <!-- For example: dynamodb, sns, sqs, etc. -->
    
            <!-- Reltio Workflow SDK -->
            <dependency>
                <groupId>com.reltio.workflow</groupId>
                <artifactId>workflow-api</artifactId>
                <version>2025.2.0.0</version>
                <scope>provided</scope>
            </dependency>
    
            <dependency>
                <groupId>com.reltio.workflow</groupId>
                <artifactId>workflow-custom</artifactId>
                <version>2025.2.0.0</version>
                <scope>provided</scope>
            </dependency>
    
            <!-- Optional: GSON (set as provided) -->
            <dependency>
                <groupId>com.google.code.gson</groupId>
                <artifactId>gson</artifactId>
                <version>2.8.4</version>
                <scope>provided</scope>
            </dependency>
    
        </dependencies>
    
        <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <configuration>
                        <source>${jdk}</source>
                        <target>${jdk}</target>
                    </configuration>
                </plugin>
    
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-shade-plugin</artifactId>
                    <version>3.2.1</version>
                    <configuration>
                        <createDependencyReducedPom>false</createDependencyReducedPom>
                    </configuration>
                    <executions>
                        <execution>
                            <phase>package</phase>
                            <goals>
                                <goal>shade</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </build>
    
        <repositories>
            <repository>
                <id>reltio-libs-release</id>
                <name>Reltio release repository</name>
                <url>https://repo-dev.reltio.com/content/repositories/public</url>
            </repository>
        </repositories>
    </project>
    
    
  • The .JAR file must include the dependencies packaged, which are listed in the pom.xml file. For more information, see topic Apache Maven Shade Plugin.
  • Add the scope to "", if there are similar dependencies in the AWS SDK and Workflow API.

    Ensure that the version is one similar to 2.31.0.

    See the example:

    <dependency>
        <groupId>software.amazon.awssdk</groupId>
        <artifactId>s3</artifactId>
        <version>2.31.0</version>
    </dependency>
    
    <dependency>
        <groupId>software.amazon.awssdk</groupId>
        <artifactId>kms</artifactId>
        <version>2.31.0</version>
    </dependency>
    
    <dependency>
        <groupId>software.amazon.awssdk</groupId>
        <artifactId>aws-core</artifactId>
        <version>2.31.0</version>
    </dependency>
    
  • Set the scope to "provided", when you use the GSON library.

    See the example:

    
    <dependency>
        <groupId>com.google.code.gson</groupId>
        <artifactId>gson</artifactId>
        <version>2.8.4</version>
        <scope>provided</scope>
    </dependency>
    
  • There must not be any unused dependencies.
  • Cover at least 70% of your code with unit/integration tests.