Appian RPA - Custom Code developer [RPA Beginner]

Certified Lead Developer

Hi Appian Solutions / Appian Community , 

https://docs.appian.com/suite/help/24.4/rpa-9.16/java-module-ms-outlook.html 

I'm working on creating a custom Java code for the Appian RPA MS Outlook module. While I've finished the Java component, I'm unsure how to integrate or put those into Appian RPA. 

It would be great to get some insights on best practices and common challenges from someone with experience in this area. I tried to follow the Appian RPA documentation, but somewhere felt like lost.

Could anyone with experience incorporating custom Java code into Appian RPA offer some guidance?

 

Thanks,

Bharathwaj RK

  Discussion posts and replies are publicly visible

Parents
  • 0
    Certified Lead Developer

       

    Tried to create a new maven project using the command from https://docs.appian.com/suite/help/24.4/rpa-9.16/maven-setup.html 

    command used

    mvn archetype:generate -B -DarchetypeGroupId=com.novayre.jidoka.robot 
    -DarchetypeArtifactId=robot-archetype -DarchetypeVersion=3.7.0 
    -DgroupId=com.appian.robot -DartifactId=RKB_Outlook 
    -Dversion=0.0.1 
    -Drepository=https://us.appian.community/rpa/repo/ -Pjidoka-repo

    Received Response

    [INFO] Scanning for projects...
    [INFO]
    [INFO] ------------------< org.apache.maven:standalone-pom >-------------------
    [INFO] Building Maven Stub Project (No POM) 1
    [INFO] --------------------------------[ pom ]---------------------------------
    [INFO]
    [INFO] >>> archetype:3.4.0:generate (default-cli) > generate-sources @ standalone-pom >>>
    [INFO]
    [INFO] <<< archetype:3.4.0:generate (default-cli) < generate-sources @ standalone-pom <<<
    [INFO]
    [INFO]
    [INFO] --- archetype:3.4.0:generate (default-cli) @ standalone-pom ---
    [INFO] Generating project in Batch mode
    [WARNING] Archetype not found in any catalog. Falling back to central repository.
    [WARNING] Add a repository with id 'archetype' in your settings.xml if archetype's repository is elsewhere.
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD FAILURE
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time:  2.922 s
    [INFO] Finished at: 2025-05-19T17:07:32+10:00
    [INFO] ------------------------------------------------------------------------
    [ERROR] Failed to execute goal org.apache.maven.plugins:maven-archetype-plugin:3.4.0:generate (default-cli) on project standalone-pom: The desired archetype does not exist (com.novayre.jidoka.robot:robot-archetype:3.7.0) -> [Help 1]
    [ERROR]
    [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
    [ERROR] Re-run Maven using the -X switch to enable full debug logging.
    [ERROR]
    [ERROR] For more information about the errors and possible solutions, please read the following articles:
    [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

  • 0
    Certified Associate Developer
    in reply to bharathwajrk

    I’ve been through this rabbit hole myself—setting up custom Java code for Appian RPA can feel a bit like taming Outlook itself Sweat smile

    From the error log, it looks like Maven can’t locate the robot-archetype:3.7.0 from the Appian RPA repository. That usually means the custom repository isn’t properly recognized.

    Here are a few quick things to check:

    1. Make sure settings.xml is updated

    You need to add the Appian Community repo explicitly in your Maven settings.xml. Here’s what it should include:


    <profiles>
      <profile>
        <id>jidoka-repo</id>
        <repositories>
          <repository>
            <id>archetype</id>
            <url>https://us.appian.community/rpa/repo/</url>
          </repository>
        </repositories>
      </profile>
    </profiles>
    
    <activeProfiles>
      <activeProfile>jidoka-repo</activeProfile>
    </activeProfiles>
    


    2. Try without the -Pjidoka-repo flag initially
    Sometimes Maven can behave better if you just include the repo in settings.xml and leave out the profile flag from the command.


    If everything is set up right and you still hit a wall, let me know—happy to share a working settings.xml snippet or my own successful setup steps.

  • 0
    Certified Lead Developer
    in reply to naveenkumar11800

     

    Thank you for your response. still facing some weird error. not sure why.

    My settings.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 https://maven.apache.org/xsd/settings-1.0.0.xsd">
      <pluginGroups>
      </pluginGroups>
      <proxies>
      </proxies>
    
      <servers>
    	<server>
    	  <id>jidoka</id>
    	  <username>appianUsername</username>
    	  <password>rpaMavenRefreshKey</password>
    	</server>
      </servers>
      <profiles>
    	<profile>
    		<id>jidoka-repo</id>
    		<repositories>
    			<repository>
    				<id>jidoka</id>
    				<url>https://us.appian.community/rpa/repo/</url>
    				<releases>
    					<enabled>true</enabled>
    				</releases>
    				<snapshots>
    					<enabled>true</enabled>
    				</snapshots>
    			</repository>
    			<repository>
    				<id>archetype</id>
    				<url>https://us.appian.community/rpa/repo/</url>
    			</repository>
    		</repositories>
    	  <pluginRepositories>
    		<pluginRepository>
    		  <id>jidoka</id>
    		  <url>https://us.appian.community/rpa/repo/</url>
    		  <releases>
    			<enabled>true</enabled>
    		  </releases>
    		  <snapshots>
    			<enabled>true</enabled>
    		  </snapshots>
    		</pluginRepository>
    	  </pluginRepositories>
    	</profile>
      </profiles>
      
      <activeProfiles>
        <activeProfile>jidoka-repo</activeProfile>
      </activeProfiles>
    
    </settings>
    

    CMD Used - Tried with and without -Pjidoka-repo

    mvn archetype:generate -B 
    -DarchetypeGroupId=com.novayre.jidoka.robot 
    -DarchetypeArtifactId=robot-archetype 
    -DarchetypeVersion=3.7.0 
    -DgroupId=com.appian.robot 
    -DartifactId=RKB_Outlook -Dversion=0.0.1 
    -Drepository=https://us.appian.community/rpa/repo/ -Pjidoka-repo

    Response: 

    [INFO] --------------------------------[ pom ]---------------------------------
    [INFO]
    [INFO] >>> archetype:3.4.0:generate (default-cli) > generate-sources @ standalone-pom >>>
    [INFO]
    [INFO] <<< archetype:3.4.0:generate (default-cli) < generate-sources @ standalone-pom <<<
    [INFO]
    [INFO]
    [INFO] --- archetype:3.4.0:generate (default-cli) @ standalone-pom ---
    [INFO] Generating project in Batch mode
    [INFO] Downloading from archetype: https://us.appian.community/rpa/repo/archetype-catalog.xml
    [WARNING] Could not transfer metadata /archetype-catalog.xml from/to archetype (https://us.appian.community/rpa/repo/): status code: 401, reason phrase:  (401)
    [WARNING] failed to download from remoteorg.eclipse.aether.transfer.MetadataTransferException: Could not transfer metadata /archetype-catalog.xml from/to archetype (https://us.appian.community/rpa/repo/): status code: 401, reason phrase:  (401)
    [WARNING] No archetype found in remote catalog. Defaulting to internal catalog
    [WARNING] Archetype not found in any catalog. Falling back to central repository.
    [WARNING] Add a repository with id 'archetype' in your settings.xml if archetype's repository is elsewhere.
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD FAILURE
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time:  2.214 s
    [INFO] Finished at: 2025-05-19T17:49:35+10:00
    [INFO] ------------------------------------------------------------------------
    [ERROR] Failed to execute goal org.apache.maven.plugins:maven-archetype-plugin:3.4.0:generate (default-cli) on project standalone-pom: The desired archetype does not exist (com.novayre.jidoka.robot:robot-archetype:3.7.0) -> [Help 1]
    [ERROR]
    [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
    [ERROR] Re-run Maven using the -X switch to enable full debug logging.
    [ERROR]
    [ERROR] For more information about the errors and possible solutions, please read the following articles:
    [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

  • 0
    Certified Associate Developer
    in reply to bharathwajrk

      command syntax look well-structured overall. The HTTP 401 Unauthorized is the key issue here — it means your credentials to access the Appian RPA Maven repo aren't being accepted.

    1. Verify the credentials

    • The username should be your Appian community username (case-sensitive).

    • The password should be your Appian RPA Maven Refresh Token, not your normal password.

      • You can generate this from Appian RPA → Configuration → Maven Credentials.

      • It's often labeled something like mavenSettingsRefreshKey.

    2 Ensure the correct server ID

    • In <servers>, you used: <id>jidoka</id>

    3. Archetype repo ID mismatch

    Even though you've declared an id of archetype, the 401 is showing up from archetype, which suggests Maven is treating the archetype repo separately and doesn’t know to use the jidoka credentials.

    To fix this, try removing the <repository id="archetype"> block and just keep the jidoka repo and credentials.

    Alternatively, set the archetype repo ID to jidoka both in command line and settings.xml to unify credentials usage.

    mvn archetype:generate -B \
    -DarchetypeGroupId=com.novayre.jidoka.robot \
    -DarchetypeArtifactId=robot-archetype \
    -DarchetypeVersion=3.7.0 \
    -DgroupId=com.appian.robot \
    -DartifactId=RKB_Outlook \
    -Dversion=0.0.1 \
    -DarchetypeRepository=https://us.appian.community/rpa/repo/ \
    -Pjidoka-repo

    Use -DarchetypeRepository (not just -Drepository) to ensure it targets the right one.

Reply
  • 0
    Certified Associate Developer
    in reply to bharathwajrk

      command syntax look well-structured overall. The HTTP 401 Unauthorized is the key issue here — it means your credentials to access the Appian RPA Maven repo aren't being accepted.

    1. Verify the credentials

    • The username should be your Appian community username (case-sensitive).

    • The password should be your Appian RPA Maven Refresh Token, not your normal password.

      • You can generate this from Appian RPA → Configuration → Maven Credentials.

      • It's often labeled something like mavenSettingsRefreshKey.

    2 Ensure the correct server ID

    • In <servers>, you used: <id>jidoka</id>

    3. Archetype repo ID mismatch

    Even though you've declared an id of archetype, the 401 is showing up from archetype, which suggests Maven is treating the archetype repo separately and doesn’t know to use the jidoka credentials.

    To fix this, try removing the <repository id="archetype"> block and just keep the jidoka repo and credentials.

    Alternatively, set the archetype repo ID to jidoka both in command line and settings.xml to unify credentials usage.

    mvn archetype:generate -B \
    -DarchetypeGroupId=com.novayre.jidoka.robot \
    -DarchetypeArtifactId=robot-archetype \
    -DarchetypeVersion=3.7.0 \
    -DgroupId=com.appian.robot \
    -DartifactId=RKB_Outlook \
    -Dversion=0.0.1 \
    -DarchetypeRepository=https://us.appian.community/rpa/repo/ \
    -Pjidoka-repo

    Use -DarchetypeRepository (not just -Drepository) to ensure it targets the right one.

Children
No Data