Setu Recipes: reusable digital workers across every app.Browse templates

Integrations / SAP Cloud Integration

SAP Cloud Integration

SAP Integration Suite, Cloud Integration monitoring (Cloud Foundry environment): search message processing logs, read message store entries, packages, integration flows, deployed artifacts and their error information. Read-only: SAP's deploy and change calls need a CSRF token and are not offered. Uses a service key of a 'Process Integration Runtime' instance with plan 'api'. Paths follow SAP's documentation; Setu has not tested this against a live tenant.

10 actions token_login 10 read0 write Calls api.sap.com

Connect

TypeScript
const conn = await setu.connections.initiate({ userId: "user_1", toolkit: "sap_cloud_integration" });
console.log(conn.connectUrl); // show this to your user
await conn.waitUntilActive();

Permissions requested

This toolkit uses a single credential and requests no scopes.

Actions

Get deployed artifact errorreadsap_cloud_integration.get_artifact_errorGet the error message of a deployed integration artifact that is in status ERROR, in SAP Cloud Integration. SAP's page shows the request but not the reply body, so the reply is returned as SAP sends it (UNVERIFIED shape).
InputTypeDescription
idstringRequiredId of the deployed artifact in error
TypeScript
await setu.execute({
  userId: "user_1",
  action: "sap_cloud_integration.get_artifact_error",
  input: {
    "id": "<id>"
  },
});
Get deployed artifactreadsap_cloud_integration.get_deployed_artifactGet the runtime status of one deployed integration artifact in SAP Cloud Integration by its Id; the Status property holds the actual runtime status. Needs the role MonitoringDataRead.
InputTypeDescription
idstringRequiredId of the deployed artifact, e.g. Mail_Sender_Integration_Flow
TypeScript
await setu.execute({
  userId: "user_1",
  action: "sap_cloud_integration.get_deployed_artifact",
  input: {
    "id": "<id>"
  },
});
Get integration flowreadsap_cloud_integration.get_integration_flowRead one design-time integration flow of SAP Cloud Integration by its Id and Version. Use Version active for the latest saved version. Optional select limits the returned properties, for example Id,Version. Needs the role WorkspacePackagesRead.
InputTypeDescription
idstringRequiredIntegration flow Id, e.g. My_Integration_Flow
versionstringRequiredVersion such as 1.0.1, or active
selectstringOptionalComma-separated properties to return, e.g. Id,Version
TypeScript
await setu.execute({
  userId: "user_1",
  action: "sap_cloud_integration.get_integration_flow",
  input: {
    "id": "<id>",
    "version": "<version>"
  },
});
Get message processing logreadsap_cloud_integration.get_message_processing_logGet one message processing log of SAP Cloud Integration by its MessageGuid: status, sender, receiver, start and end time. Equivalent to filtering MessageGuid eq '...'.
InputTypeDescription
message_guidstringRequiredMessageGuid of the log, e.g. AFQaBF-k2zSgMgIYekzBzk07Bs-T
TypeScript
await setu.execute({
  userId: "user_1",
  action: "sap_cloud_integration.get_message_processing_log",
  input: {
    "message_guid": "<message_guid>"
  },
});
Get message store entry headersreadsap_cloud_integration.get_message_store_entry_propertiesGet the message headers (name and value) stored with one message store entry of SAP Cloud Integration. Use the Id from list_message_store_entries.
InputTypeDescription
entry_idstringRequiredId of the message store entry, e.g. sap-it-abcd-1234-uvw
TypeScript
await setu.execute({
  userId: "user_1",
  action: "sap_cloud_integration.get_message_store_entry_properties",
  input: {
    "entry_id": "<entry_id>"
  },
});
List deployed artifactsreadsap_cloud_integration.list_deployed_artifactsList the integration artifacts (integration flows, value mappings) deployed on the SAP Cloud Integration runtime. Filter with Status eq 'ERROR' to find artifacts that failed to start. Needs the role MonitoringDataRead.
InputTypeDescription
filterstringOptionalOData $filter, e.g. Status eq 'ERROR'
topintegerOptionalMaximum rows
skipintegerOptionalRows to skip
TypeScript
await setu.execute({
  userId: "user_1",
  action: "sap_cloud_integration.list_deployed_artifacts",
  input: {},
});
List integration packagesreadsap_cloud_integration.list_integration_packagesList the integration packages in the Design area of SAP Cloud Integration. SAP's resource description says all design-time packages can be read; its example page shows only create and download, so the reply fields are returned as SAP sends them. Needs the role WorkspacePackagesRead.
InputTypeDescription
topintegerOptionalMaximum rows
skipintegerOptionalRows to skip
TypeScript
await setu.execute({
  userId: "user_1",
  action: "sap_cloud_integration.list_integration_packages",
  input: {},
});
List message processing logsreadsap_cloud_integration.list_message_processing_logsList message processing logs (one per processed message) of SAP Cloud Integration, filtered with an OData $filter such as "Status eq 'FAILED'", or Status eq 'COMPLETED' and LogStart gt datetime'2021-02-01T00:00:00' (times are UTC, no zone suffix). Statuses include COMPLETED, ERROR, RETRY, ESCALATED, PROCESSING, FAILED. Always filter by time, an unfiltered call returns up to 1000 rows. Filterable fields: MessageGuid, CorrelationId, ApplicationMessageId, ApplicationMessageType, Sender, Receiver, Status, CustomStatus, LogStart, LogEnd.
InputTypeDescription
filterstringOptionalOData $filter, e.g. Status eq 'ERROR' and LogStart gt datetime'2021-02-01T00:00:00'
topintegerOptionalMaximum rows (the API returns at most 1000 per call)
skipintegerOptionalRows to skip, for paging
orderbystringOptionalOData $orderby, e.g. LogStart desc
TypeScript
await setu.execute({
  userId: "user_1",
  action: "sap_cloud_integration.list_message_processing_logs",
  input: {},
});
List message store entries of a messagereadsap_cloud_integration.list_message_store_entriesList the message store entries that the Persist steps of an integration flow created while processing one message (identified by MessageGuid). Returns ids to pass to get_message_store_entry_properties. Needs the role MessagePayloadsRead to also see payloads elsewhere; this call returns entry metadata only.
InputTypeDescription
message_guidstringRequiredMessageGuid of the processed message
TypeScript
await setu.execute({
  userId: "user_1",
  action: "sap_cloud_integration.list_message_store_entries",
  input: {
    "message_guid": "<message_guid>"
  },
});
Read from the Cloud Integration APIreadsap_cloud_integration.odata_getGuarded GET to another SAP Cloud Integration OData resource, relative to the /api/v1 service root. Allowed first segments: MessageProcessingLogs, IntegrationPackages, IntegrationDesigntimeArtifacts, IntegrationRuntimeArtifacts, MessageStoreEntries, RuntimeArtifactErrorInformations, ServiceEndpoints. Example: /MessageProcessingLogs('GUID')/ErrorInformation/$value for the error text of one failed message (UNVERIFIED path, SAP's pages in this set do not show it; confirm on your tenant). Use OData options in query.
InputTypeDescription
pathstringRequiredResource path starting with / , e.g. /ServiceEndpoints
queryobjectOptionalPlain OData options such as {"$top": "5"}
TypeScript
await setu.execute({
  userId: "user_1",
  action: "sap_cloud_integration.odata_get",
  input: {
    "path": "<path>"
  },
});