---
schema_version: "1"
id: 2110b81b0c935d9a2ed3e38af2d1772df8392ce4e6bb175bb8b8270e0357f455
title: Remote Action for Integration Procedures (Managed Package)
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/xcloud/264-0-0/os_remote_action_for_integration_procedures.md
canonical_url: https://help.salesforce.com/s/articleView?id=xcloud.os_remote_action_for_integration_procedures.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: f32929ebc91efb5c9f1c164df84dec7862257d40f7db68509df3d8567b3ee772
description: For the managed package runtime, the Remote Action element calls the specified Apex class and method or the specified invocable action. You can also pass in invocation options and data. The Apex class must implement the VlocityOpenInterface2 or Callable interface.
products:
  - Omnistudio
release: "264"
---
# Remote Action for Integration Procedures (Managed Package)

For the managed package runtime, the Remote Action element calls the specified Apex class and method or the specified invocable action. You can also pass in invocation options and data. The Apex class must implement the VlocityOpenInterface2 or Callable interface.

![Managed Package app icon](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-xcloud-omnistudio_for_managed_packages-264-0-0-production-enus/aa2554ec-624a-4ee6-8da4-6435670e6e62/resources-global/_corporate/images/managedpackageicon.png) This information is for Omnistudio for Managed Packages. For Omnistudio on standard runtime, see [Omnistudio Help](https://help.salesforce.com/s/articleView?id=xcloud.os_omnistudio_standard.htm&language=en_US).

If the data that a remote action returns isn't in `Map<String, Object>` format, sometimes an Integration Procedure or Omnistudio Data Mapper can’t process it. Because the returned data isn’t an sObject, you can't use it to update Product2 objects without reserializing. You can convert the data in one of these ways:

- In the remote action, under **Remote Options**, add a **Key** named `reserialize` with a Value of `true`.
- In a subsequent Set Values step, use the RESERIALIZE function on the remote action's output.
    
    For information about related functions such as DESERIALIZE and SERIALIZE, see the [Function Reference (Managed Package)](https://help.salesforce.com/s/articleView?id=xcloud.os_function_reference.htm&release=264.0.0&type=5 "For the managed package runtime, use these operators and functions in Omnistudio Data Mappers and Integration Procedures, and in Vlocity Intelligence, eligibility rules, underwriting rules, state rules, and calculation procedures."). For information on reserializing map objects as inputs, see [Workflow for Remote Action Apex Class Example (Managed Package)](https://help.salesforce.com/s/articleView?id=xcloud.os_workflow_for_remote_action_apex_class_example.htm&release=264.0.0&type=5 "For the managed package runtime, an Integration Procedure uses a Remote Action to call an Apex class and demonstrate how to reserialize data.").

An error message that begins with `Invalid conversion from runtime type String` often indicates a need to reserialize data.

If you receive an error that says the Apex class can’t be loaded, add the Apex class namespace in the Remote Class field in the remote action like this: {yournamespace}.ApexClassName. For example, omnistudio.PrefillOrders where omnistudio is the namespace and PrefillOrders is the Apex class.

To ensure that a Remote Action error causes a rollback if **Rollback on Error** is checked in the Procedure Configuration, set the `errorCode` in the class output map.

![Note](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-xcloud-omnistudio_for_managed_packages-264-0-0-production-enus/aa2554ec-624a-4ee6-8da4-6435670e6e62/images/icon_note.png)

Note Community Plus users must log in before they can use an Integration Procedure Remote Action that sends emails.

- **[Remote Action Properties for Integration Procedures (Managed Package)](https://help.salesforce.com/s/articleView?id=xcloud.os_remote_action_properties_for_integration_procedures.htm&release=264.0.0&type=5)**  
    For the managed package runtime, these properties are unique to or function in a unique manner in Remote Actions. A Remote Action calls the specified Apex class and method or the specified Invocable Action. You can also pass in invocation options and data.
- **[Create a Remote Action for an Invocable Action (Managed Package)](https://help.salesforce.com/s/articleView?id=xcloud.os_create_a_remote_action_for_an_invocable_action.htm&release=264.0.0&type=5)**  
    For the managed package runtime, an Integration Procedure uses a Remote Action to call the emailSimple Invocable Action, which is present in every Salesforce org. Inputs to the Invocable Action are specified in the Integration Procedure as Additional Input.
- **[Create a Remote Action for an Invocable Action with an Input Key (Managed Package)](https://help.salesforce.com/s/articleView?id=xcloud.os_create_a_remote_action_for_an_invocable_action_with_an_input_key.htm&release=264.0.0&type=5)**  
    For the managed package runtime, an Integration Procedure uses a Remote Action to call the emailSimple Invocable Action, which is present in every Salesforce org. Inputs to the Invocable Action are specified in the Integration Procedure in a Remote Option named InvocableInputKey.
- **[Workflow for Remote Action Apex Class Example (Managed Package)](https://help.salesforce.com/s/articleView?id=xcloud.os_workflow_for_remote_action_apex_class_example.htm&release=264.0.0&type=5)**  
    For the managed package runtime, an Integration Procedure uses a Remote Action to call an Apex class and demonstrate how to reserialize data.