Set up a schedule trigger to run every 15 minutes. This will be the trigger that checks for the file periodically.
Define an input dataset representing the file you're waiting for.
To set a maximum run window for your pipeline (including waiting time for the file), you can use an Execute Pipeline activity that wraps around your main processing activities. configure the Timeout property of the Execute Pipeline activity to your desired maximum run time.
I can be more specific if you tell me where the file will hit.
Also see:
How to create Event Trigger in Azure Data Factory when three files created in Azure Blob Container?
https://www.youtube.com/watch?v=FpKrBLeqdj4 (this not exactly regarding your problem but might be helpful)