How to create a custom connector in Mulesoft

February 01, 2023

Tags: Technologies, IT Staff Augmentation

Table of contents

Yes, I liked thiscontent.



Mulesoft is one of the most useful technological tools on the market when it comes to data integration and connectors. It is capable of integrating various web applications and software in one place, even offering the possibility of custom connectors working with Anypoint Connectors.


Anypoint Connectors is a Mulesoft feature that provides its users with the ability to create a connection between a Mule stream and an external system, such as a content source or database. In addition to this, in parallel to the already ready connectors that you have available to use, you can create a custom one that best suits the needs of the project.


It may be that sometimes the correct connector is not found to integrate the systems or the one that ends up being chosen eventually does not have the necessary functionalities to keep up with the passage of time, so it needs to be changed and thus have to work extra.





Create custom connector in Mulesoft


Before explaining the build steps, you should be familiar with Anypoint Studio 7+ and have the JDK, Anypoint Studio 7+, and Maven versions installed.


Now yes, to create the connector you must execute the following command in the symbol where you want to create the project. Since it cannot be done from Anypoint Studio, a Maven archetype must be used.


Step 1: Open command prompt/git bash where you want to create the project and run the following command as shown below:


mvn org.mule.extensions:mule-extensions-archetype-maven-plugin:generate


Step 2: Configuration


After executing the above command, it will ask you to configure the following:


  • Extension name
  • Extension group ID
  • Extension Artifact ID
  • Extension version
  • Main extension package


These data must be provided in this way:


  • Extension name: DemoConnector
  • Extension group ID: com.Demo.muleConnector
  • Extension artifact: mulesoft-demo-connector
  • Extension version: 1.0.0
  • Main extension package: org.mule.extension.Demo


Step 3: Import


In this step, you should import the project to your workplace.


Step 4: Install the project


After the project has been imported, go to the workspace and run this command to build the jar:


mvn clean install –DskipTests


Step 5: Update the dependencies

The user should now go to the Mule application where the connector will be installed and update the dependency as follows:


<groupId> com.Demo.muleConnector</groupId>
<artifactId> mulesoft-demo-connector</artifactId>


Step 6: Mule Palette


After adding the dependency, click save so that the plugin is added to the Mule palette. So:




Step 7: Install Connector


The next step is to add the version of the connector in the application pom.xml where you want to install the connector and save it so that it is updated and can be displayed as follows:


<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<version>1.0.1 </version>
<name>Demo Extension-Project</name>

Step 8: Custom Connector Configuration


To create configuration in the custom connector, the following steps must be followed:


* Example of an operation that uses the configuration and a connection instance to perform some action.
@MediaType(value = ANY, strict = false)
public String retrieveInfo(@Config DemoConfiguration configuration, @Connection DemoConnection connection){
return "Using Configuration [" + configuration.getConfigId() + "] with Connection id [" + connection.getId() + "]";


Step 9: Creating Configuration and Connection Classes


There is one field for settings and two fields for connection classes, and they can be created as follows:




* This class represents an extension configuration, values set in this class are commonly used across multiple
* operations since they represent something core from the extension.
public class DemoConfiguration {
private String configId;
public String getConfigId(){
return configId;


Connection classes:


* A parameter that is always required to be configured.
private String requiredParameter;
* A parameter that is not required to be configured by the user.
@Optional(defaultValue = "100")
private int optionalParameter;


This way it is possible to create a custom connector with Mulesoft.


We recommend you on video