Unify and manage your data

Custom workflow review checklist

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

Review these requirements before submitting your custom workflow:

  • 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 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) is no longer supported as of 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 end-of-support 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.40.11</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 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.40.11.

    See the example:

    <dependency>
        <groupId>software.amazon.awssdk</groupId>
        <artifactId>s3</artifactId>
        <version>2.40.11</version>
    </dependency>
    
    <dependency>
        <groupId>software.amazon.awssdk</groupId>
        <artifactId>kms</artifactId>
        <version>2.40.11</version>
    </dependency>
    
    <dependency>
        <groupId>software.amazon.awssdk</groupId>
        <artifactId>aws-core</artifactId>
        <version>2.40.11</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 80% of your code with unit/integration tests.