Overview
Integration Procedures are declarative, server-side orchestration components in Salesforce OmniStudio (formerly Vlocity) used to perform multi-step integrations and data transformations without writing Apex code. They enable high-performance, synchronous or asynchronous processing of business logic, service calls, and data handling — making them ideal for building scalable integrations between Salesforce and external systems.
Why Integration Procedures matter
Integration Procedures improve developer productivity and runtime efficiency by combining multiple actions (like HTTP calls, DataRaptor transformations, Apex actions, and conditional logic) into a single execution plan. This reduces the number of client-server round trips and centralizes integration logic in a reusable, testable unit.
Key building blocks
Common elements used in Integration Procedures include:
Start
— The entry point for an Integration Procedure execution.
Action
— Units of work such as:
HTTP Action
— Call external REST/SOAP services.
DataRaptor Extract/Transform/Load
— Declarative data mapping between JSON/XML and Salesforce objects.
Integration Procedure Action
— Nested Integration Procedure calls for modularity.
Apex Action
— Execute custom Apex when declarative actions are insufficient.
Set Variables / Assign
— Store intermediate values and transform data within the procedure.
Conditional (If/Else)
— Branch logic based on runtime data.
Execution modes
Integration Procedures can run:
Synchronously — Returns a response immediately to the caller (commonly used in OmniScripts and FlexCards).
Asynchronously — Use platform events or scheduled jobs for long-running tasks.
Typical use-cases
Integration Procedures are commonly used for:
– Aggregating data from multiple systems into a single JSON response for UI components.
– Performing transactional sequences where several dependent actions must run in order.
– Transforming and mapping data between API payloads and Salesforce objects via DataRaptors.
– Reducing front-end latency by moving orchestration logic from the client to the server.
Sample Integration Procedure JSON (simplified)
{
"type": "IntegrationProcedure",
"steps": [
{ "type": "DataRaptorExtract", "name": "GetAccount", "input": { "accountId": "%accountId%" } },
{ "type": "HTTPAction", "name": "CallPricingAPI", "endpoint": "https://api.example.com/pricing", "method": "POST", "body": "%payload%" },
{ "type": "DataRaptorTransform", "name": "NormalizeResponse" },
{ "type": "SetVariables", "name": "PrepareOutput" }
]
}
Best practices
– Keep Integration Procedures focused and modular; use nested procedures for reuse.
– Prefer declarative DataRaptors and HTTP Actions over Apex where possible to simplify maintenance.
– Handle errors and failures explicitly using try/catch patterns, error handlers, and clear response structures.
– Avoid long synchronous processing; if an operation takes too long, design an asynchronous flow.
Monitoring and debugging
Use OmniStudio logs, debug logs, and Integration Procedures’ built-in interactive execution trace to inspect inputs, outputs, and intermediate variables. Leverage retry and circuit-breaker patterns for unstable external services.
Conclusion
Integration Procedures are a powerful OmniStudio feature for building efficient, maintainable integrations in Salesforce. They help centralize orchestration, minimize client-server interactions, and enable complex multi-step logic using declarative building blocks — making them essential for modern Salesforce integration architectures.
Leave a Reply