Skip to main content
kodelav296083
March 12, 2026
Question

Appian Plugin Deploys Successfully but No Modules Appear in Admin Console (Expression Function)

  • March 12, 2026
  • 9 replies
  • 2 views

Title:
Appian Plugin Deploys Successfully but No Modules Appear in Admin Console (Expression Function)

Question:

Hello everyone,

I am developing a simple Appian expression function plugin using Java and Maven in Spring Tool Suite (STS) for Appian 24.1 On-Prem.

The plugin deploys successfully in Admin Console, but the Modules column is empty, so the function does not appear in the Expression Editor and cannot be used in an Expression Rule.

What I have done so far:

  1. Created a simple Java class:

package com.example;

import com.appiancorp.suiteapi.expression.annotations.Function;
import com.appiancorp.suiteapi.expression.annotations.Parameter;

public class HelloPlugin {

    @Function
    public static String hello(@Parameter String name) {
        return "Hello " + name + " from plugin";
    }

}
  1. Created appian-plugin.xml:

<appian-plugin key="hello-plugin"
               name="Hello Plugin"
               description="Simple expression function plugin"
               version="1.0.0"
               vendor="Example">

    <functions>
        <function>com.example.HelloPlugin</function>
    </functions>

</appian-plugin>
  1. Project structure:

src/main/java/com/example/HelloPlugin.java
src/main/resources/META-INF/appian-plugin.xml
  1. Built the plugin using:

mvn clean package
  1. Uploaded the generated JAR in Admin Console → Plug-ins.

The plugin installs successfully, but the Modules column remains empty, and the function hello() does not appear in the expression editor.

Questions:

  • What could cause a plugin to deploy successfully but not register any modules?

  • Is there any additional configuration required for expression function plugins in Appian 24.1?

  • Could this be related to the plugin packaging or manifest configuration?

Any guidance would be appreciated.

Thanks!

    9 replies

    shubhama926776
    March 12, 2026

    You could try this,
    Replace <functions> with <expression-function key="hello" name="hello" class="com.example.HelloPlugin"/> in your XML.
    Remove static from your Java method.
    Run mvn clean package, re-upload JAR -> Modules will populate. 

    kodelav296083
    March 12, 2026

    Thank you for the response Shubham
    and Yeah I did the Modifications you told,but still modeules weren't available 
    Do we need to restart the server after deploying to get the modules available?

    shubhama926776
    March 12, 2026

    No restart needed!
    Without logs/pom.xml, exact cause can't be confirmed. Can you share either?

    kodelav296083
    March 13, 2026

    Anyone know?

    March 27, 2026

    Your appian-plugin.xml seems to be incorrect. Use below in place of <functions> tag. <functions> is not required.

    kodelav296083
    March 27, 2026

    I have done that as well
    Still modules are not appearing

    taylorb547622
    April 1, 2026
    Since you've tried the XML fixes already and modules still don't show up, the issue is almost certainly one of these two things: **1. Missing resource bundle.** Appian 24.1 requires a properties file for every expression function. Create `src/main/resources/com/example/HelloPlugin.properties` with at least: `hello.name=hello` `hello.description=Returns a greeting` The keys must match the function name. Without this file the plugin loads but registers zero modules because it can't resolve the function metadata. **2. The JAR isn't shading dependencies correctly.** Make sure your pom.xml uses maven-shade-plugin or maven-assembly-plugin to produce a fat JAR. If the Appian SDK classes end up inside your JAR instead of being marked as `provided`, the classloader conflict silently prevents module registration. Check your `tomcat-stdOut.log` right after uploading. Even when Modules shows empty, Appian usually logs a specific error like 'Could not resolve resource bundle' or 'ClassNotFoundException.' That log entry will tell you exactly which of these two it is.
    kodelav296083
    April 1, 2026

    It Was Solved
    Thank you!!