---
schema_version: "1"
id: bd4f4b673cf050c4adb0e99b5c13dae3af8c474638585e01f16763a67a3fd4db
title: Integration Procedure Features Not in Omniscripts
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/xcloud/264-0-0/os_integration_procedure_features_not_in_omniscripts_8210.md
canonical_url: https://help.salesforce.com/s/articleView?id=xcloud.os_integration_procedure_features_not_in_omniscripts_8210.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: 2d638407971079b4bf24dc55091f32710f0b5bb5ce58f7ead129505a58e0d16d
description: Integration Procedures and Omniscripts have differences and common features. Some important Integration Procedure features aren't present in Omniscripts.
products:
  - Omnistudio
release: "264"
---
# Integration Procedure Features Not in Omniscripts

Integration Procedures and Omniscripts have differences and common features. Some important Integration Procedure features aren't present in Omniscripts.

Unlike Omniscripts, Integration Procedures have no end-user UI, run on the server, and can run either synchronously or asynchronously.

Like Omniscripts, Integration Procedures can call Omnistudio Data Mappers, Integration Procedures, REST endpoints, and Apex methods. Also, like Omniscripts, Integration Procedures can send emails and DocuSign envelopes and manipulate data using functions and variables.

However, Integration Procedures have some useful features that Omniscripts lack:

- Caching of part or all of the Integration Procedure for performance
- Unit testing of entities the Integration Procedure calls
- Chainable and queueable chainable settings for avoiding governor limits
- Complex list processing and merging
- Invocation of Integration Procedures from Apex, REST, Flow, and Scheduled Jobs

Blocks specific to Integration Procedures are:

- Cache Block — Actions within are cached for performance.
- If-Else Conditional Block — Actions within have mutually exclusive conditions.
- Loop Block — Actions within run one time for each item in a list.
- Try-Catch Block — If any action within causes an error, the error is handled, and the Integration Procedure keeps running.

Actions specific to Integration Procedures are:

- Assert Action — Declares an expected result for unit testing.
- Batch Action — Runs a Scheduled Job.
- Chatter Action — Creates a Chatter post.
- List Action — Merges two lists based on matching key values.
- Response Action — Returns data to the entity that called the Integration Procedure.