Kamelets (Kamel route snippets) allow users to connect to external systems via a simplified interface, hiding all the low level details about how those connections are implemented.

By default, calling kamelets should be done as endpoints with the kamelet component, such as to("kamelet:mykamelet").

The Kamelet EIP allows calling Kamelets (i.e. Route Template), for special use-cases.

When a Kamelet is designed for a special use-case such as aggregating messages, and returning a response message only when a group of aggregated message is completed. In other words the kamelet does not return a response message for every incoming message. In special situations like these, then you must use this Kamelet EIP instead of using the kamelet component.

Given the following Kamelet (as a route template):

Note how the route template above uses kamelet:sink as a special endpoint to send out a result message. This is only done when the Aggregate EIP has completed a group of messages.

And the following route using the kamelet:

    // this is not possible, you must use Kamelet EIP instead

Then this does not work, instead you must use Kamelet EIP instead:


When calling a Kamelet you may just refer to the name (template id) of the Kamelet in the EIP as shown below:


The Kamelet eip supports 1 options, which are listed below.

Name Description Default Type


Required Name of the Kamelet (templateId/routeId) to call. Options for the kamelet can be specified using uri syntax, eg mynamecount=4&type=gold.



Sets the description of this node.


Using Kamelet EIP


And in XML

    <from uri="direct:start"/>
    <kamelet name="foo"/>
    <to uri="mock:result"/>

Camel will then, when starting:

  • Lookup the Route Template with the given id (in the example above its foo) from the CamelContext

  • Create a new route based on the Route Template


The implementation of the Kamelet EIP is located in the camel-kamelet JAR, so you should add the following dependency:

    <!-- use the same version as your Camel core version -->

See Also

See the example camel-example-kamelet.