A service-level agreement (SLA) is a commitment between you and your customer, often requiring users to complete specific tasks before a due date. Salesforce already offers the Entitlement Process with Milestones for managing SLAs. However, there are many scenarios where you might want to apply similar logic to other objects and processes. In such cases, displaying a countdown timer on the screen can help users stay on track and meet their deadlines effectively.
In this post, you can find a screen component that displays a countdown timer based on any date/time value.
How to Use the Component
1- Install the package using the installation links below.
2- Create a screen flow and add the "Countdown Timer" screen component to a flow screen.

3- This component has 2 configuration parameters.
- Show Progress Bar: Set this to true to display a progress bar below the countdown.
- Target Date/Time: Enter a date/time value for the countdown.
DAYS/HOURS/MINUTES/SECONDS are custom labels that you can modify. It is also possible to translate them into other languages.
Example
Let's say that we have a due date/time field on the Task object. Here is a screen flow that displays a countdown timer on the Task record page.

That's it, nothing else is needed.

You can then add your screen flow to a Lightning record page, and it will count down to the due date/time.

Installation Links
Use this link to install in production or developer edition environments.
Use this link to install in sandbox environments.
Click here to see the component in action.
Wow, that's really cool, I'll introduce this component to customers whenever possible!!
Is it completely free?
Thanks! Yes, it is completely free.
Is it possible to track the overdue time? You had 20 hours, but the task is still open since 23 hours.
Hi. I have been using this component for a while now and it is great.
Recently, seemingly out of nowhere, when the flow is run, sometimes - not every time - this error keeps occurring: "Error The "2026-07-24T15:57:16.156Z" value is a Text data type that's assigned to a field with an incompatible Date/Time data type. Assign the value to a field with a compatible data type."
I have the component on multiple screens.
When the error occurs, it always occurs on the third screen...so not even the first instance of the component in the flow.
I have a DateTime Variable that is used for the "Target Date/Time" in the component. This is being set by a formula field set as DateTime with formula: NOW()+30/(24*60) ~"thirty minutes from now"
I tried adding DATETIMEVALUE() around this expression, but still getting the same result.
Open questions:
1 - with all of the components configured this way, I am not sure what could be considered "text" as opposed to DateTime?
2 - why is this occurring sporatically rather than every time.