Move DMARC files into matching domain subdirectory/folder

I have several domains which I receive report emails with attachments where those attachments are auto removed and saved into a folder/directory on google drive.
The attachment name format is:
<reporting domain>!<domain being reported>!<some number 1>!<some number 2>.xml.gz
<reporting domain>!<domain being reported>!<some number 1>!<some number 2>.zip
<reporting domain>!<domain being reported>!<some number 1>!<some number 2>!<some number3>.json.gz
example:
google.com!ullec.xyz!1675641600!1675727999.xml.gz
I manually move these files every couple of days from the top-level directory into their respective domain-name directory. So, in the above example, I'd move that file into the ullec.xyz sub-directory.
How can I get Hazel to do this for me?
The attachment name format is:
<reporting domain>!<domain being reported>!<some number 1>!<some number 2>.xml.gz
<reporting domain>!<domain being reported>!<some number 1>!<some number 2>.zip
<reporting domain>!<domain being reported>!<some number 1>!<some number 2>!<some number3>.json.gz
example:
google.com!ullec.xyz!1675641600!1675727999.xml.gz
I manually move these files every couple of days from the top-level directory into their respective domain-name directory. So, in the above example, I'd move that file into the ullec.xyz sub-directory.
How can I get Hazel to do this for me?