When you submit a deploy, the code that is in it is run, regardless of what it is. It could be storing a contract (which it sounds like you were doing) or it could be calling an existing contract. If you look at the contract examples repo you will see that all of them have a define folder and a call folder. define is where the contract logic is defined and it is stored on the DAG. call uses the existing contract, passing parameters to it as needed.
Mechanically, this means that you following the same deploy/propose step you did to store a contract, but with code that calls the contract instead (i.e. a different wasm file).