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
miguelangel.carnero motoyay3833 rafaels247770
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
I’ve been through this rabbit hole myself—setting up custom Java code for Appian RPA can feel a bit like taming Outlook itself
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.
robot-archetype:3.7.0
Here are a few quick things to check:
settings.xml
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 initiallySometimes Maven can behave better if you just include the repo in settings.xml and leave out the profile flag from the command.
-Pjidoka-repo
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.
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
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
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.
The username should be your Appian community username (case-sensitive).
username
The password should be your Appian RPA Maven Refresh Token, not your normal password.
password
You can generate this from Appian RPA → Configuration → Maven Credentials.
It's often labeled something like mavenSettingsRefreshKey.
mavenSettingsRefreshKey
2 Ensure the correct server ID
In <servers>, you used: <id>jidoka</id>
<servers>
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.
id
archetype
jidoka
To fix this, try removing the <repository id="archetype"> block and just keep the jidoka repo and credentials.
<repository id="archetype">
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.
-DarchetypeRepository
-Drepository