Autonomous capillary systems (CSs), where liquids are displaced by means of capillarity, are efficient, fast and convenient platforms for many bioanalytical applications. The proper functioning of these microfluidic devices requires displacing accurate volumes of liquids with precise flow rates. In this work, we show how to design capillary pumps for controlling the flow properties of CSs. The capillary pumps comprise microstructures of various shapes with dimensions from 15-250 microm, which are positioned in the capillary pumps to encode a desired capillary pressure. The capillary pumps are designed to have a small flow resistance and are preceded by a constricted microchannel, which acts as a flow resistance. Therefore, both the capillary pump and the flow resistance define the flow rate in the CS, and flow rates from 0.2-3.7 nL s(-1) were achieved. The placement and the shape of the microstructures in the capillary pumps are used to tailor the filling front of liquids in the capillary pumps to obtain a reliable filling behaviour and to minimize the risk of entrapping air. The filling front can, for example, be oriented vertically or tilted to the main axis of the capillary pump. We also show how capillary pumps having different hydrodynamic properties can be connected to program a sequence of slow and fast flow rates in a CS.