in this case, it’s not really an “event out, command back in” scenario, as there is an external system involved. But still, I would consider other options.
One would be to call the external system from within the Aggregate (via a well-designed interface, to prevent coupling). Not ideal, especially since the external call will be done while holding a lock on the Aggregate.
Alternatively, you could use an interceptor to fetch external data prior to executing the command. That works if the external interaction is a (side-effect free) query.
In the end, it’s three options, each with pros and cons.