Integration with LinkedIn using Mule ESB



LinkedIn is a business-oriented social networking service. LinkedIn was founded in December 2002 and launched on May 5, 2003. It is mainly used for professional networking. In this blog post,  a step by step procedure is shown for integrating LinkedIn with Mule ESB LinkedIn connector.

Versions and Assumptions

  • In this blog post, we are using
    • LinkedIn Connector 1.1.0
    • Anypoint Studio
    • Mule ESB Server 3.5.2
  • To use this application in the project, a LinkedIn account is necessary for testing
  • We need to create a new LinkedIn app under LinkedIn developer apps to be able to communicate with the LinkedIn account from Mule ESB application
  • In this blog post, we will be using OAuth2 authentication to connect to LinkedIn using Mule ESB LinkedIn Connector


Configuring LinkedIn App

  • Go to
  • Click on Add new Application
  • Fill in the form and click on Add Application
  • Make a note of the consumer key, consumer secret and the OAuth2 Redirect URL as these will be used during our Mule ESB application configuration
  • Click on Done

A sample screen shot is given below


Linkedin App Register


Linkedin App Register

LinkedIn API Details

Linked API Details


Configuring LinkedIn Connector

  • Create a new Mule Application
  • Click on Global Elements tab in your main flow
  • Click on Create Button
  • Select LinkedIn under Connector Configuration group
  • Add LinkedIn consumer key value to API Key text box
  • Add LinkedIn consumer secret value to API Secret text box
  • Add “r_basicprofile,r_network” in the scope text box
  • Click on Oauth tab and specify domain, local port, remote port and Path values
  • The Oauth values should be same as what is configured in LinkedIn App

A sample screen and XML configuration is given below:

LinkedIn Connector_1

LinkedIn Connector

LinkedIn Connector_2

LinkedIn Connector

<linkedin:config name="LinkedIn_Confog" apiKey="${apiKey}"
apiSecret="${apiSecret}" doc:name="LinkedIn" scope="r_basicprofile,r_network">
<linkedin:oauth-callback-config domain="localhost"
localPort="3333" remotePort="3333" path="linkedinauthorize" />


Mule Flow for LinkedIn Authentication and getting user profile

  • Configure a flow as given below

Mule Flow

<flow name="linkedinconnectFlow1" doc:name="linkedinconnectFlow1">
<http:inbound-endpoint exchange-pattern="request-response"
host="localhost" port="3300" doc:name="HTTP" path="linkedinconnect" />
<linkedin:authorize config-ref="LinkedIn_Confog"
doc:name="Authorize" />
<logger message="#[flowVars]" level="INFO" doc:name="Logger" />
<flow name="linkedinconnectFlow2" doc:name="linkedinconnectFlow2">
<http:inbound-endpoint exchange-pattern="request-response"
host="localhost" port="3300" path="getuser" doc:name="HTTP" />
<linkedin:get-profile-by-url config-ref="LinkedIn_Confog"
profileType="PUBLIC" doc:name="LinkedIn">
doc:name="Object to JSON" />
<logger message="#[payload]" level="INFO" doc:name="Logger" />


Testing and Observation

  • Deploy the mule application
  • Hit the following URL on the browser


  • LinkedIn will ask us to authorize the new app to connect to LinkedIn as shown below
  • Provide the username and password
  • Click on Allow access
  • We should now see “oauth_token” and “oauth_verifier” values printed on our browser
  • Now hit the below URL


  • We should now see the user public profile details printed on your browser in JSON format


If you would like to find out more about how Systems Integration could help you make the most out of your current infrastructure while enabling you to open your digital horizons, do give us a call at +44 (0)203 475 7980 or email us at

Other useful links:

Integration with Twitter using Mule ESB

Integration of Mule ESB with Microsoft Azure

Integration with Dropbox using Mule ESB

Recent Posts