// Module included in the following assemblies:
// as_amq2api-intro.adoc

[id='amq2api-create-custom-step_{context}']
= Making a custom step available

{prodname} provides a number of steps that operate on 
integration data between connections. If {prodname} does not provide a
between-connections step that meets your need,
a developer can code an extension that defines one or more
custom steps that operate on data between connections. 
The developer gives you a `.jar` file that contains the extension.
You then upload the extension in {prodname} to make the custom step(s)
available for use in integrations. 

The AMQ to REST API sample integration uses a custom step that 
operates on data between connections to
identify items that were damaged when they were received. 

.Procedure
 
. In a new browser tab, go to 
https://github.com/syndesisio/fuse-online-sample-extension/releases. 
                    
. Download the *Damage Reporter* extension’s `.jar` file.     
                            
. In {prodname}, in the left panel, click *Customizations* > *Extensions*. 
. Click *Import Extension*. 
. Click in the dotted-line box and select the downloaded `.jar` file that 
contains the extension. 
{prodname} validates the file, extracts and displays the extension's 
ID, name, description, and type, and lists *Damage Reporter* as the custom step
that the extension defines.
. Click *Import Extension*. {prodname} makes the custom step available and displays
the list of extensions that have been imported. 

.Additional resources
For information about coding an extension and creating its `.jar` file, see: 

* link:{LinkToolingUserGuide}#FuseOnlineExtension[{NameOfToolingUserGuide} - Use Fuse tooling to develop an extension.]
* link:{LinkSyndesisIntegrationGuide}#developing-extensions_custom[{NameOfSyndesisIntegrationGuide} - Manually code an extension.]
