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.

  • 0
    Certified Lead Developer
    in reply to naveenkumar11800

     

    Thank you for detailed analysis. I have now removed the archetype server and repo, currently having only jidoka server and repo.

    I think changing -Drepository to -DarchetypeRepository  partially worked, i could see the archetype-catalog.xml downloaded but still same error not able to locate the robot-archetype:3.7.0

    If you don't mind, could you please also share the settings.xml and your successful steps to create custom code?

    PS: I am trying this in Appian community environment.

    C:\Users\BharathwajRK\eclipse-workspace\ProcensolLibraries>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
    
    
    [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
    [INFO] Downloading from central: https://repo.maven.apache.org/maven2/archetype-catalog.xml
    [INFO] Downloaded from central: https://repo.maven.apache.org/maven2/archetype-catalog.xml (17 MB at 9.6 MB/s)
    [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:  3.380 s
    [INFO] Finished at: 2025-05-20T08:55:33+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

    Thanks,
    Bharathwaj RK

  • 0
    Certified Associate Developer
    in reply to bharathwajrk

    Thanks for sharing that follow-up. You’re very close —

    the switch to -DarchetypeRepository helped fetch the catalog, but the core issue is still Maven not locating the robot-archetype:3.7.0 inside the Appian Community repo.

    This usually happens because the Appian Community Maven repository does not host archetypes like robot-archetype anymore — it's only available in private enterprise environments.

    Summary of What's Happening:

    • You configured your settings.xml correctly with the jidoka server.

    • You used the correct -DarchetypeRepository flag.

    • But you're using Appian Community, which does not support custom robot archetype generation like enterprise/private Appian environments.


    nxet steps

    options 1: Use Appian's Latest Recommended SDK Setup

    Appian Community users should now use:

    Steps:

    1. Go to: https://github.com/appian/robot-sdk-template

    2. Click “Use this template” → create your own GitHub repo → clone it.

    3. Open it in Eclipse/IntelliJ.

    4. Update the pom.xml with your own groupId, artifactId, etc.

    5. Build with:

      bash
      mvn clean install
      
    6. Then upload the robot JAR file into Appian RPA console → Robots.


    Option 2:  Try an older working version (Optional, not guaranteed)

    If you still want to try archetype generation, replace 3.7.0 with older versions like 3.6.0 or 3.5.0, e.g.:

    bash

    -DarchetypeVersion=3.6.0
    

    …but even those might not be accessible unless you're on an enterprise Appian RPA instance.


    White check mark Recommendation

    Go with Option 1: GitHub SDK Template — it's Appian’s current standard method for custom Java code in RPA.

    Dont forget to upvote, thanks

Reply
  • 0
    Certified Associate Developer
    in reply to bharathwajrk

    Thanks for sharing that follow-up. You’re very close —

    the switch to -DarchetypeRepository helped fetch the catalog, but the core issue is still Maven not locating the robot-archetype:3.7.0 inside the Appian Community repo.

    This usually happens because the Appian Community Maven repository does not host archetypes like robot-archetype anymore — it's only available in private enterprise environments.

    Summary of What's Happening:

    • You configured your settings.xml correctly with the jidoka server.

    • You used the correct -DarchetypeRepository flag.

    • But you're using Appian Community, which does not support custom robot archetype generation like enterprise/private Appian environments.


    nxet steps

    options 1: Use Appian's Latest Recommended SDK Setup

    Appian Community users should now use:

    Steps:

    1. Go to: https://github.com/appian/robot-sdk-template

    2. Click “Use this template” → create your own GitHub repo → clone it.

    3. Open it in Eclipse/IntelliJ.

    4. Update the pom.xml with your own groupId, artifactId, etc.

    5. Build with:

      bash
      mvn clean install
      
    6. Then upload the robot JAR file into Appian RPA console → Robots.


    Option 2:  Try an older working version (Optional, not guaranteed)

    If you still want to try archetype generation, replace 3.7.0 with older versions like 3.6.0 or 3.5.0, e.g.:

    bash

    -DarchetypeVersion=3.6.0
    

    …but even those might not be accessible unless you're on an enterprise Appian RPA instance.


    White check mark Recommendation

    Go with Option 1: GitHub SDK Template — it's Appian’s current standard method for custom Java code in RPA.

    Dont forget to upvote, thanks

Children
No Data