Skip to content

Start here

Copy files (object store)

Copy files between two object-store connections, one receipt record per object.

Copy files between two object-store connections, one receipt record per object.

When to use it

Copy selected objects between stored connections and inspect each receipt. Confirm the destination prefix and collision policy before running. Copying a file is different from importing a snapshot into an app’s managed document list.

Add and configure

  1. Add Copy files (object store) from the workflow step picker.
  2. Give the step a recognisable name and connect its required inputs.
  3. Set the options below. Nested names identify fields within an object or a list item.
  4. Validate the recipe, inspect the test result, then run it on the intended data.

The step identifier used in the editor’s code view is object_copy.

Settings

SettingAccepted valueRequiredDefaultWhat it controls
Endpoint (destination)objectYesNot specifiedDestination object-store connection.
Catalog Slug (destination.catalog_slug)string or nullNonullCatalog slug — mirrored for FE convenience (icon/label resolution).
Connection Id (destination.connection_id)string; format uuid or nullNonullUUID of the Connection (integration row).
Display Name (destination.display_name)string or nullNonullHuman-readable label — the connection's display_name resolved server-side.
EndpointKind (destination.kind)"connection"No"connection"Destination location type. Supply the corresponding destination connection or app location.
Object Keys (object_keys)list of stringNoNot specifiedExplicit object keys to copy. Empty = all under prefix.
Prefix (prefix)stringNo""Key prefix filter when listing the source store.
Selection (selection)"auto" / "input"No"auto"Use input for an explicit file-list job; an empty list copies nothing. Auto retains legacy prefix selection.
Endpoint (source)objectYesNot specifiedSource object-store connection.
Catalog Slug (source.catalog_slug)string or nullNonullCatalog slug — mirrored for FE convenience (icon/label resolution).
Connection Id (source.connection_id)string; format uuid or nullNonullUUID of the Connection (integration row).
Display Name (source.display_name)string or nullNonullHuman-readable label — the connection's display_name resolved server-side.
EndpointKind (source.kind)"connection"No"connection"Source location type. Select the supported source and provide its corresponding connection or app location.

Inputs and outputs

DirectionPortContentRequiredMultiple records
InputsinfilesYesYes
OutputsoutfilesYesYes

Effects, testing, and recovery

Can write or act on an external destination.

The declared preview behaviour is to skip this step. Configuration can affect preview behaviour; HTTP GET is a notable exception. Read dry runs before using a preview with live connections.

Duplicate prevention uses the operation’s natural identity. Do not assume that manually repeating the step is free of repeated effects.

Example: Mirror a prefix of the platform store into an S3 bucket

Step settings:

{
  "destination": {
    "catalog_slug": "s3_storage",
    "connection_id": "55555555-5555-4555-8555-555555555555"
  },
  "prefix": "exports/",
  "source": {
    "catalog_slug": "platform_store",
    "connection_id": "33333333-3333-4333-8333-333333333333"
  }
}

Example: Copy exactly the files an upstream file-list job selected

Step settings:

{
  "destination": {
    "catalog_slug": "platform_store",
    "connection_id": "33333333-3333-4333-8333-333333333333"
  },
  "selection": "input",
  "source": {
    "catalog_slug": "s3_storage",
    "connection_id": "55555555-5555-4555-8555-555555555555"
  }
}

Check the result

Inspect the selected run’s status, counts, errors, and output records. An empty collection can be a valid result, and a completed step can contain per-record failures where the step defines that behaviour. Check the next step’s expected record shape before publishing or delivering the result.