Introduction
The BizTalk Scheduled Task Adapter is an in‑process receive adapter that executes predefined tasks on a daily, weekly, or monthly schedule. It is configured entirely within BizTalk; therefore, all settings are stored in the SSO database (SSODB) and can be easily exported or imported using binding files.
In addition, the scheduling capabilities closely resemble those provided by the Windows Scheduled Task Service, making it familiar and intuitive for administrators.
This version includes four built‑in tasks out of the box:
- XmlStringStreamProvider – generates a BizTalk message from a configured XML string
- FileStreamProvider – creates a BizTalk message from the contents of a file
- HttpDownload – produces a BizTalk message from data downloaded from a website
- SQLStreamProvider – generates a BizTalk message from the result of a SQL query, similar to the legacy SQL adapter
Moreover, the adapter is fully extensible. Custom tasks can also be created, allowing any .NET class that implements the appropriate interface to be scheduled and executed by BizTalk.
📝 One-Minute Brief
This post explains how to install BizTalk Scheduled Task Adapter, an in‑process receive adapter that allows BizTalk Server to execute scheduled tasks. It outlines adapter capabilities, supported BizTalk versions, requirements, and provides a step‑by‑step walkthrough of the installation process.
Requirements
The BizTalk Scheduled Task Adapter v6.0 will work with:
- BizTalk Server 2016.
- .NET Framework 4.6.
How to install BizTalk Scheduled Task Adapter
To install the adapter, you need to run ScheduledTaskAdapter.msi.
- In the Welcome screen, click Next.
- On the Select Installation Folder screen, you must select the installation locations where you want to install the adapter, then click Next.
- On the Confirm Installation screen, click Next to display the installation progress.
- Assuming all goes well, the Installation Complete screen will appear. Click Close to finish the installation process.
The setup will install the following assemblies in the selected folder (The default folder is: C:\Program Files (x86)\BizTalk ScheduledTask Adapter 6.0):
- BizTalk Scheduled Task Adapter.pdf (Installation manual)
- Biztalk.Adapter.ScheduledTaskProperties.dll
- Calendar.Schedules.dll
- Microsoft.BizTalk.CommonSettings.dll
- Microsoft.BizTalk.SqmFramework.dll
- ScheduledTaskAdapter.Admin.dll
- ScheduledTaskAdapter.dll
- ScheduledTaskAdapter.TaskComponents.dll
- stdole.dll
The setup will add the following assemblies to the Global Assembly Cache (GAC):
- Biztalk.Adapter.ScheduledTaskProperties.dll
- Calendar.Schedules.dll
- ScheduledTaskAdapter.dll
- ScheduledTaskAdapter.Admin.dll
- ScheduledTaskAdapter.TaskComponents.dll
The setup will add the following registry key:
- HKEY_CLASSES_ROOT\CLSID\{7A4BDD2A-3063-4f57-A108-DEA05DEB417E}
Post-Installation
Register the Adapter with BizTalk
As it happens, with all adapters we installed on our BizTalk Servers before we can begin to use them, we need to register or configure them before we can begin using them. To accomplish that, we need to:
- Open BizTalk Administration Console.
- In the console left tree, expand BizTalk Server Administration > BizTalk Group > Platform Settings and then Adapters.
- Right-click on Adapters and add a new adapter by selecting the option New > Adapter.
- In the Adapter Properties window:
- Set the name of the adapter: Name = Schedule.
- In the adapter combo box, select the option: Schedule.
- Set the description of the adapter: BizTalk Scheduled Task Adapter. The schedule capabilities are similar to those available with the Windows Scheduled Task Service. (This property is optional, but I would suggest to always being filled).
- Note: This configuration requires restarting the host instance associated with the adapter. At this moment, click Ok to continue the configuration process.
- [Optional] By default, the Receive Handler configured for the BizTalk Scheduled Task Adapter will be the default Host configured in the environment, which is normally BizTalkServerApplication. We can change this behavior by:
- In the BizTalk Server Administration Console, expand BizTalk Server Administration, expand BizTalk Group, expand Platform Settings, and then expand Adapters.
- In the expanded adapter list, right-click the Schedule adapter, then select New > Receive Handler.
- In the Schedule – Adapter Handle Properties dialog box, on the General tab, in the Host Name list, select the host with which the adapter handler will be associated. And then click OK.
- Again, at this point, a pop-up will appear notifying you that this configuration requires restarting the host instances associated with the adapter. At this moment, click OK to finish the configuration process.
- To finish this configuration process, in the BizTalk Server Administration console tree, expand BizTalk Server Administration, expand the BizTalk group, click Platform Settings, and then click Host Instances.
- In the details pane, select the host instance(s) you want to restart, right-click, and then click Restart.
Using the adapter Context Properties (Optional)
To use the Scheduled Task adapter’s context properties in a filter or orchestration, the Biztalk.Adapter.ScheduledTaskProperties.dll must be deployed to the BizTalkMgmtDb.
This can be achieved using the BizTalk Deployment Wizard or an equivalent tool.
Note: This step is optional; you only need to do this if you want to use Scheduled Task adapter’s context properties within a filter or orchestration.
As previously mentioned, you can deploy Biztalk.Adapter.ScheduledTaskProperties.dll in various ways; I suggest that you do the following steps:
- Open BizTalk Administration Console.
- In the console left tree, expand BizTalk Server Administration > BizTalk Group and then Applications.
- Right-click on “Applications” and add a new application by selecting the option New > Application.
- In the Adapter Properties window:
- Set the name of the application: BizTalk.Global.
- Set the description of the application: Application that contains common resources to several applications (this property is optional, but I would suggest to always being filled).
- Expand the previously created application and select the Resources option.
- Right-click and add a new BizTalk resource by selecting the option New > BizTalk Assemblies…
- In the Add Resources window, select the Add… button and from the installation directory select the DLL Biztalk.Adapter.ScheduledTaskProperties.dll (You can find this DLL in the adapter installation folder, by default, C:\Program Files (x86)\BizTalk ScheduledTask Adapter 6.0).
- And select the options:
- Overwrite all.
- Add to the global assembly cache on add resource (gacutil).
- And Add to the global assembly cache on MSI file install (gacutil).
- And select the options:
- Select the OK button.
Hope you find this helpful! If you liked the content or found it useful and would like to support me in writing more, consider buying (or helping to buy) a Star Wars Lego set for my son.













Hello, new adapter 6.0 is not working, schedule is not triggering at all. tried with 32 and 64 bits and all types of schedules like timespan/daily/weekly.
Hi Sandro, any update on this?
It’s not working for me either. BizTalk 2016 on Windows 10. I’ve used previous versions of this adapter without any major issues but this version doesn’t trigger or raise any errors.
It would be nice if each post included a link to the download. If it’s in this article somewhere, I couldn’t spot it.
Additional setup step: http://microsoftintegration.guru/2014/07/23/bts-scheduled-task-adapter-load-file-assembly-microsoft-biztalk-scheduler/
I have download your archive files.
but, I can’t find ScheduledTaskAdapter.msi file.
We have to rename it as per this artcile:
https://social.msdn.microsoft.com/Forums/en-US/66c72382-b7ba-40e8-b258-410ec53e4512/biztalk-schedule-adapter-download?forum=biztalkgeneral
Hi Sandro
We use this adapter and what i am noticing is when we do Host restarts the Host that is assigned to the Scheduler sometimes to hang with a ‘Pending Restart’. This is causing issues when we deploy – do you know what might be causing this and if there is a fix / workaround?
Thanks
Simon Poulter
Sandro,
Do a way to parameter the scheduler (execution time) by script exist?
Thanks in advance,