---
schema_version: "1"
id: 01cd6a41ba15d4b56e9b8cd612a73e7bb62b22813876b60ec0af035b1f531e4e
title: Remote Action for Integration Procedures
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_54037.md
canonical_url: https://help.salesforce.com/s/articleView?id=xcloud.os_remote_action_for_integration_procedures_54037.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: a024dd0aaeb49b0adf029100b5a65fdb0387766c9ddd3c71175e238195ecfd20
description: The Remote Action element calls the specified Apex class and method or the specified invocable action.
products:
  - Omnistudio
release: "264"
---
# Remote Action for Integration Procedures

The Remote Action element calls the specified Apex class and method or the specified invocable action.

![Note](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-xcloud-omnistudio-264-0-0-production-enus/f526eaa8-ae05-487a-8944-4bb99b0b78ac/images/icon_note.png)

Note A Remote Action calls the Apex class as a new entry point through the Callable interface. As a result, a class declared with inherited sharing runs with sharing (the default for a transaction entry point). It doesn't inherit a without sharing context from the calling class. To control record visibility predictably, declare an explicit with sharing or without sharing mode on every Apex class invoked from a Remote Action instead of relying on inherited sharing. For more information, see [Use the with sharing, without sharing, and inherited sharing Keywords](https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_classes_keywords_sharing.htm).

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small ">
      <colgroup>
        <col>
        <col>
      </colgroup>
      <thead class="slds-text-title_caps ">
        <tr class="">
          <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d83146e44">
            <p style="margin-bottom:0;">Property</p>
          </th>
          <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d83146e50">
            <p style="margin-bottom:0;">Description</p>
          </th>
        </tr>
      </thead>
      <tbody>
        <tr class="">
          <td data-label="Property" class="slds-cell-wrap" style="vertical-align:top;" headers="d83146e44 ">
            <p style="margin-bottom:0;">Remote Class</p>
          </td>

          <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d83146e50 ">
            <p style="margin-bottom:0;">Callable class or <code>DefaultInvocableAction</code> for an Invocable Action. In Omnistudio
              Standard, to prevent an error that says the Apex class can’t be loaded,
              include the namespace: <code>omnistudio.<var>ClassName</var>
                </code>.</p>
          </td>

        </tr>
        <tr class="">
          <td data-label="Property" class="slds-cell-wrap" style="vertical-align:top;" headers="d83146e44 ">
            <p style="margin-bottom:0;">Remote Method</p>
          </td>

          <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d83146e50 ">
            <p style="margin-bottom:0;">Method or Invocable Action name.</p>
          </td>

        </tr>
        <tr class="">
          <td data-label="Property" class="slds-cell-wrap" style="vertical-align:top;" headers="d83146e44 ">
            <p style="margin-bottom:0;">Remote Options</p>
          </td>

          <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d83146e50 ">
            <p>Additional class invocation options. The following options are predefined,
              but you can also pass options specific to the class.</p>
            <ul>
              <li><code>InvocableInputKey</code> —— Specifies a
                JSON map as Invocable Action input.</li>

              <li><code>reserialize</code> —— If <code>true</code>, reserializes the class output.<p>If
                  a remote action returns data that isn't in&nbsp;<code>Map&lt;String, Object&gt;</code>&nbsp;format, sometimes an Integration
                  Procedure or DataRaptor can’t process it unless it's reserialized. If
                  the returned data isn’t an sObject, you can't use it to update
                  Product2 objects without reserializing.</p>
              </li>

              <li><code>useStandardRuntime</code> —— If <code>true</code>, forces the Apex class to run in the
                Omnistudio standard runtime, even if the Managed Package Runtime is
                enabled in Omnistudio Settings in Setup.</li>

            </ul>
          </td>

        </tr>
        <tr class="">
          <td data-label="Property" class="slds-cell-wrap" style="vertical-align:top;" headers="d83146e44 ">
            <p style="margin-bottom:0;">Additional Input</p>
          </td>

          <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d83146e50 ">
            <p style="margin-bottom:0;">Data passed to the method or Invocable Action.</p>
          </td>

        </tr>
      </tbody>
    </table>

#### See Also

- [Create a Remote Action Example for an Invocable Action](https://help.salesforce.com/s/articleView?id=xcloud.os_create_a_remote_action_for_an_invocable_action_54126.htm&release=264.0.0&type=5 "This example 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 Example for an Invocable Action with an Input Key](https://help.salesforce.com/s/articleView?id=xcloud.os_create_a_remote_action_for_an_invocable_action_with_an_input_key_54225.htm&release=264.0.0&type=5 "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.")
- [Create the Integration Procedure with the Remote Action](https://help.salesforce.com/s/articleView?id=xcloud.os_create_the_integration_procedure_with_the_remote_action_54464.htm&release=264.0.0&type=5 "An Integration Procedure retrieves and reserializes the value of a name variable from the TestReserializeApex Apex class.")