Receive and send files over SFTP and SMB, with one API for both protocols.
A schedule watches a remote directory and your service is called once per file, with the contents already in hand - moving a feed between protocols is a change of connection, not of code.
Receiving files