Last updated: November 29, 2024

<span aria-hidden="true" id="introducing-advanced-conditions-for-assembly-steps"></span>

# Introducing advanced conditions for Assembly Steps

![Felix Geisendörfer](/assets/images/teammates/avatar-felixge-1.jpg?dpl=dpl_P3jgmY3Xa6fahEJTKAHNjzo3jEsY)

**Felix Geisendörfer**

Co-founder · Berlin, Germany · Show bio

[](https://x.com/felixge)[](https://github.com/felixge)

A frequently requested feature is to allow more flexibility when it comes to choosing how different upload files are processed.

At this point, our Robots are already smart enough to not touch files they don't know how to handle, so a video our Robots would silently ignore any image files. This makes it really easy to use the same Assembly for upload forms where the user is free to upload whatever media file they desire.

However, there are, of course, other conditions than file type that may lead to a different treatment of the file. As of today, we are adding the first new condition which allows you to execute a given Step based on the name of the form field with which the file was uploaded.

Usage is as simple as:

```javascript
{
  steps: {
    encode: {
      robot: "/video/encode",
      use: {
        fields: ["raw_video"]
      }
    },
    store: {
      robot: "/s3/store",
      use: [":original", "encode"]
    }
  }
}

```

In this Assembly, a video would only be encoded if it was uploaded using the field name`"raw_video"`. In any other case, the video will be taken as-is and directly uploaded to S3.

Going forward, we are planning to add more conditions that will also allow you to make yourSteps choose their own input, using the incoming file's metadata.

P.S. We have also updated the [documentation](/docs/topics/assembly-instructions.md#step-parameters)for this.

[#assembly](/blog/tags/assembly.md)[#workflow](/blog/tags/workflow.md)

### 👩‍💻 Join 20k+ developers

Sign up for our [monthly newsletter](/newsletters.md) to receive direct links to 3 exclusive tech — and 2 product updates. No less, no more.

Your email:

Get access

## File uploading and encoding. Made simple.

Transloadit streamlines file handling for developers, trusted by brands like Coursera and The New York Times. We’re known for a reliable API, top-notch support, and a strong commitment to open source, with projects like [Uppy⁠](https://uppy.io) and [Tus⁠](https://tus.io) setting standards in file processing.

[Sign up](/c/)[Book a Demo](https://survey.typeform.com/to/kRg47Xi5)

No credit card needed · 5 GB included in the free plan

Cancel anytime
