Pushing transaction from one queue to another after processing for end-to-end processing

I am attempting to automate several processes that all happen one after another as data is received. To best handle this situation, I am considering creating a dispatcher that adds extra information for the queue that the given transaction should be sent to after it is successfully processed so that the next step can happen. This would be required versus having all transactions go to the next queue because I am creating an abstracted claim setup system that I can then feed all other processes in to.

Has anyone done anything like this? Are there any gotchas to consider? Insofar as reporting is concerned, are there extra metrics that people have found helpful to keep regarding this sort of thing?