To a point. You can do that in your own system, but at some point down the line you interact with something that cannot or does not want to de-duplicate based on UUID, such as a different system, or a person. Then you have to choose between at-least-once or at-most-once.
Can’t you de-dupe by attaching a UUID to messages?