SAP SuccessFactors Tool
Read SAP SuccessFactors HRIS data — users, persons, departments — via the OData v2 API.
Tool ID
successfactors-hcm
Credential Required
Yes — a server-refreshed OAuth credential (auth mode: oauth_user). Link an oauth-type credential (mint one with itcli.py /oauth); the InTouch server resolves and refreshes it and hands the tool a live access_token, sent on every request as Authorization: Bearer <token>. The tool never refreshes or stores the token — the server owns the token lifecycle. All requests go to https://{host}/odata/v2 — the SuccessFactors API server host comes from the task's host input, not the credential.
Credential Properties
| Property | Type | Default | Description |
|---|---|---|---|
client_id |
string | — | OAuth app client ID |
client_secret |
string | — | OAuth app client secret (if required on refresh) |
token_url |
string | — | Provider OAuth token endpoint — used to refresh |
access_token |
string | — | Required. Current access token — kept fresh by the server; do not edit by hand |
refresh_token |
string | — | Refresh token; enables automatic server-side refresh |
token_type |
string | Bearer |
Token type |
scope |
string | — | Granted OAuth scopes (space-separated) |
expires_at |
string | — | Access-token expiry in epoch seconds (0 = non-expiring) |
Operations
1. list_users — List users
Lists SuccessFactors users. Calls GET /User.
Properties:
| Property | Type | Default | Description |
|---|---|---|---|
operation |
string (enum) | — | Required. One of: list_users, get_user, list_persons, list_departments |
host |
string | — | Required. SuccessFactors API server host for your datacenter, e.g. api4.successfactors.com (no scheme, no path) |
query |
string | — | Optional OData query params as a JSON object string. OData defaults to XML — pass {"$format": "json"} to get JSON; combine with $top/$select/$filter, e.g. {"$format": "json", "$top": 50} |
Published Outputs:
- result — the JSON response body
- status — HTTP status code
2. get_user — Get a user
Reads a single user by id. Calls GET /User('{userId}').
Properties:
| Property | Type | Default | Description |
|---|---|---|---|
operation |
string (enum) | — | Required. |
host |
string | — | Required. SuccessFactors API server host (no scheme, no path) |
userId |
string | — | Required. SuccessFactors user id |
query |
string | — | Optional OData query params as a JSON object string, e.g. {"$format": "json"} |
Published Outputs:
- result — the JSON response body
- status — HTTP status code
3. list_persons — List persons
Lists Employee Central person records. Calls GET /PerPerson.
Properties:
| Property | Type | Default | Description |
|---|---|---|---|
operation |
string (enum) | — | Required. |
host |
string | — | Required. SuccessFactors API server host (no scheme, no path) |
query |
string | — | Optional OData query params as a JSON object string, e.g. {"$format": "json", "$top": 50} |
Published Outputs:
- result — the JSON response body
- status — HTTP status code
4. list_departments — List departments
Lists foundation-object departments. Calls GET /FODepartment.
Properties:
| Property | Type | Default | Description |
|---|---|---|---|
operation |
string (enum) | — | Required. |
host |
string | — | Required. SuccessFactors API server host (no scheme, no path) |
query |
string | — | Optional OData query params as a JSON object string, e.g. {"$format": "json"} |
Published Outputs:
- result — the JSON response body
- status — HTTP status code
License
Requires a per-tool connector license on Department/Enterprise editions (unaffected on Personal/Solo/Team editions). Apply it via the tool's Apply License action.
Self-Contained JAR
The jar bundles all runtime dependencies; only intouch-tool-api is provided by the server.
Publishes
The keys a later task may reference as {{taskName.key}}. Referencing anything not listed here resolves to nothing at run time.
completeoperationresultstatuswarning