TinyTask Schedule Tasks: Run Macros Automatically at Set Times

TinyTask does not have a built-in scheduler. There is no menu option to say “run this macro at 9 AM every morning.” But you can get the exact same result by combining TinyTask’s compile-to-EXE feature with Windows Task Scheduler. The compiled macro runs as a standalone program, and Task Scheduler launches it on whatever timetable you set.

This guide walks through the full setup: compiling your macro, creating a scheduled task, handling common problems, and building more advanced scheduling setups for real-world automation.

Why Schedule TinyTask Macros?

Scheduling turns TinyTask from a manual tool into hands-free automation. Instead of opening TinyTask and pressing Play every time, the macro runs itself at the times you choose. Some practical reasons to schedule macros:

Morning Prep

Open apps, log into systems, and arrange windows before you sit down at your desk.

Data Collection

Pull reports from a web portal every day at the same time without manual clicks.

Cleanup Routines

Clear temp files, empty downloads folder, or organize screenshots on a daily schedule.

Repetitive Admin

Submit timesheets, check dashboards, or run status updates at the end of each workday.

Prerequisites

Before you can schedule a TinyTask macro, you need three things:

  • A working TinyTask recording — test it manually first. Play it at least three times to confirm it runs correctly every time.
  • TinyTask v1.77 — the compile-to-EXE feature is available in this version. Download the latest version here.
  • Windows Task Scheduler — included in every version of Windows from XP to 11. No installation needed.
Screen must be active: TinyTask macros replay mouse clicks at specific screen coordinates. The screen must be unlocked and at the correct resolution when the scheduled task runs. If Windows is on the lock screen, the macro will click on lock screen elements instead of your intended targets.

Step 1: Compile Your Macro to EXE

Windows Task Scheduler launches programs. TinyTask’s .rec files are not programs. You need to compile the recording into a standalone .exe file that Task Scheduler can execute directly.

1

Open Your Recording

Launch TinyTask and click the Open button (folder icon). Select your .rec file. If you just recorded the macro, it is already loaded.

2

Click Compile

Click the Compile button on the toolbar (the package/export icon). A “Save As” dialog appears.

3

Save the EXE

Choose a permanent location for the EXE file. Avoid the Desktop or Downloads folder, which you might accidentally clean up. A dedicated folder like C:\Macros\ works well. Name the file something descriptive: morning-setup.exe, daily-report.exe.

4

Test the EXE

Double-click the compiled EXE to verify it runs correctly. It should perform the exact same actions as the original recording. The EXE is self-contained (typically 50-70 KB) and does not require TinyTask to be installed.

Step 2: Set Up Windows Task Scheduler

Windows Task Scheduler is a built-in tool that runs programs on a schedule. Here is how to create a task for your compiled TinyTask macro.

1

Open Task Scheduler

Press Win and type Task Scheduler. Click the result to open it. Alternatively, press Win+R, type taskschd.msc, and press Enter.

2

Create a Basic Task

In the right panel, click “Create Basic Task…”. This opens a step-by-step wizard. Enter a name (e.g., “Morning Setup Macro”) and an optional description. Click Next.

3

Set the Trigger

Choose when the task should run: Daily, Weekly, Monthly, One time, When the computer starts, When I log on, or When a specific event is logged. For most macros, “Daily” at a specific time works best. Set the start time and recurrence pattern. Click Next.

4

Set the Action

Select “Start a program”. Click Next. Click Browse and navigate to your compiled EXE file (e.g., C:\Macros\morning-setup.exe). Click Next.

5

Review and Finish

Check the “Open the Properties dialog” checkbox before clicking Finish. This lets you configure additional settings right away.

6

Configure Properties

In the Properties dialog:

General tab: Check “Run with highest privileges” if the macro targets apps that need admin access.
Conditions tab: Uncheck “Start the task only if the computer is on AC power” if you use a laptop.
Settings tab: Check “Allow task to be run on demand” so you can test it manually.

Trigger Types and Scheduling Options

Task Scheduler supports multiple trigger types. Here is when each one makes sense for TinyTask macros.

TriggerWhen It FiresBest For
DailySame time every day (or every N days)Morning setup routines, daily reports, end-of-day cleanup
WeeklySpecific days of the week at a set timeWeekly timesheets, Monday status checks, Friday backups
MonthlySpecific day of month or last day of monthMonthly reports, invoice generation, license renewals
At log onWhen you sign into WindowsOpening apps and arranging windows after login
At startupWhen Windows boots (before login)Not useful for TinyTask. Screen is locked, macro cannot interact with UI.
On idleWhen PC has been idle for a set durationCleanup tasks during lunch breaks or after hours
On eventWhen a specific Windows event is loggedAdvanced use. Trigger macro when a USB drive connects or a specific error occurs.

You can add multiple triggers to a single task. For example, run the same macro at 9:00 AM and 2:00 PM by adding two daily triggers with different start times.

Advanced Task Scheduler Settings

Repeat a Task Within a Day

If you need the macro to run every hour or every 30 minutes, use the trigger’s repeat option:

  1. Open the task’s Properties and go to the Triggers tab
  2. Select the trigger and click Edit
  3. Check “Repeat task every” and set the interval (e.g., 1 hour)
  4. Set “for a duration of” to how long it should keep repeating (e.g., 8 hours for a full workday)

This creates a schedule like “run every hour from 9 AM to 5 PM daily.”

Add a Startup Delay

If your macro needs apps to be fully loaded before it runs, add a delay:

  1. In the trigger’s Edit dialog, check “Delay task for”
  2. Set a delay like 30 seconds or 1 minute

This gives programs time to finish loading after login before TinyTask clicks on them.

Stop If Running Too Long

In the Settings tab, check “Stop the task if it runs longer than” and set a duration like 5 minutes. This prevents a stuck macro from running indefinitely if something goes wrong.

Using Batch Scripts for Complex Schedules

For more control than Task Scheduler alone provides, wrap your TinyTask EXE in a batch script. This lets you add delays, chain multiple macros, check conditions, and log results.

Basic Batch Wrapper

Create a file called run-macro.bat:

@echo off
echo Starting macro at %date% %time% >> C:\Macros\log.txt
timeout /t 5 /nobreak > nul
start /wait C:\Macros\morning-setup.exe
echo Finished at %date% %time% >> C:\Macros\log.txt

This waits 5 seconds (for apps to load), runs the macro, and logs the start and finish times.

Chain Multiple Macros

@echo off
echo Running macro chain at %date% %time% >> C:\Macros\log.txt

REM Open apps first
start /wait C:\Macros\open-apps.exe
timeout /t 10 /nobreak > nul

REM Then fill in the daily form
start /wait C:\Macros\daily-form.exe
timeout /t 3 /nobreak > nul

REM Finally submit
start /wait C:\Macros\submit-form.exe

echo Chain complete at %date% %time% >> C:\Macros\log.txt

The timeout commands add pauses between macros so each app has time to respond before the next macro starts clicking.

Conditional Execution

@echo off
REM Only run on weekdays
for /f "tokens=1" %%d in ('wmic path win32_localtime get dayofweek /value ^| find "="') do set %%d
if %dayofweek% GEQ 6 goto :eof

REM Only run if target app is already open
tasklist /fi "imagename eq outlook.exe" | find /i "outlook.exe" > nul
if errorlevel 1 (
    echo Outlook not running, skipping macro >> C:\Macros\log.txt
    goto :eof
)

start /wait C:\Macros\send-report.exe

This checks the day of the week and whether Outlook is running before executing the macro. Point Task Scheduler at the .bat file instead of the EXE directly.

Real-World Scheduling Examples

Morning Workspace Setup

Trigger: At log on, delay 30 seconds
Macro: Opens Outlook, Chrome (company dashboard), Slack, and arranges windows to preset positions
Result: Everything is ready by the time you grab coffee

Daily Sales Report

Trigger: Daily at 8:30 AM
Macro: Opens CRM, navigates to Reports, selects yesterday’s date, clicks Export, saves CSV to shared drive
Result: Report is waiting in the shared folder when the team arrives

Hourly Screenshot Monitor

Trigger: Daily, repeat every 1 hour for 10 hours
Macro: Takes a screenshot of a dashboard using Win+Shift+S and pastes into a document
Result: Visual log of system status throughout the workday

Weekly Timesheet Submission

Trigger: Every Friday at 4:45 PM
Macro: Opens timesheet portal, fills in standard hours, clicks Submit
Result: Timesheet submitted before the deadline every week

End-of-Day Cleanup

Trigger: Daily at 5:30 PM
Macro: Closes all browser tabs, empties Downloads folder (moves files to archive), clears temp folder
Result: Clean workspace ready for tomorrow

Monthly License Check

Trigger: First Monday of each month at 10 AM
Macro: Opens license management portal, screenshots the status page, saves to a dated folder
Result: Monthly compliance documentation without manual effort

Troubleshooting Scheduled Macros

ProblemCauseFix
Macro runs but clicks wrong spotsScreen resolution or DPI scaling changed since recordingRecord the macro at the same resolution and scaling (100%) that will be active when the schedule triggers. Check Display Settings.
Task runs but nothing visible happensTask is set to “Run whether user is logged on or not”Change to “Run only when user is logged on.” TinyTask needs an active desktop session to send mouse/keyboard events.
Macro clicks on lock screenPC went to sleep or locked before the trigger timeDisable sleep/screen lock during macro hours. Power Settings > set “Turn off screen” to Never, or use a keep-alive utility.
Task shows “Last Run: 0x1”The EXE file path has spaces and is not quotedIn the Action settings, make sure the path is in quotes: "C:\My Macros\daily.exe"
Macro starts too fast after loginApps have not finished loading yetAdd a startup delay (30-60 seconds) in the trigger settings. Or use a batch wrapper with timeout.
Task does not run on battery power“Start only if on AC power” is checked (default for laptops)Uncheck this option in the Conditions tab of the task properties.
Macro works manually but not when scheduledDifferent window positions or app states at scheduled timeRecord the macro starting from a consistent state (e.g., start by pressing Win+D to show desktop first). Use batch script to open required apps before the macro runs.
Multiple macros conflictTwo scheduled macros overlap in timeStagger schedules by at least 5 minutes. Or chain them in a batch script with delays between each.

Related Articles

Frequently Asked Questions

Does TinyTask have a built-in scheduler?

No. TinyTask does not include any scheduling feature. It can record, play, loop, and compile macros, but it has no option to run a macro at a specific time. To schedule macros, you need to compile the recording to an EXE file and then use Windows Task Scheduler to launch the EXE at your desired time.

This two-step approach actually gives you more scheduling flexibility than a built-in scheduler would. Windows Task Scheduler supports daily, weekly, monthly, at-login, on-idle, and event-based triggers, along with options for repeating intervals, delays, and conditions.

Can I schedule a .rec file directly without compiling?

Not directly. A .rec file is a data file, not an executable program. Task Scheduler needs a program to launch. However, you can work around this by scheduling TinyTask itself with the .rec file as a parameter. Create a batch script that opens TinyTask, loads the .rec file, and sends the Play hotkey using a tool like AutoHotkey.

This workaround is more fragile than compiling to EXE. The compiled approach is recommended because the EXE is self-contained, starts instantly, and does not depend on TinyTask being installed or configured correctly.

Will the scheduled macro work if my computer is locked?

No. TinyTask macros send mouse clicks and keyboard events to the active desktop. When Windows is locked, there is no active desktop to receive these events. The macro will either fail silently or click on lock screen elements, which is not what you want.

To prevent this, configure your power settings to never lock the screen during scheduled macro hours. Go to Settings > System > Power > Screen timeout and set it to Never. If security is a concern, set the screen to lock after the macro’s expected completion time. Alternatively, use a keep-alive tool that prevents Windows from locking.

How do I make a scheduled macro repeat every hour?

In Task Scheduler, edit the trigger for your task. Check the box “Repeat task every” and set the interval to 1 hour. Then set “for a duration of” to the total period you want it active (e.g., 8 hours for a workday, or “Indefinitely” to repeat all day). The macro will run once per hour at the same minute offset from the initial trigger time.

Make sure each run of the macro finishes before the next one starts. If your macro takes 2 minutes to complete, an hourly schedule has no issues. But if it takes 45 minutes, you need at least a 1-hour gap. Set “Stop the task if it runs longer than” in the Settings tab as a safety measure.

Can I chain multiple TinyTask macros in sequence?

Yes. Create a batch script (.bat file) that runs multiple compiled EXE files in order with start /wait commands and timeout delays between them. Point Task Scheduler at the batch file instead of an individual EXE.

The start /wait command tells Windows to wait until the current EXE finishes before moving to the next line. The timeout command adds a pause in seconds to let apps respond between macro steps. This is the most reliable way to run complex multi-step automation sequences on a schedule.

Why does my scheduled macro click in the wrong place?

TinyTask records absolute pixel coordinates. If anything about your screen setup changes between recording and playback, the clicks will land in the wrong position. Common causes include: display resolution changed, DPI scaling changed (100% vs 125% vs 150%), monitor arrangement changed in a multi-monitor setup, or the target application window is at a different position or size.

Fix this by recording the macro at the exact same resolution, scaling, and window arrangement that will be active when the schedule triggers. If your macro starts by pressing Win+D (show desktop) and then opens the target app fresh, it will be more consistent than assuming the app is already in the right position.

Can I run a scheduled macro on a virtual machine?

Yes. A virtual machine provides a consistent, isolated environment where resolution and window positions never change unexpectedly. This makes scheduled macros more reliable than running them on a physical machine where settings may drift over time.

Set up the VM at a fixed resolution (e.g., 1920×1080), disable screen lock and screensaver inside the VM, install the required apps, and record your macro there. Task Scheduler inside the VM can then run the compiled EXE on schedule. The VM does not need to be in fullscreen mode on the host, but it must have an active session.

How do I stop a scheduled macro that is misbehaving?

If a scheduled macro is running and clicking in the wrong places, press Ctrl+Alt+Delete to interrupt it. This opens the Windows security screen, which takes focus away from the macro. Then open Task Manager and end the macro’s EXE process. To prevent the macro from running again, open Task Scheduler, find the task, right-click it, and select Disable.

As a preventive measure, always set “Stop the task if it runs longer than” to a reasonable duration in the task’s Settings tab. For a macro that should take 1 minute, set the limit to 5 minutes. This automatically kills the process if something goes wrong.

Does Task Scheduler work the same on Windows 10 and 11?

Yes. Task Scheduler works identically on Windows 10 and Windows 11. The interface, features, and configuration options are the same. The steps in this guide apply to both versions. Task Scheduler has also been available since Windows XP, though older versions have fewer trigger options and less granular settings.

One minor difference: Windows 11 sometimes moves the Task Scheduler entry in the Start Menu search results. If you cannot find it by searching, press Win+R, type taskschd.msc, and press Enter. This direct command works on all Windows versions.

Is there a better alternative than Task Scheduler for scheduling macros?

For most users, Windows Task Scheduler combined with TinyTask compiled EXEs is the simplest and most reliable approach. It requires no additional software and integrates directly with Windows. However, if you need more advanced features, there are alternatives.

Power Automate Desktop (free from Microsoft) can trigger flows on schedules and includes built-in UI automation that does not rely on pixel coordinates. AutoHotkey scripts can be scheduled via Task Scheduler with more flexibility than TinyTask EXEs, including the ability to find windows by title rather than position. For enterprise-level scheduling, tools like UiPath or Automation Anywhere provide robust scheduling, error handling, and logging, but they are significantly more complex to set up.

Download TinyTask and Start Automating

Record your macro, compile it to an EXE, and schedule it with Windows Task Scheduler.

Download TinyTask