If you want to detect new files, then process them and at the end delete proceeded files you can use systemd.path. This method bases on inotify. There is an option DirectoryNotEmpty, so systemd can run your script always when it detects any files in directory. You have to remember it will work only if you can delete proceeded files and script leaves directory empty.
First prepare mymonitor.service file
[Unit]
Description=Start the script
[Service]
Type=oneshot
ExecStart=/path/to/your/script
next go to mymonitor.path to define the path
[Unit]
Description= Triggers the service
[Path]
DirectoryNotEmpty=/path/to/monitor
[Install]
WantedBy=multi-user.target
If the name of the .path file is the same as the name of the service there is no need to specify the service name in .path file.
It bases on Monitoring File Access for DummiesMonitoring File Access for Dummies