I have to write an application for a Windows Server that either runs on a scheduled task or can run on a Windows server and triggered by a webhook. What other .NET project types or methods within a project can I do this with?
I know I could probably host an API on IIS on the Windows server and do it that way, but all my APIs are in Azure App service, and this has to integrate with the Windows desktop application.
What you mean integrate on "all my APIs are in Azure App service and this has to integrate with Windows desktop application.". Try to explain a little bit what's your requirements.
If you want to Read/Write a SQL DB on premises, you can use a Azure Gateway without deploy anything in your server, another choice with SQL Server is to move the DB to Azure (if supported). You can use the triggers on Azure Functions to write/read something on Azure Storage, from your Server you can read the storage and perform some tasks. As you can see there are multiple choice without writing much code on premises, try to clarify your requirements.
It all depends on your use case. You mentioning "scheduled task" appears you want to use a Worker Service
If you want to trigger your actions you can host a webapi, too.
Bottomline: Both use cases suffice your needs so your course depends on where you want to "control" your app ( set delay, maybe sometimes start the action manually ). WorkerService -> Config file on the host Api -> Configure from client