This is a system for preparing new and pre-prepared samples using customisable workflows. A user-friendly workflow editor allows custom sequences to be built using simple point and click actions on the user interface. Each sample can have steps associated with it e.g. centrifugation, mixing, dispensing, aliquoting, vial crimping with adjustable parameters for volumes, speeds, times etc. The Labman software dynamically optimises the robotic actions to ensure that samples are processed as efficiently as possible. The system encompasses two XYZ robots that share the workspace to provide maximum throughput. The input and output tube racks can hold up to 1536 tubes, and this can be a mixture of different tube types in the same run. Up to 8 solvents are automatically selected for sample creation and dilution, the solvents are stored in-situ below the robot frame in a safety cabinet. The second XYZ robot handles the final sample aliquots into output vials, this uses an air displacement pipettor with disposable tips to ensure zero carryover between samples.