2. Invoke callout()
1. Overview
invokeCallout() is the legacy outbound callout method in Skyvva used to send data from Salesforce to external systems such as SAP or SAP PI via outbound interfaces.
This method belongs to the Interface API Version V2 architecture and is primarily designed for simple and synchronous outbound processing scenarios.
It is commonly used in SFDC to SAP PI (SFDC2SAPPI) integration where minimal processing logic is required.
2. Purpose
The main purpose of invokeCallout() is to:
- Trigger outbound communication from Salesforce
- Send a single record (or related child records) per request
- Provide a lightweight integration mechanism
- Support basic SAP PI integration flows
3. When to Use invokeCallout()
Use invokeCallout() when:
- The integration does not use Message Type Template (IStructure)
- A simple outbound call is required
- Queueable or advanced processing is not required
- Working with legacy SAP PI integration (SFDC2SAPPI adapter)
4. Limitations
invokeCallout() has the following limitations:
- Does NOT support Message Type Template (IStructure)
- Does NOT support Queueable processing
- Does NOT support Batch processing
- Limited to legacy V2 integration architecture
5. Supported Interface API Version
| Feature | Value |
|---|---|
| Interface API Version | V2 |
6. Supported Execution Modes
| Mode | Support |
|---|---|
SYNC | ✅ Supported |
AUTO | ✅ Supported |
FUTURE | ✅ Supported |
QUEUEABLE | ❌ Not Supported |
BATCH | ✅ Supported |
7. Adapter Support
| Adapter Type | Support |
|---|---|
| SFDC2SAPPI Adapter | ✅ Supported |
| REST Adapter | ❌ Not Supported |
| SOAP Adapter | ❌ Not Supported |
| SAP PI/PO Modern Adapter | ❌ Not Supported |
8. Parameters
invokeCallout() requires the following parameters:
| Parameter | Description |
|---|---|
| Interface ID | The Skyvva Interface configuration ID |
| IDs | Salesforce record IDs to process |
| Mode | Execution mode (SYNC, AUTO, FUTUR, BATCH) |
9. Sample Apex Script for invokeCallout()
List<Id> ids = new List<Id>();
for(Account a : [SELECT Id FROM Account]) {
ids.add(a.Id);
}
IServices.invokeCallout('Interface_ID', ids, 'BATCH');
List<Id> ids = new List<Id>();
for(Account a : [SELECT Id FROM Account]) {
ids.add(a.Id);
}
IServices.invokeCallout('Interface_ID', ids, 'BATCH');
10. Processing Flow
11. Key Characteristics
- Legacy V2 integration method
- Simple outbound processing
- Synchronous execution only (SYNC/AUTO)
- Mainly used for SAP PI (SFDC2SAPPI) integrations
- No support for modern message structures or async queueing
12. Summary
invokeCallout() is a legacy Skyvva outbound method designed for simple and direct integration scenarios.
It is best suited for:
- SFDC2SAPPI-based SAP integrations
- Simple synchronous outbound communication
- Existing legacy systems that do not require modernization
13. Recommendation
- Use
invokeCallout()only for legacy or existing integrations - For new implementations, consider
invokeCalloutV3()for better scalability, adapter support, and message flexibility