---
schema_version: "1"
id: d02c11d26dfdbc639ba324e46055bfd77e7d62688e2670d0c487ae899f8d0e7d
title: Transfer Reservation Action
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/platform/264-0-0/flow_ref_elements_oci_actions_transfer_reservation.md
canonical_url: https://help.salesforce.com/s/articleView?id=platform.flow_ref_elements_oci_actions_transfer_reservation.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: 014ebbad818eb11034122a3bde2bae736ef790ebef8816bc732db3f3bd006462
description: In Omnichannel Inventory, transfer one or more inventory reservations between locations or location groups. This action reduces the reserved quantity at the source and increases it at the destination. It doesn’t change physical quantities.
products:
  - Flow Builder
  - Salesforce Platform
release: "264"
---
# Transfer Reservation Action

In Omnichannel Inventory, transfer one or more inventory reservations between locations or location groups. This action reduces the reserved quantity at the source and increases it at the destination. It doesn’t change physical quantities.

### Required Editions

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small edition"><colgroup><col></colgroup><tbody><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Available in: Lightning Experience</td></tr><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;"><a href="https://help.salesforce.com/s/articleView?id=platform.flow_ref_supported_editions.htm&amp;release=264.0.0&amp;type=5" title="Learn about the editions and user interfaces that support Flow Builder. Some Flow Builder features integrate with other Salesforce products that require additional licenses.">View supported editions.</a></td></tr><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">This feature requires the Salesforce Omnichannel Inventory add-on. To purchase, contact your Salesforce account executive.</td></tr></tbody></table>

In Flow Builder, add an Action element to your flow. Select the **Omnichannel Inventory Service** category, and search for **Omnichannel Inventory Service Transfer Reservation**.

![Note](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-platform-platform_automation-264-0-0-production-enus/60568438-ec7e-4665-acd1-7c80dcbe60d5/images/icon_note.png)

Note Set the flow’s runtime API version to 52.0 or later.

Set Input Values

Use values from earlier in the flow to set the inputs.

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small ">
        <colgroup>
          <col style="width:17.006802721088434%">
          <col style="width:82.99319727891157%">
        </colgroup>
        <thead class="slds-text-title_caps ">
          <tr class="">
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d325421e93">Input Parameter</th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d325421e96">Description</th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="Input Parameter" class="slds-cell-wrap" style="vertical-align:top;" headers="d325421e93 ">
              <strong class="uicontrol">Omnichannel Inventory Service Transfer Reservation
                Input</strong>
            </td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d325421e96 ">
              <p>This input is an Apex-defined variable of class <a href="https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_connectapi_input_o_c_i_transfer_reservation.htm" target="_blank">ConnectApi.OCITransferReservationInputRepresentation</a>.</p>
              <p>The variable has
                these fields.</p>
              <ul>
                <li><strong class="uicontrol">allOrNothingTransferId</strong>—Optional. Controls whether a
                  single failed transfer cancels all other transfers in the transferRecords list.<ul>
                    <li>To allow some transfers in the transferRecords list to succeed when others
                      fail, don’t set this value.</li>
                    <li>To cancel all the transfers in the transferRecords list when any of them
                      fail, set this value to a UUID. The ID must be unique, but isn’t otherwise
                      used.</li>
                  </ul>
                </li>
                <li><strong class="uicontrol">transferRecords</strong>—A list of up to 100 Apex-defined
                  variables of class <a href="https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_connectapi_input_o_c_i_transfer_reservation_single.htm" target="_blank">ConnectApi.OCITransferReservationSingleInputRepresentation</a>. Each
                  variable represents an inventory transfer and has these fields.<ul>
                    <li><strong class="uicontrol">actionRequestId</strong>—A UUID that identifies the request.
                      To identify which actions succeeded or failed, use the action request IDs in
                      the output variables.</li>
                    <li><strong class="uicontrol">externalRefId</strong>—Optional. The external reference
                      ID.</li>
                    <li><strong class="uicontrol">fromLocationGroupIdentifier</strong>—The identifier of the
                      location group transferring the reservation. Either
                      <strong class="uicontrol">fromLocationGroupIdentifier</strong> or
                      <strong class="uicontrol">fromLocationIdentifier</strong> is required, but not
                      both.
                    </li>
                    <li><strong class="uicontrol">fromLocationIdentifier</strong>—The identifier of the location
                      transferring the reservation. Either
                      <strong class="uicontrol">fromLocationIdentifier</strong> or
                      <strong class="uicontrol">fromLocationGroupIdentifier</strong> is required, but not
                      both.
                    </li>
                    <li><strong class="uicontrol">ignoreAvailabilityCheck</strong>—If true, force the transfer
                      even if the receiving location doesn’t have sufficient available inventory.
                      The default value is false.</li>
                    <li><strong class="uicontrol">quantity</strong>—The quantity of the product reservation to
                      transfer.</li>
                    <li><strong class="uicontrol">stockKeepingUnit</strong>—The Stock Keeping Unit (SKU) of the
                      product reservation to transfer.</li>
                    <li><strong class="uicontrol">toLocationGroupIdentifier</strong>—The identifier of the
                      location group receiving the reservation. Either
                      <strong class="uicontrol">toLocationGroupIdentifier</strong> or
                      <strong class="uicontrol">toLocationIdentifier</strong> is required, but not both.
                    </li>
                    <li><strong class="uicontrol">toLocationIdentifier</strong>—The identifier of the location
                      receiving the reservation. Either <strong class="uicontrol">toLocationIdentifier</strong>
                      or <strong class="uicontrol">toLocationGroupIdentifier</strong> is required, but not
                      both.</li>
                  </ul>
                </li>
              </ul>
            </td>

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

Store Output Values

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small ">
        <colgroup>
          <col style="width:17.513134851138354%">
          <col style="width:82.48686514886164%">
        </colgroup>
        <thead class="slds-text-title_caps ">
          <tr class="">
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d325421e218">Output Parameter</th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d325421e221">Description</th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="Output Parameter" class="slds-cell-wrap" style="vertical-align:top;" headers="d325421e218 ">
              <strong class="uicontrol">Omnichannel Inventory Service Transfer Reservation
                Output</strong>
            </td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d325421e221 ">
              <p>This value is an Apex-defined variable of class <a href="https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_connectapi_output_o_c_i_transfer_reservation_output.htm" target="_blank">ConnectApi.OCITransferReservationOutputRepresentation</a>.</p>
              <p>The variable has
                these fields.</p>
              <ul>
                <li><strong class="uicontrol">errors</strong>—A list of Apex-defined variables of class <a href="https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_connectapi_output_o_c_i_transfer_reservation_error_output.htm" target="_blank">ConnectApi.OCITransferReservationErrorOutputRepresentation</a>. Each
                  variable represents a returned error and has these fields.<a name="flow_ref_elements_oci_actions_transfer_reservation__orderlifecycletypevalues"><!-- --></a>
                  <ul id="flow_ref_elements_oci_actions_transfer_reservation__orderlifecycletypevalues">
                    <li><strong class="uicontrol">details</strong>—An Apex-defined variable of class <a href="https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_connectapi_output_o_c_i_transfer_reservation_single_output.htm" target="_blank">ConnectApi.OCITransferReservationSingleOutputRepresentation</a>. Each
                      variable represents a returned error and includes the fields from the input:<ul>
                        <li><strong class="uicontrol">actionRequestId</strong>—A UUID that identifies the failed
                          request.</li>
                        <li><strong class="uicontrol">externalRefId</strong>—The external reference ID.</li>
                        <li><strong class="uicontrol">fromLocationGroupIdentifier</strong>—The identifier of the
                          location group transferring the reservation.</li>
                        <li><strong class="uicontrol">fromLocationIdentifier</strong>—The identifier of the
                          location transferring the reservation.</li>
                        <li><strong class="uicontrol">ignoreAvailabilityCheck</strong>—Whether this call ignored
                          availability data at the location that received the reservation.</li>
                        <li><strong class="uicontrol">quantity</strong>—The quantity of the product reservation
                          to transfer.</li>
                        <li><strong class="uicontrol">stockKeepingUnit</strong>—The SKU of the product
                          reservation to transfer.</li>
                        <li><strong class="uicontrol">toLocationGroupIdentifier</strong>—The identifier of the
                          location group intended to receive the reservation.</li>
                        <li><strong class="uicontrol">toLocationIdentifier</strong>—The identifier of the
                          location intended to receive the reservation.</li>
                      </ul>
                    </li>
                    <li><strong class="uicontrol">errorCode</strong>—The error code.</li>
                    <li><strong class="uicontrol">message</strong>—Details of the error, if available.</li>
                  </ul>
                </li>
                <li><strong class="uicontrol">success</strong>—Indicates whether the transfer succeeded.</li>
              </ul>
            </td>

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

To set up the Omnichannel Inventory Service Transfer Reservation Input:

- For each reservation to transfer, use Assignment elements to set the **actionRequestId**, **externalRefId**, **fromLocationGroupIdentifier** or **fromLocationIdentifier**, **quantity**, **stockKeepingUnit**, and **toLocationGroupIdentifier** or **toLocationIdentifier** field values on a **ConnectApi.OCITransferReservationSingleInputRepresentation** variable.
- Use Assignment elements to add the **ConnectApi.OCITransferReservationSingleInputRepresentation** variables to the **transferRecords** field on a **ConnectApi.OCITransferReservationInputRepresentation** variable.
- Use an Assignment element to set the **allOrNothingTransferId** field on the **ConnectApi.OCITransferReservationInputRepresentation** variable.
- Use the **ConnectApi.OCITransferReservationInputRepresentation** variable in the action input.

#### See Also

- [Add and Edit Elements](https://help.salesforce.com/s/articleView?id=platform.flow_build_elements.htm&release=264.0.0&type=5 "Use elements to define actions that the flow can run. When they’re on the canvas, connect them to create the order in which they run.")