since v11.29.0

The extension point allows you to delegate the routing responsibility of issues to an external platform.

By implementing the interface ExternalRoutingConnector your plugin takes the responsibility to make routing decisions for issues and notifies the novomind iAGENT backend to fulfill the routing decision and to deliver the issues to the desired agent.


Please annotate your implementation of ExternalRoutingConnector with the runtime annotation ExternalRoutingConnectorPlugin to ensure, that your plugin will be loaded during runtime within the novomind iAGENT routing process and be assigned to any ExternalRouting configured with the name specified by the 'name' parameter of the annotation @ExternalRoutingConnectorPlugin.

Plugin classes annotated with the ExternalRoutingConnectorPlugin annotation need to define the required annotation parameters.

  1. name: The unique name of the external routing to be implemented by your plugin. It is strongly recommended to use a specific application or vendor id as prefix to avoid conflicts with other app's containing an @ExternalRoutingConnectorPlugin with the same name. Please ensure to implement all desired interfaces by your plugin class depending on the requirements e.g. if your plugin needs to be notified of agent availability changes it should also implement the interface AgentAvailabilityEventListener.


The extension point ExternalRoutingConnector must be implemented by your plugin to delegate the responsibility of making routing decisions for issues to the plugin or an external platform. The ExternalRoutingConnector is initialized with an RoutingWorkItemDecisionEventListener. The methods of this listener must be called to inform the novomind iAGENT system about the routing decisions of the plugin or external platform. In addition the ExternalRoutingConnector has to implement several methods called from the novomind iAGENT system to start or cancel routing request or to retrieve their current state.


To provide configuration options for your custom ExternalRoutingConnector you can use the extension point ExternalRoutingConnectorTabProvider.