# mulesoft SAP SuccessFactors Connector - Full Documentation --- product: SAP SuccessFactors Connector version: 5.0 is-latest-version: true --- # SAP SuccessFactors 5.0 - Additional Configuration Information > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Perform additional configuration for Anypoint Connector for SAP SuccessFactors (SuccessFactors Connector), such as using a query as a filter. ## Use a Query as a Filter To configure the **Query** operation to perform queries over entities of a specified type, follow these steps: 1. Select the **Query** operation on the canvas. 2. In the **General** properties tab, select **Query value** from the **Filter** drop-down. 3. In the **Value** field, enter the filter options using the format described in the [ODATA URI Conventions](https://www.odata.org/documentation/odata-version-2-0/uri-conventions/) site, item 4.5. 4. Select the **Entity set name** from the list. The following are some example queries: - `startswith(username, 'Mule') eq true` - `startswith(username, 'JA') eq true or endswith(username, 'n3') eq true` - `username eq 'Mike'` The **Query value** is only used for the **Filter** field. The actual query is built by the connector. ## Generate a Keystore File In SAP SuccessFactors Connector 5.0 and later, **The private key from the X.509 certificate.** is removed from OAuth SAML Bearer Assertion Authentication. You can migrate your existing public-private certificates into a keystore file. These steps show how to generate a Java keystore (JKS) file. 1. Go to your Mule workspace and open the command prompt (for Windows) or Terminal (for Mac). 2. Enter this command: ```none keytool -genkeypair -alias successfactors-cert -keyalg RSA -keystore successfactors-cert.jks ``` 3. Enter the following information: - Password for the keystore - Your first name and last name - Your organization unit - Your city and state, and the two-letter code for your country The system generates a Java keystore file (JKS format) that contains a private or public key pair in your workspace. 4. Provide the file path for the keystore in your connector configuration. Enter this command: ```none keytool -exportcert -alias successfactors-cert -file successfactors-cert.crt -keystore successfactors-cert.jks ``` The system exports the public key from the keystore into the workspace. This is the public key to enter in your SuccessFactors instance. 5. Verify that you have both the keystore (`successfactors-cert.jks`) and the public key (`successfactors-cert.crt`) files in your workspace. ## Next Step After you complete configuring the connector, you can try the [Examples](https://docs.mulesoft.com/sap-successfactors-connector/latest/sap-successfactors-connector-examples). ## See Also - [Introduction to Anypoint Connectors](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [Salesforce Help](https://help.salesforce.com) --- product: SAP SuccessFactors Connector version: 5.0 is-latest-version: true --- # SAP SuccessFactors Connector 5.0 > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Anypoint Connector for SAP SuccessFactors (SuccessFactors Connector) provides full support to query, create, update, and delete entities using the OData API exposed by SuccessFactors. This connector enables you to: - Create, update, and delete entities - Retrieve a single entity by ID or query multiple entities For compatibility information and fixed issues, see the SAP SuccessFactors Connector Release Notes. ## Before You Begin To use this connector, you must be familiar with: - SAP SuccessFactors OData API - Mule runtime engine (Mule) - Anypoint Connectors - Anypoint Studio or Anypoint Code Builder Before creating an app, you must have: - Credentials to access a SuccessFactors developer account - A valid SAP SuccessFactors instance - A MuleSoft Enterprise license - Access to Anypoint Studio or Anypoint Code Builder ## Common Use Cases for the Connector Some common use cases for SuccessFactors Connector include: - Creating and deleting entities in SuccessFactors - Retrieving an entity by ID - Performing queries over entities of a specified type For examples, see [Examples](https://docs.mulesoft.com/sap-successfactors-connector/latest/sap-successfactors-connector-examples). ## Audience - New users, read: - [Using Anypoint Studio to Configure the Connector](https://docs.mulesoft.com/sap-successfactors-connector/latest/sap-successfactors-connector-studio) to create your Mule app - [Additional Configuration Information](https://docs.mulesoft.com/sap-successfactors-connector/latest/sap-successfactors-connector-config-topics) to help extend your understanding of the connector - [Examples](https://docs.mulesoft.com/sap-successfactors-connector/latest/sap-successfactors-connector-examples), which provide one or more use cases for the connector - Advanced users, read: - [XML and Maven Support](https://docs.mulesoft.com/sap-successfactors-connector/latest/sap-successfactors-connector-xml-maven) - [Additional Configuration Information](https://docs.mulesoft.com/sap-successfactors-connector/latest/sap-successfactors-connector-config-topics) to help extend your understanding of the connector - [Examples](https://docs.mulesoft.com/sap-successfactors-connector/latest/sap-successfactors-connector-examples), which provides one or more use cases for the connector For upgrade information, see [Upgrading and Migrating SAP SuccessFactors Connector](https://docs.mulesoft.com/sap-successfactors-connector/latest/sap-successfactors-connector-upgrade-migrate). ## See Also - [Introduction to Anypoint Connectors](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [Use Exchange to Discover Connectors, Templates, and Examples](https://docs.mulesoft.com/connectors/introduction/intro-use-exchange) - [SAP SuccessFactors Connector Reference](https://docs.mulesoft.com/sap-successfactors-connector/latest/sap-successfactors-connector-reference) - [SuccessFactors HCM Suite Help](https://help.sap.com/docs/r/product/SAP_SUCCESSFACTORS_HXM_SUITE) - [Salesforce Help](https://help.salesforce.com) --- product: SAP SuccessFactors Connector version: 5.0 is-latest-version: true --- # SAP SuccessFactors Connector 5.0 - Examples > For the full documentation index, see: https://docs.mulesoft.com/llms.txt These examples show how to create flows to invoke some of SAP SuccessFactor’s standard operations, including how to: - [Create a query](#create-query-flow) to query across entities. - [Create an entry in SuccessFactors](#create-entry). - [Get an entity by ID](#get-entity-by-id). - [Create and update an entry](#update-entry) in SuccessFactors. - [Delete an entry from SuccessFactors](#delete-entry). ## Prerequisite Steps 1. [Create a Mule Project](#create-mule-project) 2. [Specify Your Credentials](#specify-credentials) 3. [Configure a Global Element](#configure-global-element) ### Create a Mule Project In Studio, create a new Mule project in which to add and configure the connector: 1. In Studio, select **File > New > Mule Project**. 2. In **Project Name**, enter a name for your Mule project. This example uses the name `successfactors-operations`. 3. Click **Finish**. ### Specify Your Credentials 1. In **Package Explorer**, under `/src/main/resources/`, create a file named `mule-app.properties`. 2. Specify your credentials for connecting to SuccessFactors, for example: config.companyId= config.userName= config.password= 3. Save the file. ### Configure a Global Element for the Connector Configure a global element to provide the authentication credentials that the connector requires to access the target SuccessFactors system. 1. At the base of the Studio canvas, click **Global Elements**. 2. Select **SAP SuccessFactors Config** and click **Edit**. 3. In the SAP SuccessFactors Configuration window, enter the connection credentials. 4. From the **Data Center’s Endpoint URL** drop-down, select the SuccessFactor’s Web API URL. 5. Click **OK**. 6. Click **Test Connection** to verify the connection to SAP SuccessFactors. A success message appears. ## Create the Query Operation Flow Create a flow that uses the **Query** operation to perform queries over entities of a specified type: 1. In the **Mule Palette** view, select **HTTP > Listener**. 2. Drag **Listener** to the Studio canvas. 3. On the **Listener** configuration screen, optionally change the value of the **Display Name** field. 4. Specify `/list` for the **Path** field. 5. Click the plus sign (**+**) next to the **Connector configuration** field to configure a global element that can be used by all instances of HTTP **Listener** in the app. 1. On the **General** tab, specify connection information for the connector. 2. Click **Test Connection** to confirm that Mule can connect with the specified server. 3. Click **OK**. 6. In the **Mule Palette** view, select **SAP SuccessFactors**, then select the **Query** operation and drag it on to the Studio canvas to the right of the **Listener** operation. 7. In the left pane of the **Mule Palette**, click **Favorites**. 8. Select **Transform Message** and drag it on to the Studio canvas to the right of the **Query** operation. The **Transform Message** component transforms the data structure and format to produce the output the connector expects, in this case, `application/json`: %dw 2.0 output application/json --- payload 9. Add a **Logger** component to the end of the flow that takes a `payload` (or `#[payload]`) as the message. The following image shows the SuccessFactors **Query** operation flow: ![Mule flow using an HTTP Listener source, SuccessFactory Query operation, Transform Message, and Logger components](/mulesoft/current/en-us/sap-successfactors-connector/latest/_images/sap-successfactors-query-flow.png) ### XML for Creating a Query This is the XML for the **Query** operation flow: ```xml ``` ### Test the Flow To test the flow: 1. Run the app. 2. Open a browser. 3. Navigate to `http://localhost:8081/list`. ## Create an Entry on SuccessFactors Example The following flow uses the SuccessFactors **Create entity** operation to create an entry on SuccessFactors: ![Mule flow using an HTTP Listener source, SuccessFactors Create entity operation, Transform Message, and Logger components](/mulesoft/current/en-us/sap-successfactors-connector/latest/_images/sap-successfactors-ops-1.png) ### XML for Creating an Entry This is the XML for the **Create entity** operation flow: ```xml ``` ### Test the Flow To test the flow: 1. Run the app. 2. Open a browser. 3. Navigate to `http://localhost:8081/create`. ## Get Entity by ID Flow The following flow uses the **Get entity by id** operation to retrieve an entity by ID: ![Mule flow using an HTTP Listener source, SuccessFactors Get entity by id operation, Transform Message, and Logger components](/mulesoft/current/en-us/sap-successfactors-connector/latest/_images/sap-success-factors-get-entity-by-id.png) ### XML for Getting an Entity by ID This is the XML for the **Get entity by id** flow: ```xml ``` ### Test the Flow To test the flow: 1. Run the app. 2. Open a browser. 3. Navigate to `http://localhost:8081/getById`. ## Update an Entry on SuccessFactors The following flow uses the SuccessFactors **Update** operation to update an entry on SuccessFactors: ![Mule flow using an HTTP Listener source, SuccessFactors Create entity and Update operations, Transform Message, and Logger components](/mulesoft/current/en-us/sap-successfactors-connector/latest/_images/sap-successfactors-create-and-update.png) ### XML for Updating an Entry This is the XML for the **Update** operation flow: ```xml ``` ### Test the Flow To test the flow: 1. Run the app. 2. Open a browser. 3. Navigate to `http://localhost:8081/update`. ## Delete an Entry on SuccessFactors The following flow uses the SuccessFactors **Delete entity** operation to delete an entry on SuccessFactors: ![Mule flow using an HTTP Listener source, SuccessFactors Create entity and Delete entity operations, Transform Message, and Logger components](/mulesoft/current/en-us/sap-successfactors-connector/latest/_images/sap-successfactors-delete.png) ### XML for Updating an Entry This is the XML for the **Delete entity** operation flow: ```xml ``` ### Test the Flow To test the flow: 1. Run the app. 2. Open a browser. 3. Navigate to `http://localhost:8081/delete`. ## XML for SuccessFactor Operations Paste this code into your Studio XML editor to quickly load all of the flows for these examples into your Mule app: ```xml ``` ## See Also - [Introduction to Anypoint Connectors](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [Salesforce Help](https://help.salesforce.com) --- product: SAP SuccessFactors Connector version: 5.0 is-latest-version: true --- # SAP SuccessFactors Connector 5.0 Reference > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Anypoint Connector for SAP SuccessFactors (SuccessFactors Connector) provides full support to query, create, update, and delete entities using the OData API exposed by SuccessFactors. ## Default Configuration ### Parameters
NameTypeDescriptionDefault ValueRequired

Name

String

The name for this configuration. Connectors reference the configuration with this name.

x

Connection

The connection types to provide to this configuration.

x

Time Zone

String

The timezone with which the Date objects returned from SuccessFactors are converted.

UTC

Name

String

The identifier of this element used to reference it in other components

x

Expiration Policy

Configures the minimum amount of time that a dynamic configuration instance can remain idle before Mule considers it eligible for expiration. This does not mean that the instance expires at the exact moment that it becomes eligible. Mule purges the instances as appropriate.

## Basic Authentication - Deprecated This connection type is deprecated. Use [OAuth SAML Bearer Assertion Authentication](#Config_Oauth) instead. ### Parameters
NameTypeDescriptionDefault ValueRequired

Proxy Configuration

Proxy configuration.

Data Center’s EndPoint URL

String

Data center’s endpoint URL. If the new data centers don’t appear in the dropdown list, you can manually enter the value of the new data center.

x

Use Persistent Connections

Boolean

If false, each connection is closed after the first request completes.

true

Max Connections

Number

The maximum number of outbound connections to keep open concurrently. By default, the number of connections is unlimited.

-1

Connection Idle Timeout

Number

The number of milliseconds that a connection can remain idle before it is closed. The value of this attribute is used only when persistent connections are enabled.

30000

Connection Idle Timeout Time Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Connection idle timeout unit for the request

SECONDS

Stream Response

Boolean

Whether or not to stream received responses, which means that processing continues as soon as all headers are parsed and the body is streamed as it is received. When enabled, the response must eventually be read since, depending on the configured buffer size, the response might not fit into memory and processing stops until space is available.

false

Response Buffer Size

Number

The space in bytes for the buffer where the HTTP response is stored.

-1

Connection timeout

Number

Connection timeout for the request

30

Connection Timeout Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Connection timeout unit for the request

SECONDS

Default headers

Default HTTP headers to include in the message.

Default query parameters

Default query parameters to include in the request. Here’s how the expression should be defined:

"defaultQueryParams": [
  { "key": "fromDate", "value": "2025-01-01" },
  { 'key': 'asOfDate', 'value': vars.currDate as String },
  { 'key': 'balanceAsOfDate', 'value': attributes.queryParams.effective_date as String },
  { "key": "toDate", "value": payload.toDate as String }
]

Company ID

String

The Company ID

x

User Name

String

The user name

x

Password

String

The password

x

Enable Session Reuse

Boolean

Boolean to enable the Session Reuse feature. By default, it is false.

false

TLS Configuration

Defines a configuration for TLS, which can be used from both the client and server sides to secure communication for the Mule app. When using the HTTPS protocol, the HTTP communication is secured using TLS or SSL. If HTTPS is configured as the protocol then the user needs to configure at least the keystore in the tls:context child element of the listener-config.

Reconnection

When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment fails if the test doesn’t pass after exhausting the associated reconnection strategy.

## OAuth SAML Bearer Assertion Authentication Use OAuth 2.0 to delegate user authentication to the service hosting the user account. For more information, refer to [Configuring OAuth 2.0 for Connectors](https://docs.mulesoft.com/connectors/introduction/intro-config-oauth2), [Configuring OAuth 2.0 for Connectors on CloudHub](https://docs.mulesoft.com/connectors/introduction/intro-config-oauth2-cloudhub), or [OAuth Support in the SDK](https://docs.mulesoft.com/mule-sdk/latest/oauth). ### Parameters
NameTypeDescriptionDefault ValueRequired

Proxy Configuration

Proxy configuration.

Object Store

ObjectStore

Configures the object store that stores data for each resource owner. If not configured, Mule uses the default object store.

Data Center’s EndPoint URL

String

Data center’s endpoint URL. If the new data centers don’t appear in the dropdown list, you can manually enter the value of the new data center.

x

Use Persistent Connections

Boolean

If false, each connection is closed after the first request is completed.

true

Max Connections

Number

The maximum number of outbound connections to keep open concurrently. By default, the number of connections is unlimited.

-1

Connection Idle Timeout

Number

The number of milliseconds that a connection can remain idle before it is closed. The value of this attribute is used only when persistent connections are enabled.

30000

Connection Idle Timeout Time Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Connection idle timeout unit for the request.

SECONDS

Stream Response

Boolean

Whether or not to stream received responses, which means that processing continues as soon as all headers are parsed and the body is streamed as it is received. When enabled, the response must eventually be read since, depending on the configured buffer size, the response might not fit into memory and processing stops until space is available.

false

Response Buffer Size

Number

The space in bytes for the buffer where the HTTP response will be stored.

-1

Connection timeout

Number

Connection timeout for the request.

30

Connection Timeout Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Connection timeout unit for the request.

SECONDS

Default headers

Default HTTP headers to include in the message.

Default query parameters

Default query parameters to include in the request. Here’s how the expression should be defined:

"defaultQueryParams": [
  { "key": "fromDate", "value": "2025-01-01" },
  { 'key': 'asOfDate', 'value': vars.currDate as String },
  { 'key': 'balanceAsOfDate', 'value': attributes.queryParams.effective_date as String },
  { "key": "toDate", "value": payload.toDate as String }
]

Client Id

String

The client ID to use for OAuth.

x

User Id

String

The user ID used for OAuth.

x

The company id.

String

The company ID used in SuccessFactors.

x

The token url

String

The token URL that is passed to the identity provider to generate the OAuth Bearer token.

https://api4.successfactors.com/oauth/token

Key Store

String

Allows to select the keystore file.

x

Store Password

String

Corresponding keystore password.

x

Type

String

Type of the keystore.

jks

Certificate Alias

String

Alias name for the certificate stored in the keystore.

Scopes

String

The scopes.

TLS Configuration

Defines a configuration for TLS, which can be used from both the client and server sides to secure communication for the Mule app. When using the HTTPS protocol, the HTTP communication is secured using TLS or SSL. If HTTPS is configured as the protocol, then, at a minimum, the user must configure the keystore in the tls:context child element of the listener-config.

HTTP

Reconnection

When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment fails if the test doesn’t pass after exhausting the associated reconnection strategy.

## List of Operations - [Create Entity](#CreateEntity) - [Delete Entity](#DeleteEntity) - [Get Entity By ID](#GetEntityById) - [Query](#Query) - [Update](#Update) - [Upsert Entity](#UpsertEntity) ## Create Entity `` Creates a new entity, the type of which is defined by the **Entity Set Name**. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

x

Config Ref

ConfigurationProvider

The name of the configuration to be used to execute this component

x

Entity Set Name

String

Entity set name to which the created entity belongs.

x

Properties

Object

Properties of the entity.

#[payload]

Target Variable

String

The name of a variable in which to place the operation’s output.

Target Value

String

An expression that evaluates the operation’s output. The expression outcome is stored in the Target variable.

#[payload]

Error Mappings

Array of Error Mapping

Set of error mappings.

Reconnection Strategy

A retry strategy in case of connectivity errors

### Output

Type

Object

Attributes Type

### For Configurations - [Default Configuration](#Config) ### Throws - SUCCESSFACTORS:BAD\_REQUEST - SUCCESSFACTORS:CONNECTIVITY - SUCCESSFACTORS:INVALID\_INPUT - SUCCESSFACTORS:INVALID\_PAGE\_SIZE - SUCCESSFACTORS:METADATA\_ERROR - SUCCESSFACTORS:NOT\_FOUND - SUCCESSFACTORS:PARSE\_ERROR - SUCCESSFACTORS:RETRY\_EXHAUSTED - SUCCESSFACTORS:SERVER\_ERROR - SUCCESSFACTORS:TIMEOUT - SUCCESSFACTORS:UNAUTHORIZED ## Delete Entity `` This operation deletes the entry for a specified entity. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use

x

Config Ref

ConfigurationProvider

The name of the configuration to be used to execute this component

x

Entity Set Name

String

Name of the entity set from which to delete the entity

x

Key Properties

Object

#[payload]

x

Error Mappings

Array of Error Mapping

Set of error mappings.

Reconnection Strategy

A retry strategy in case of connectivity errors

### For Configurations - [Default Configuration](#Config) ### Throws - SUCCESSFACTORS:BAD\_REQUEST - SUCCESSFACTORS:CONNECTIVITY - SUCCESSFACTORS:INVALID\_INPUT - SUCCESSFACTORS:INVALID\_PAGE\_SIZE - SUCCESSFACTORS:METADATA\_ERROR - SUCCESSFACTORS:NOT\_FOUND - SUCCESSFACTORS:PARSE\_ERROR - SUCCESSFACTORS:RETRY\_EXHAUSTED - SUCCESSFACTORS:SERVER\_ERROR - SUCCESSFACTORS:TIMEOUT - SUCCESSFACTORS:UNAUTHORIZED ## Get Entity By ID `` Retrieves an entity by its specified key from the resource path of the URI. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

x

Select

String

Value of a $select System Query Option is a comma-separated list of selection clauses, each of which can be a Property name, Navigation Property name, or asterisk (*) character.

Expand

String

The syntax of an $expand query option is a comma-separated list of Navigation Properties.

Config Ref

ConfigurationProvider

The name of the configuration to be used to execute this component

x

Entity Set Name

String

Entity set name to search using the entity with the given key.

x

Key Properties

Object

#[payload]

x

Target Variable

String

Name of a variable in which to place the operation’s output.

Target Value

String

An expression that evaluates the operation’s output. The expression outcome is stored in the Target variable.

#[payload]

Error Mappings

Array of Error Mapping

Set of error mappings.

Reconnection Strategy

A retry strategy in case of connectivity errors

### Output

Type

Object

Attributes Type

### For Configurations - [Default Configuration](#Config) ### Throws - SUCCESSFACTORS:BAD\_REQUEST - SUCCESSFACTORS:CONNECTIVITY - SUCCESSFACTORS:INVALID\_INPUT - SUCCESSFACTORS:INVALID\_PAGE\_SIZE - SUCCESSFACTORS:METADATA\_ERROR - SUCCESSFACTORS:NOT\_FOUND - SUCCESSFACTORS:PARSE\_ERROR - SUCCESSFACTORS:RETRY\_EXHAUSTED - SUCCESSFACTORS:SERVER\_ERROR - SUCCESSFACTORS:TIMEOUT - SUCCESSFACTORS:UNAUTHORIZED ## Query `` This operation queries entities of a specified type. > [!NOTE] You might receive duplicate records when using the **Query** operation with pagination. > Use the **Idempotent** filter to remove any duplicates received. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

The name of the configuration to use.

x

Entity Set Name

String

Name of the entity set in which to query.

x

Pagination Type

Enumeration, one of:

  • CLIENT

  • CURSOR

  • SNAPSHOT

Pagination type used by the Query operation:

  • CLIENT

    Uses query options on the client side to create an offset that restricts the amount of data returned from the server.

  • CURSOR

    Maintains a database cursor on the server throughout pagination HTTP requests. The CURSOR pagination type does not support $orderby.

  • SNAPSHOT

    Is a server-side pagination that works by keeping a list of all business keys of the dataset on the server. The SNAPSHOT pagination type does not support $top or $skip.

CLIENT

Config Ref

ConfigurationProvider

The name of the configuration to be used to execute this component

x

Streaming Strategy

Configure the streaming strategy for the connector.

Filter

Filters to apply to the query.

Order By Values

Which fields the query is ordered by and their direction.

Select

String

Specifies that a response from an OData service should return a subset of the properties.

Expand

String

The $expand parameter indicates a comma-separated list of Navigation Properties.

Page Size

Number

Chunk size of each query page.

100

Top

Number

Maximum amount of records to retrieve.

Skip

Number

Amount of records to skip before retrieving records.

Target Variable

String

The name of a variable in which to place the operation’s output.

Target Value

String

An expression that evaluates the operation’s output. The expression outcome is stored in the Target variable.

#[payload]

Error Mappings

Array of Error Mapping

Set of error mappings.

Reconnection Strategy

A retry strategy in case of connectivity errors.

### Output

Type

Array of Object

### For Configurations - [Default Configuration](#Config) ### Throws - SUCCESSFACTORS:BAD\_REQUEST - SUCCESSFACTORS:CONNECTIVITY - SUCCESSFACTORS:INVALID\_INPUT - SUCCESSFACTORS:INVALID\_PAGE\_SIZE - SUCCESSFACTORS:METADATA\_ERROR - SUCCESSFACTORS:NOT\_FOUND - SUCCESSFACTORS:PARSE\_ERROR - SUCCESSFACTORS:RETRY\_EXHAUSTED - SUCCESSFACTORS:SERVER\_ERROR - SUCCESSFACTORS:TIMEOUT - SUCCESSFACTORS:UNAUTHORIZED ## Update `` Updates the existing data in an entity, so all property values in the entity either take the values provided in the request body or are reset to their default value if no data is provided in the request. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

x

Config Ref

ConfigurationProvider

The name of the configuration to be used to execute this component

x

Entity Set Name

String

Entity set name. This value is dynamically loaded from the SuccessFactors OData description file.

x

Properties

Object

The properties that are present on the new entity. These properties should contain the key of the entity.

#[payload]

Error Mappings

Array of Error Mapping

Set of error mappings.

Reconnection Strategy

A retry strategy in case of connectivity errors.

### For Configurations - [Default Configuration](#Config) ### Throws - SUCCESSFACTORS:BAD\_REQUEST - SUCCESSFACTORS:CONNECTIVITY - SUCCESSFACTORS:INVALID\_INPUT - SUCCESSFACTORS:INVALID\_PAGE\_SIZE - SUCCESSFACTORS:METADATA\_ERROR - SUCCESSFACTORS:NOT\_FOUND - SUCCESSFACTORS:PARSE\_ERROR - SUCCESSFACTORS:RETRY\_EXHAUSTED - SUCCESSFACTORS:SERVER\_ERROR - SUCCESSFACTORS:TIMEOUT - SUCCESSFACTORS:UNAUTHORIZED ## Upsert Entity `` Creates or updates an entity on SuccessFactors, the type of which is defined by the **Entity Set Name** property. This method returns the full SAP SuccessFactors upsert response after it finishes executing. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

x

Config Ref

ConfigurationProvider

The name of the configuration to be used to execute this component

x

Entity Set Name

String

Entity set name. This value is dynamically loaded from SuccessFactors OData description file.

x

Properties

Object

Properties that are present on the entity.

#[payload]

Target Variable

String

Name of a variable on which to place the operation’s output

Target Value

String

An expression that evaluates the operation’s output. The expression outcome is stored in the Target variable.

#[payload]

Error Mappings

Array of Error Mapping

Set of error mappings.

Reconnection Strategy

Retry strategy in case of connectivity errors.

Type

Object

Attributes Type

#### For Configurations. - [Default Configuration](#Config) ### Throws - SUCCESSFACTORS:BAD\_REQUEST - SUCCESSFACTORS:CONNECTIVITY - SUCCESSFACTORS:INVALID\_INPUT - SUCCESSFACTORS:INVALID\_PAGE\_SIZE - SUCCESSFACTORS:METADATA\_ERROR - SUCCESSFACTORS:NOT\_FOUND - SUCCESSFACTORS:PARSE\_ERROR - SUCCESSFACTORS:RETRY\_EXHAUSTED - SUCCESSFACTORS:SERVER\_ERROR - SUCCESSFACTORS:TIMEOUT - SUCCESSFACTORS:UNAUTHORIZED ## Types ### Default Header
FieldTypeDescriptionDefault ValueRequired

Key

String

The key

x

Value

String

The value

x

### Default Query Param
FieldTypeDescriptionDefault ValueRequired

Key

String

The key. For example, balanceAsOfDate.

x

Value

String

The value. For example, vars.effectiveDate (as a String).

x

### TLS
FieldTypeDescriptionDefault ValueRequired

Enabled Protocols

String

A comma-separated list of protocols enabled for this context

Enabled Cipher Suites

String

A comma-separated list of cipher suites enabled for this context

Trust Store

Key Store

Revocation Check

### Trust Store
FieldTypeDescriptionDefault ValueRequired

Path

String

The location to resolve relative to the current classpath and file system (if possible) of the truststore.

Password

String

The password used to protect the trust store.

Type

String

The type of store used.

Algorithm

String

The algorithm used by the truststore.

Insecure

Boolean

If true, no certificate validations are performed, rendering connections vulnerable to attacks. Use at your own risk.

### Key Store
FieldTypeDescriptionDefault ValueRequired

Path

String

The location to resolve relative to the current classpath and file system (if possible) of the keystore

Type

String

Type of store used

Alias

String

When the key store contains many private keys, this attribute indicates the alias of the key to use. If not defined, the first key in the file is used by default.

Key Password

String

Password used to protect the private key

Password

String

Password used to protect the keystore

Algorithm

String

The algorithm used by the keystore

### Standard Revocation Check
FieldTypeDescriptionDefault ValueRequired

Only End Entities

Boolean

Verify only the last element of the certificate chain.

Prefer Crls

Boolean

Try CRL instead of OCSP first.

No Fallback

Boolean

Do not use the secondary checking method (the one not selected previously).

Soft Fail

Boolean

Avoid verification failure when the revocation server cannot be reached or is busy.

### Custom OCSP Responder
FieldTypeDescriptionDefault ValueRequired

Url

String

The URL of the OCSP responder.

Cert Alias

String

Alias of the signing certificate for the OCSP response (must be in the truststore), if present.

### CRL File
FieldTypeDescriptionDefault ValueRequired

Path

String

Path to the CRL file

### Reconnection
FieldTypeDescriptionDefault ValueRequired

Fails Deployment

Boolean

When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment fails if the test doesn’t pass after exhausting the associated reconnection strategy.

Reconnection Strategy

The reconnection strategy to use.

### Reconnect
FieldTypeDescriptionDefault ValueRequired

Frequency

Number

How often to reconnect (in milliseconds)

Count

Number

The number of reconnection attempts to make.

blocking

Boolean

If false, the reconnection strategy runs in a separate, non-blocking thread.

true

### Reconnect Forever
FieldTypeDescriptionDefault ValueRequired

Frequency

Number

How often to reconnect (in milliseconds)

Blocking

Boolean

If false, the reconnection strategy runs in a separate, non-blocking thread.

true

### Expiration Policy
FieldTypeDescriptionDefault ValueRequired

Max Idle Time

Number

A scalar time value for the maximum amount of time a dynamic configuration instance should be allowed to be idle before it’s considered eligible for expiration.

Time Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

A time unit that qualifies the maxIdleTime attribute

### Response Attributes
FieldTypeDescriptionDefault ValueRequired

Headers

Object

Status Code

Number

### Error Mapping
FieldTypeDescriptionDefault ValueRequired

Source

Enumeration, one of:

  • ANY

  • REDELIVERY_EXHAUSTED

  • TRANSFORMATION

  • EXPRESSION

  • SECURITY

  • CLIENT_SECURITY

  • SERVER_SECURITY

  • ROUTING

  • CONNECTIVITY

  • RETRY_EXHAUSTED

  • TIMEOUT

Target

String

x

### Order By Value
FieldTypeDescriptionDefault ValueRequired

Field

String

The field by which to order.

x

Direction

Enumeration, one of:

  • ASCENDING

  • DESCENDING

The direction by which to order. Default is ASCENDING

ASCENDING

### Repeatable In-Memory Iterable
FieldTypeDescriptionDefault ValueRequired

Initial Buffer Size

Number

This is the amount of instances to initially allow to be kept in memory to consume the stream and provide random access to it. If the stream contains more data than can fit into this buffer, then the buffer expands according to the bufferSizeIncrement attribute, with an upper limit of maxInMemorySize. Default value is 100 instances.

Buffer Size Increment

Number

This is by how much the buffer size expands if it exceeds its initial size. Setting a value of zero or lower means that the buffer should not expand and that to raise a STREAM_MAXIMUM_SIZE_EXCEEDED error when the buffer gets full. Default value is 100 instances.

Max Buffer Size

Number

This is the maximum amount of memory to use. If more than that is used then raise a STREAM_MAXIMUM_SIZE_EXCEEDED error. A value lower or equal to zero means no limit.

### Repeatable File Store Iterable
FieldTypeDescriptionDefault ValueRequired

In Memory Objects

Number

This is the maximum number of instances to keep in memory. If more than that is required, then it starts to buffer the content on disk.

Buffer Unit

Enumeration, one of:

  • BYTE

  • KB

  • MB

  • GB

The unit in which maxInMemorySize is expressed

### Non-repeatable Stream In some cases, you may want to disable the repeatable stream functionality and use non-repeatable streams, which can have less performance overhead, memory use, and cost. ### Default Proxy Configuration
FieldTypeDescriptionDefault ValueRequired

Host

String

Host where the proxy requests are sent.

x

Port

Number

Port where the proxy requests are sent.

x

Username

String

The username to authenticate against the proxy.

Password

String

The password to authenticate against the proxy.

Non Proxy Hosts

String

A list of comma separated hosts against which the proxy should not be used.

### NTLM
FieldTypeDescriptionDefault ValueRequired

Ntlm Domain

String

The domain to authenticate against the proxy.

x

Host

String

Host where the proxy requests are sent.

x

Port

Number

Port where the proxy requests are sent.

x

Username

String

The username to authenticate against the proxy.

Password

String

The password to authenticate against the proxy.

Non Proxy Hosts

String

A list of comma separated hosts against which the proxy should not be used.

### Addition
FieldTypeDescriptionDefault ValueRequired

Value To Add

Number

The value to add. Accepts a double.

x

Field Name

String

The name of the field on which to operate.

x

### Division
FieldTypeDescriptionDefault ValueRequired

Divider

Number

The value by which the field value will be divided. This value should never be 0.

x

Field Name

String

The name of the field on which to operate.

x

### Module
FieldTypeDescriptionDefault ValueRequired

Divider

Number

The value by which the field value will be divided. This value should never be 0.

x

Field Name

String

The name of the field on which to operate.

x

### Multiplication
FieldTypeDescriptionDefault ValueRequired

Multiplier

Number

The value by which to multiply the value of the field.

x

Field Name

String

The name of the field on which to operate.

x

### Subtraction
FieldTypeDescriptionDefault ValueRequired

Value To Substract

Number

The value to subtract. Accepts a double.

x

Field Name

String

The name of the field on which to operate.

x

### In
FieldTypeDescriptionDefault ValueRequired

Values

Array of String

The list of values against which the field value will be checked.

x

Field Name

String

The name of the field on which to operate.

x

### Like
FieldTypeDescriptionDefault ValueRequired

Value

String

The expression to evaluate against the field value.

x

Field Name

String

The name of the field on which to operate.

x

### Query Value
FieldTypeDescriptionDefault ValueRequired

Value

String

### And
FieldTypeDescriptionDefault ValueRequired

Operators

x

### Equal To
FieldTypeDescriptionDefault ValueRequired

Compared Value

String

x

Field Name

String

x

### Greater Than
FieldTypeDescriptionDefault ValueRequired

Compared Value

String

x

Field Name

String

x

### Lesser Than
FieldTypeDescriptionDefault ValueRequired

Compared Value

String

x

Field Name

String

x

### Not
FieldTypeDescriptionDefault ValueRequired

Negative

x

### Or
FieldTypeDescriptionDefault ValueRequired

Operators

x

### Grouping
FieldTypeDescriptionDefault ValueRequired

Operator

x

Field Name

String

x

### Ends With
FieldTypeDescriptionDefault ValueRequired

Ends With Value

String

The string value with which the field value should end.

x

Field Name

String

The name of the field on which to operate.

x

### Starts With
FieldTypeDescriptionDefault ValueRequired

Starts With Value

String

The string value with which the field value should start.

x

Field Name

String

The name of the field on which to operate.

x

### To Lowercase
FieldTypeDescriptionDefault ValueRequired

Field Name

String

x

### To Uppercase
FieldTypeDescriptionDefault ValueRequired

Field Name

String

x

### Trim
FieldTypeDescriptionDefault ValueRequired

Field Name

String

x

## See Also [Salesforce Help](https://help.salesforce.com) --- product: SAP SuccessFactors Connector version: 5.0 is-latest-version: true --- # SAP SuccessFactors Connector 5.0 XML and Maven Support > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Although you can manually code a Mule app in XML, it is more efficient to use Anypoint Studio. If you manually code a Mule runtime engine (Mule) app in XML either from the Anypoint Studio XML editor or from a text editor, you can get access to the connector in your app by adding reference statements to both your XML Mule flow and the Apache Maven `pom.xml` file. When you install the connector in Studio, Studio automatically populates the XML code with the connector’s namespace and schema location. It also adds a dependency to the `pom.xml` file. ## Add a Namespace for the Connector Paste the following code inside the `` tag of the header of your configuration XML: ```xml http://www.mulesoft.org/schema/mule/successfactors http://www.mulesoft.org/schema/mule/successfactors/current/mule-successfactors.xsd ``` This example shows how the namespace statements are placed in the `` XML block: ```xml ``` ## Add a POM File Dependency The Apache Maven `pom.xml` file generated by Anypoint Studio contains dependencies for a Mule app. If you code a Mule app manually, include this XML snippet in your `pom.xml` file to enable access to this connector: ```xml com.mulesoft.connectors mule-sap-successfactors-connector mule-plugin ``` Replace `x.x.x` with the version that corresponds to the connector you are using. To obtain the most up-to-date `pom.xml` file information: 1. Go to [Anypoint Exchange](https://www.mulesoft.com/exchange/). 2. In Exchange, click **Login** and supply your Anypoint Platform username and password. 3. In Exchange, search for `successfactors`. 4. Select the **SuccessFactors Connector - Mule 4** connector. 5. Click **Dependency Snippets** near the upper-right of the screen. ## See Also - [Introduction to Anypoint Connectors](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [Salesforce Help](https://help.salesforce.com) --- product: SAP SuccessFactors Connector version: 5.0 is-latest-version: true --- # Upgrading and Migrating SAP SuccessFactors Connector to Version 5.0 > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Upgrade Anypoint Connector for SAP SuccessFactors (SuccessFactors Connector) to version 5.x. ## Supported Upgrade Paths
From VersionTo Version

4.x

5.x

## Changes in This Release SAP SuccessFactors Connector 5.0 includes these changes. - Basic Authentication is now deprecated. - In OAuth SAML Bearer Assertion Authentication: - **The private key from the X.509 certificate.** and **The authorisation url.** fields are removed. For more information about how to generate a keystore file, refer to [Generate a Keystore File](https://docs.mulesoft.com/sap-successfactors-connector/latest/sap-successfactors-connector-config-topics#generate-keystore). - **Key store**, **Store password**, **Type**, and **Certificate alias** fields are added. - **Scopes** is moved from the **Advanced** tab to the **General** tab. ## Upgrade Prerequisites Before you perform the upgrade, you must create a backup of your files, data, and configurations in case you need to restore to them. ## Upgrade Steps Follow these steps to perform the upgrade: 1. In Anypoint Studio, create a Mule project. 2. In the **Mule Palette** view, click **Search in Exchange**. 3. In **Add Dependencies to Project**, enter `successfactors` in the search field. 4. In **Available modules**, select **SuccessFactors** and click **Add**. 5. Click **Finish**. 6. Verify that the SAP SuccessFactors Connector dependency version is `5.0.0` in the `pom.xml` file in the Mule project. Studio upgrades the connector automatically. ### Verify the Upgrade After you install the latest version of the connector, follow these steps to verify the upgrade: 1. In Studio, verify that there are no errors in the **Problems** or **Console** views. 2. Verify that there are no problems in the project `pom.xml` file. 3. Test the connection to verify that the operations work. ## Troubleshoot If there are problems with caching the parameters and caching the metadata, try restarting Anypoint Studio. ### Revert the Upgrade If it is necessary to revert to the previous version of SAP SuccessFactors Connector, change the `sap-successfactors-connector` dependency version `5.0.0` in the project’s `pom.xml` to the previous version. You must update the project’s `pom.xml` in Anypoint Studio. ## See Also - [Introduction to Anypoint Connectors](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [SAP SuccessFactors Connector Reference](https://docs.mulesoft.com/sap-successfactors-connector/latest/sap-successfactors-connector-reference) - [Salesforce Help](https://help.salesforce.com) --- product: SAP SuccessFactors Connector version: 5.0 is-latest-version: true --- # Using Anypoint Studio to Configure SAP SuccessFactors Connector 5.0 > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Anypoint Studio (Studio) editors help you design and update your Mule applications, properties, and configuration files. To add and configure a connector in Studio: 1. [Create a Mule project](#create-mule-project). 2. [Add the connector to your Mule project](#add-connector-to-project). 3. [Configure an input source for the connector’s flow](#configure-input-source). 4. [Add a connector operation to the flow](#add-connector-operation). 5. [Configure a global element for the connector](#configure-global-element). When you run the connector, you can view the app log to check for problems, as described in [View the App Log](#view-app-log). If you are new to configuring connectors in Studio, see [Using Anypoint Studio to Configure a Connector](https://docs.mulesoft.com/connectors/introduction/intro-config-use-studio). If, after reading this topic, you need additional information about the connector fields, see the [SAP SuccessFactors Reference](https://docs.mulesoft.com/sap-successfactors-connector/latest/sap-successfactors-connector-reference). ## Create a Mule Project In Studio, create a new Mule project in which to add and configure the connector: 1. In Studio, select **File > New > Mule Project**. 2. Enter a name for your Mule project and click **Finish**. ## Add the Connector to Your Mule Project Add SAP SuccessFactors Connector to your Mule project to automatically populate the XML code with the connector’s namespace and schema location and add the required dependencies to the project’s `pom.xml` file: 1. In the **Mule Palette** view, click **(X) Search in Exchange**. 2. In **Add Modules to Project**, type `successfactors` in the search field. 3. Click **SuccessFactors** in **Available modules**. 4. Click **Add**. 5. Click **Finish**. Adding a connector to a Mule project in Studio does not make that connector available to other projects in your Studio workspace. ## Configure a Source A source initiates a flow when a specified condition is met. You can configure one of these sources to use with SAP SuccessFactors Connector: - **HTTP > Listener** Initiates a flow each time it receives a request on the configured host and port - **Scheduler** Initiates a flow when a time-based condition is met For example, to configure an HTTP **Listener**, follow these steps: 1. In the **Mule Palette** view, select **HTTP > Listener**. 2. Drag **Listener** to the Studio canvas. 3. On the **Listener** configuration screen, optionally change the value of the **Display Name** field. 4. Specify a value for the **Path** field. 5. Click the plus sign (**+**) next to the **Connector configuration** field to configure a global element that can be used by all instances of HTTP **Listener** in the app. 6. On the **General** tab, specify connection information for the connector. 7. On the **TLS** tab, optionally specify the TLS information for the connector. 8. On the **Advanced** tab, optionally specify reconnection information, including a reconnection strategy. 9. Click **Test Connection** to confirm that Mule can connect with the specified server. 10. Click **OK**. ## Add a Connector Operation to the Flow When you add a connector operation to your flow, you immediately define a specific operation for that connector to perform. To add an operation for SuccessFactors Connector, follow these steps: 1. In the **Mule Palette** view, select **SuccessFactors** and then select the desired operation. 2. Drag the operation onto the Studio canvas to the right of the input source. ## Configure a Global Element for the Connector When you configure a connector, it’s best to configure a global element that all instances of that connector in the app can use. Configuring a global element requires you to provide the authentication credentials that the connector requires to access the target SAP SuccessFactors system. SuccessFactors Connector supports the OAuth SAML Bearer Assertion Authentication method. To configure the global element for SuccessFactors Connector, follow these steps: 1. Select the operation in the Studio canvas. 2. In the configuration screen for the operation, click the plus sign (**+**) next to the **Connector configuration** field to access the global element configuration fields. 3. On the **General** tab, in **Connection**, select the authentication method to configure: - [**Basic - Deprecated**](#basic-authentication) - [**OAuth SAML Bearer Assertion Authentication**](#oauth-authentication) You can reference a configuration file that contains ANT-style property placeholders (recommended), or you can enter your authorization credentials in the global configuration properties. For information about the benefits of using property placeholders and how to configure them, see [Anypoint Connector Configuration](https://docs.mulesoft.com/connectors/introduction/intro-connector-configuration-overview). 4. On the **Advanced** tab, optionally specify reconnection information, including a reconnection strategy. 5. Click **Test Connection** to confirm that Mule can connect with the specified server. 6. Click **OK**. ### Basic Authentication Basic Authentication is deprecated in SAP SuccessFactors Connector 5.x. Use [OAuth SAML Bearer Assertion Authentication](#oauth-authentication) instead. ### OAuth SAML Bearer Assertion Authentication Use OAuth 2.0 to delegate user authentication to the service hosting the user account. For more information, refer to [Configuring OAuth 2.0 for Connectors](https://docs.mulesoft.com/connectors/introduction/intro-config-oauth2), [Configuring OAuth 2.0 for Connectors on CloudHub](https://docs.mulesoft.com/connectors/introduction/intro-config-oauth2-cloudhub), or [OAuth Support in the SDK](https://docs.mulesoft.com/mule-sdk/latest/oauth). Enter the following information on the **General** tab of the global element configuration screen to configure OAuth SAML Bearer Assertion authentication:
ParameterDescription

Client Id

Client ID to use for OAuth.

User Id

User ID used to log in to your SuccessFactors account.

The company id.

Your company ID.

The token url.

Token URL that is passed to the identity provider to generate the OAuth Bearer token, for example: https://api4.successfactors.com/oauth/token

Key store

Allows to select the keystore file.

Store password

Corresponding keystore password.

Type

Type of the keystore. The default is jks.

Certificate alias

Alias name for the certificate stored in the keystore.

Scopes

The scopes.

Data Center’s Endpoint URL

SuccessFactors Web API URL.

## Run a Flow 1. In **Package Explorer**, right-click your project’s name, and click **Run As > Mule Application**. 2. Check the console to see when the application starts. You see messages similar to the following if no errors occur: ```text ************************************************************ INFO 2019-07-14 22:12:42,003 [main] org.mule.module.launcher.DeploymentDirectoryWatcher: ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + Mule is up and kicking (every 5000ms) + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ INFO 2019-07-14 22:12:42,006 [main] org.mule.module.launcher.StartupSummaryDeploymentListener: ********************************************************** * - - + DOMAIN + - - * - - + STATUS + - - * ********************************************************** * default * DEPLOYED * ********************************************************** ************************************************************************ * - - + APPLICATION + - - * - - + DOMAIN + - - * - - + STATUS + - - * ************************************************************************ * myapp * default * DEPLOYED * ************************************************************************ ``` ## View the App Log To check for problems, you can view the app log as follows: - If you’re running the app from Anypoint Platform, the app log output is visible in the Anypoint Studio console window. - If you’re running the app using Mule from the command line, the app log output is visible in your OS console. Unless the log file path is customized in the app’s log file (`log4j2.xml`), you can also view the app log in the default location `MULE_HOME/logs/.log`. You can configure the location of the log path in the app log file `log4j2.xml`. ## Next Step After you configure a global element and connection information, configure the other fields for the connector. See [Additional Configuration Information](https://docs.mulesoft.com/sap-successfactors-connector/latest/sap-successfactors-connector-config-topics) for more configuration steps. ## See Also - [Introduction to Anypoint Connectors](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [SAP SuccessFactors Connector Reference](https://docs.mulesoft.com/sap-successfactors-connector/latest/sap-successfactors-connector-reference) - [Salesforce Help](https://help.salesforce.com)