Introduction
The Timer control in Power Apps is a powerful tool that lets your app perform actions automatically after a specified period. Instead of relying solely on user interaction (such as button clicks), a Timer enables background processes, including automatic navigation, data refreshing, countdowns, session timeouts, animations, and periodic updates.
Using the Timer control in Microsoft Power Apps (now Microsoft Power Apps) lets you trigger actions automatically after a set duration. It's commonly used for splash screens, auto-refresh, countdowns, progress indicators, or auto-navigation.
Below is a clear, step-by-step guide 👇
🔹 1. Add a Timer Control
Open your app in Power Apps Studio.
Go to Insert → Input → Timer.
The Timer control will appear on your screen.
🔹 2. Important Timer Properties
Select the Timer and configure these properties
| Property | What It Does | Example |
|---|
| Duration | Time in milliseconds | 5000 (5 seconds) |
| Start | Starts timer (true/false) | true |
| AutoStart | Starts automatically | true |
| Repeat | Restarts after finishing | true or false |
| OnTimerStart | Action when timer starts | Notify("Started") |
| OnTimerEnd | Action when timer ends | Navigate(Screen2) |
| Reset | Resets timer | true |
🔹 Example
1. Simple Countdown Timer
Scenario: Show a countdown from 10 seconds.
Steps:
Add a Timer control.
Set properties:
Duration: 10000 (milliseconds → 10 seconds)
Repeat: false (stop at 0)
AutoStart: true (starts automatically)
Text: Text( RoundUp( Timer1.Duration - Timer1.Value, 0 ) / 1000, "[$-en-US]0" ) & "s"
(displays remaining seconds)
Optional: On OnTimerEnd, you can show a notification:
Notify("Time's up!", NotificationType.Success)
2. Looping Progress Bar
Scenario: Show a visual progress bar that loops every 5 seconds.
Steps:
Add a Timer and a Rectangle for the progress bar.
Timer settings:
Duration: 5000
Repeat: true
AutoStart: true
Rectangle Width formula:
Timer1.Value / Timer1.Duration * Parent.Width
→ This creates a dynamic progress bar that fills and repeats.
3. Trigger Action After Delay
Scenario: Automatically navigate to another screen after 3 seconds.
Steps:
Timer settings:
Duration: 3000
AutoStart: true
Repeat: false
On OnTimerEnd:
Navigate(Screen2, ScreenTransition.Fade)
4. Start/Stop Timer with Button
Scenario: User-controlled timer.
Steps:
Add Timer1 and two buttons: Start & Stop.
Buttons formulas:
Start Button → OnSelect: Set(TimerRunning, true)
Stop Button → OnSelect: Set(TimerRunning, false)
Timer properties:
Start: TimerRunning
Reset: !TimerRunning
5. Multiple Timers for Sequential Actions
Scenario: Show multiple messages with delays in sequence.
Steps:
Add three timers: Timer1, Timer2, Timer3.
Set each timer to AutoStart = false.
On OnTimerEnd of Timer1:
Timer2.Start()
On OnTimerEnd of Timer2:
Timer3.Start()
On OnTimerEnd of Timer3:
Notify("All timers finished!", NotificationType.Success)
🔹 Common Use Cases
✔ Splash screen
✔ Session timeout
✔ Auto-save
✔ Polling data
✔ Animation control
✔ Delayed notifications
🔹 Pro Tips
Duration is always in milliseconds
Use Repeat = false unless continuous looping is needed
Avoid very short repeat timers (can affect performance)
Use variables to control start/stop cleanly
Conclusion
Implementing a Timer Control in PowerApps (Microsoft Power Apps) is an effective way to automate time-based actions within your app. The Timer component enables scenarios such as auto-navigation, countdowns, session timeouts, periodic data refresh, and delayed execution of logic without requiring user interaction.