sugarcrm egress connector

SugarCRM Egress Connector

Version: 17.07

Supported Since: 17.07

What is SugarCRM Egress Connector?

SugarCRM egress connector can be used to communicate with SugarCRM service (version 7.x) to handle operations at the SugarCRM side. Depending on the user’s requirement, relevant connector operations can be selected to do CRUD operations on SugarCRM entities such as Accounts, Contacts etc. Main advantage of using this connector is, user doesn’t require to know about the SugarCRM REST API and the required message payloads for each operations. This connector and its operations gets the burden of authentication, payload modification and REST operation management to make sure users' will be able to communicate with SugarCRM easily just by configuring requirement values as parameters in the respective connector operation.

In order to use the SugarCRM Egress Connector, you must first select the SugarCRM Connector dependency from the connector list when you are creating an empty Ultra project. If you have already created a project, you can add the SugarCRM Connector dependency via Component Registry. From Tools menu, select Ultra Studio → Component Registry and from the Connectors list, select the SalesForce Connector dependency.
sugarcrm egress connector ports

Out Ports

On Exception

The message will be emitted from this out port if the processing element failed to send the message to SugarCRM endpoint

Response Processor

The response message received from SugarCRM will be directed to this port. You can use this port to connect any precessing element or connector that is supposed to process/consume the response.

Side Ports

Connector Operation

This port is used to connect operational elements to the Egress Connector. By-default, user does not have to connect any operational element and the default connector operation will be used.


* marked fields are mandatory

SugarCRM Server Base URL *


SugarCRM server URL to communicate using the egress connector. This URL should be specific to user’s organization and it should be the base URL for the account which can be modified based on the selected operation for the egress connector and the relevant REST API to be invoked from that operation.

SugarCRM Username *


Username for the SugarCRM account.

SugarCRM Password *


Password for the SugarCRM account.

Authenticate at Startup


Whether to go through the authentication process and get the access token at the start up of the connector. If this is enabled, at the start up egress connector will fetch the access token and cache it for future calls.

Client ID


Client ID of user’s application. This defaults to 'sugar' which means it will be used to create OAuth key based on username and password without using client secret. Otherwise, the given client id is validated against the client secret and relevant client secret also should be configured for those client ids.

Client Secret


Client secret of your application to be used with above client id. This should be configured only if the is a custom client id instead of the default one(sugar).

Sample Use Case

Use case description

This is an example use case of SugarCRM egress connector which can be used to integrate existing web application with SugarCRM server for customer management. In this use case it will be illustrated how to integrate back end of the web application with the SugarCRM via exposing SugarCRM functionality as a HTTP endpoint using SugarCRM connector together with the NIO HTTPs connector.

In this integration, web back end will send a HTTP request to UltraESB-X to create an Account at SugarCRM. In this HTTP request, web back end should include required information such as account name, account description, account email, etc. as transport headers with pre-defined names. Then SugarCRM egress connector can be configured to fetch required information for account creation from these pre-defined transport headers.


To implement above use case, first let’s create our integration flow named “integrate-with-sugarcrm” and get required components from the component registry. For this use case it’s required to get, SugarCRM Egress Connector, HTTP NIO Connector from the connector store.

Then as the first element for the integration flow, NIO HTTP Ingress Connector should be added and configured to accept HTTP requests from the web back end. Depending on the requirement, HTTP port and service path can be configured in the HTTP ingress connector.

As the second element, Add Variable processing element should be added to extract out the operation to be invoked at the SugarCRM Accounts. As an example, if it’s required to create an Account, operation should be "CREATE" and if it’s required to update an existing account, operation should be "UPDATE". This is also decided by the web back end based on it’s requirement and set the required operation as a pre-defined transport header. Responsibility of this Add Variable, processing element is to extract out that header and set it as a scope variable which can be identified by the SugarCRM egress connector. Refer the Accounts Connector Operation for more details of this operation property. In this example let’s assume that web back end will send the required operation as a transport header with name "sugar-entity-operation", then Add Variable processing element should be configured with "Extraction Type" as "Header", "Value" as "sugar-entity-operation" and "Variable Name" as "SUGARCRM_OPERATION".

Then SugarCRM Egress connector should be added to integrate with SugarCRM server. This egress connector should be configured with the details of the SugarCRM account including, server URL, user name and password. Then it’s required to add Accounts Connector Operation as the connector operation for the SugarCRM egress connector to manipulate Accounts at the SugarCRM side. This connector operation should be configured with relevant parameter for account manipulation. As an example, if web back end is supposed to send account name as "sugar-account-name", account email address as "sugar-account-email", account description as "account-description" and so on, then Accounts Connector operation parameters should be configured as below.

  • Account Name: @{message.headers.sugar-account-name}

  • Email Addresses: @{message.headers.sugar-account-email}

  • Description: @{message.headers.sugar-account-description}

With all above elements, complete flow would be like this,

sugarcrm egress connector 1

Now if you run the flow, and send a request to the configured HTTP endpoint with the required parameters as transport headers, you should be able to see that your SugarCRM accounts will change based on your requests and configurations.

In this topic
In this topic
Contact Us