Hi Sophie,
I'm not sure if this fits your need, but the way we handled this was by giving every agent their very own queue. When a customer wants to call back the agent directly, it will go into that agents queue with its own set of wrap up codes. This allows the agent to apply a wrap up code to that call.