SK SKYVVA Documentation

4. How to create an inbound interface using integrateBatch() with SkyvvaSalesforce Adapter

Overview

This document explains how to create a SKYVVA Inbound Interface in Salesforce using the integrateBatch API with the SkyvvaSalesforce Adapter.

It covers the following steps:

  1. Create and configure a SKYVVA Inbound Interface in Salesforce.
  2. Enable batch processing for the interface.
  3. Create an integration flow in SAP CPI.
  4. Configure the HTTPS sender channel.
  5. Configure the SKYVVA Salesforce receiver channel.
  6. Deploy the integration flow.
  7. Send a test request from Postman through SAP CPI.
  8. Monitor the message in SAP CPI.
  9. Process and verify the batch in Salesforce.
In this example:
ItemValue
Salesforce ObjectAccount
Message SourcePostman
MiddlewareSAP CPI
SKYVVA API VersionV2
SKYVVA APIintegrateBatch
Processing ModeAsynchronous
Operation TypeUpsert

Context Before You Start

In short: this collects incoming records into a working basket instead of processing each one immediately — SAP CPI posts to the legacy integrateBatch API (Skyvva API Version = V2), Salesforce queues the records into a batch, and the batch is then reprocessed from the SKYVVA Batch Control Board rather than being handled inline on the inbound call.

Reasons to pick this path:

Good fit for: End-to-end sequence: the steps below — create and configure the Interface (including enabling Batch Mode) in Salesforce, build the CPI iFlow (HTTPS sender → SkyvvaSalesforce receiver), deploy, send a test request from Postman, then locate and reprocess the resulting batch from the Batch Control Board.


How integrateBatch Works

The integrateBatch API is designed to process incoming records as a batch. Instead of processing each record individually, the incoming records are collected and processed together.

The end-to-end flow is:

Postman
   ↓
SAP CPI
   ↓
SKYVVA Salesforce Adapter
   ↓
SKYVVA Inbound Interface
   ↓
Working Basket
   ↓
Process Batch
   ↓
Salesforce Account

image Figure 1: End-to-end message flow using the integrateBatch API.
Unlike a synchronous integration, the batch is queued for processing and must be processed from the SKYVVA Batch Control Board.

1. Configure the SKYVVA Inbound Interface in Salesforce

Create a SKYVVA Inbound Interface under Integration in Salesforce.

For this example, create the interface:Account_CPI_integrateBatch

Configure the interface as follows:

SettingValue
Interface NameAccount_CPI_integrateBatch
IntegrationYour SAP CPI Integration App record
Source NameAccount
Target NameAccount
Interface DirectionInbound
Interface TypeMain-Interface
Processing ModeAsynchronous
Operation TypeUpsert

image Figure 2: SKYVVA Inbound Interface AccountCPIintegrateBatch configured with Inbound direction, Asynchronous processing, and the Upsert operation.

1.1 Configure the Inbound Setup

In the Inbound Setup section, configure the settings required to process the incoming data.

For this example:

image Figure 3: Interface’s Inbound Setup section — External Mapping checked, Salesforce External ID set to the four composite-key fields.
External Mapping allows the incoming field names to be mapped to the corresponding Salesforce fields without defining a separate mapping.

The configured Salesforce External ID fields are used to identify the Salesforce records during the upsert operation.

1.2 Enable Batch Mode

In the Basket Setting section, enable:Batch Mode

image

Figure 4: SKYVVA Inbound Interface Basket Setting section with Batch Mode enabled

Important: Batch Mode must be enabled for the interface to process incoming records according to the batch processing behavior described in this guide.

After completing the configuration, click Save.

2. Create the SAP CPI Integration Flow

In SAP CPI, create an integration package under Design, and then create an integration flow.

Example:

ItemExample
Integration PackageSkyvva Salesforce Adapter Testing
Integration FlowAccount Interface to Salesforce_integrateBatch
The integration flow receives the JSON request from Postman and forwards it to Salesforce through the SKYVVA Salesforce Adapter.

For this example, the flow contains:

No Content Modifier is required because the request does not need to be transformed before it is sent to Salesforce. image

Figure 5: Integration flow showing HTTPS Sender → Start → End → SKYVVA Salesforce Receiver

3. Configure the HTTPS Sender Channel

Select the standard SAP HTTPS sender adapter and configure the required channel parameters.

General

Configure the required settings in the General tab.

image

Figure 6: HTTPS sender channel — General tab.

Connection

Configure the required settings in the Connection tab.

The User Role must already exist and be assigned to the CPI user used by Postman.

For this example:ESBMessaging.send

Important: If the authenticated CPI user does not have the configured role, the HTTPS sender may reject the request with a 403 Forbidden response.
image

Figure 7: HTTPS sender channel — Connection tab.


The "User Role" value (ESBMessaging.send in this example) must already exist and be assigned to whichever user/credential POSTMAN authenticates as — create or confirm this role in your CPI tenant's user management before testing, or the HTTPS sender will reject the request with a 403.

4. Configure the SKYVVA Salesforce Receiver Channel

Select:SkyvvaSalesforce as the receiver adapter.

For this example, use:Skyvva Salesforce Adapter 1.2.3

The receiver channel contains the following tabs:

image Figure 8: SkyvvaSalesforce receiver channel — General tab.

4.1 Configure the Connection

For this example, set:

ParameterValue
Authentication TypeOAuth2
OAuth2 FlowClient Credential
Login URLhttps://yourdomain.my.salesforce.com
Client CredentialOAuth2 Client Credentials artifact deployed in the CPI keystore

For the full Connection tab field reference — both OAuth2 flows, and why Client Credential is required regardless of which flow you pick — see SkyvvaSalesforce Receiver Adapter in SAP Cloud Platform Integration §3. image

Figure 9: SkyvvaSalesforce receiver channel — Connection tab (OAuth2, Client Credential flow).

5. Configure the SKYVVA API

Open the Skyvva tab and set:

ParameterValue
Skyvva API VersionV2
Skyvva APIintegrateBatch
Apex MethodPOST
Logging OptionDefault
Enable Retry for Fatal Connectivity ErrorsUnchecked (leave disabled for this test; consider enabling for production)
HTTP Client Timeout60 seconds (increase for batches that need more processing time)

For what each of these fields does and how Skyvva API Version gates the rest of the tab, see SkyvvaSalesforce Receiver Adapter in SAP Cloud Platform Integration §5–§8. image

Figure 10: SkyvvaSalesforce receiver channel — Skyvva tab, Skyvva API set to integrateBatch.

After completing the configuration, save and deploy the integration flow.

image

Figure 11: Integration flow deployed and saved.

6. Get the SAP CPI Endpoint URL

After deploying the integration flow, navigate to:CPI → Monitoring → Manage Integration Content

Locate the deployed integration flow and copy its endpoint URL.

image

Figure 12: Manage Integration Content — Endpoints panel showing the deployed iFlow’s CPI endpoint URL.

The endpoint typically follows this format:

https://{{TenantId}}.{{RuntimeCluster}}.cfapps.{{Region}}.hana.ondemand.com/http/skyvva/Account/CPI/ReceiverChannel/IntegrateBatch

Example:

https://cpi-9t877j31.it-cpi018-rt.cfapps.eu10-003.hana.ondemand.com/http/skyvva/Account/CPI/ReceiverChannel/IntegrateBatch
Important: Always copy the exact endpoint URL displayed by your SAP CPI tenant instead of constructing the URL manually.

7. Test the Integration with Postman

After deploying the integration flow, create a new request in Postman.

Configure the request as follows:

SettingValue
MethodPOST
URLYour deployed SAP CPI endpoint URL
AuthorizationBasic Auth
CPI UserUser with the ESBMessaging.send role
Content-Typeapplication/json
Example endpoint:
https://cpi-9t877j31.it-cpi018-rt.cfapps.eu10-003.hana.ondemand.com/http/skyvva/Account/CPI/ReceiverChannel/IntegrateBatch

7.1 Request Body

Select Body → raw → JSON and use the following payload:

{
  "integrationid": "SAP CPI Integration",
  "interfacename": "Account_CPI_integrateBatch",
  "messages": [
    {
      "Name": "Test Account IntegrateBatch",
      "Phone": "+49 30 1234567",
      "Industry": "Manufacturing",
      "BillingCity": "Berlin",
      "BillingCountry": "Germany",
      "ERP_DEBTOR_ID__c": "DEBTOR-0001",
      "SAP_Sales_Org__c": "1000",
      "skyvva_external_id__c": "DEBTOR-0001-1000",
      "isAlreadySync__c": "true"
    }
  ]
}

Adjust the field names and values according to your Salesforce organization.

If the interface uses multiple Salesforce External ID fields as a composite key, include all required fields in every record.

7.2 Send the Request

Click Send in Postman.

A successful request should return a successful response from the SAP CPI endpoint containing the batch information.

image

Figure 13: POSTMAN request and response — POST to the CPI endpoint, 200 OK, response body containing the batch basket details.

8. Monitor the Message in SAP CPI

Navigate to:Monitor→ Monitor Message Processing

Verify that the message was processed successfully.

image

Figure 14: CPI Monitor Message Processing — message completed successfully.

9. Process the Batch in Salesforce

After the message reaches Salesforce, the data is placed into a batch for processing.

Navigate to:Batch Control Board → Working Basket

Locate the batch created for:Account_CPI_integrateBatch

The batch may initially have the status:Init

Select the batch and click Reprocess.

image

Figure 15: Batch Control Board — Working Basket showing the queued batch for AccountCPIintegrateBatch.


After processing is complete, verify that the Account record was created or updated successfully.

Summary

The complete batch integration flow is:

Postman
   ↓
HTTPS Sender
   ↓
SAP CPI Integration Flow
   ↓
SKYVVA Salesforce Adapter
   ↓
SKYVVA Inbound Interface
   ↓
Working Basket
   ↓
Process Batch
   ↓
Salesforce Account

The key configuration is:

ComponentConfiguration
SKYVVA InterfaceInbound
Processing ModeAsynchronous
Operation TypeUpsert
Batch ModeEnabled
SKYVVA API VersionV2
SKYVVA APIintegrateBatch
Apex MethodPOST
Open this article in the interactive viewer →