Power Apps  

How to Implement Timer Control in PowerApps

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

  1. Open your app in Power Apps Studio.

  2. Go to Insert → Input → Timer.

  3. The Timer control will appear on your screen.

🔹 2. Important Timer Properties

Select the Timer and configure these properties

PropertyWhat It DoesExample
DurationTime in milliseconds5000 (5 seconds)
StartStarts timer (true/false)true
AutoStartStarts automaticallytrue
RepeatRestarts after finishingtrue or false
OnTimerStartAction when timer startsNotify("Started")
OnTimerEndAction when timer endsNavigate(Screen2)
ResetResets timertrue

🔹 Example

1. Simple Countdown Timer

Scenario: Show a countdown from 10 seconds.

Steps:

  1. Add a Timer control.

  2. 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)

  3. 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:

  1. Add a Timer and a Rectangle for the progress bar.

  2. Timer settings:

    • Duration: 5000

    • Repeat: true

    • AutoStart: true

  3. 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:

  1. Timer settings:

    • Duration: 3000

    • AutoStart: true

    • Repeat: false

  2. On OnTimerEnd:

    Navigate(Screen2, ScreenTransition.Fade)

4. Start/Stop Timer with Button

Scenario: User-controlled timer.

Steps:

  1. Add Timer1 and two buttons: Start & Stop.

  2. Buttons formulas:

    • Start Button → OnSelect: Set(TimerRunning, true)

    • Stop Button → OnSelect: Set(TimerRunning, false)

  3. Timer properties:

    • Start: TimerRunning

    • Reset: !TimerRunning

5. Multiple Timers for Sequential Actions

Scenario: Show multiple messages with delays in sequence.

Steps:

  1. Add three timers: Timer1, Timer2, Timer3.

  2. Set each timer to AutoStart = false.

  3. On OnTimerEnd of Timer1:

    Timer2.Start()
  4. On OnTimerEnd of Timer2:

    Timer3.Start()
  5. 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.