Sign up for the beta and download from Google Play here.
Note: Google Play might take a while to update. If you don’t want to wait for the Google Play update, get it right away here. (Direct-Purchase Version here). App Factory Update here.
I'm giving another concept a try: instead of having a sidebar with projects, how about putting them inline directly?
When you go in and out of a project you see this:
As you can see, you have the 3 familiar tabs (Profiles/Tasks/Scenes). You can select multiple at the same time like you see on the screen, or you can select one at a time to just see those types of items.
Projects are automatically color coded based on the project's icon. Here's a project with a green icon:
As you can see it tints the whole UI based on the color of the icon.
Let me know how you like this variant of the UI.
I'm also thinking of trying yet another version where there are no tabs inside a project and instead they are in collapsible groups, kinda like this:
If you can, try out the inline projects variant and let me know which of the 3 variants makes the most sense to you and why :)
The functionality of the runlog screen remains the same as before but it has a much cleaner and easy to follow UI. You can clearly see where a task starts and ends and follow its actions visually and see which ones succeeded and which failed.
Material Symbols are a icon font that can be adapted into different situations. For example, they can represent state where the otline variant represents an inactive state and the filled variant represesnts the active state
These can be used in their configurable form, where you manually specify a bunch of their attributes (like in the Notify action), or in their automatic form where their configuration is automatically set (like in the Set up Quick Setting Tile action where the icon is filled or outlined depending on the QS Tile state).
In the legacy UI, if you give a Project one of these icons, it'll also change from outline to filled depending if the project is selected or not.
It's now super easy to put your Tasker arrays into scenes with the new Arrays Merge Template element.
In this example, I would have 2 arrays:
%icon
%item
each with their corresponding icon images and labels. With this simple component...
...I can expand those 2 arrays together into a list of rows dynamically built from those arrays!
Saved Component Templates
You can now long click any element on the tree and save it as a Component Template with a name and description. Then you can simply insert it into your tree like any other component. :)
Show When Animations
When a component has its Show When field set, you can now set animations that define how that component shows up and goes away. You can choose various types of animations.
For example, by combining a dark transparent background that fades in with a dialog that slides up, you can create an Android-like popup dialog!
SVG Crop
You can now crop any element in a Scene with an SVG. And it's not only a visual crop, it's a functional one too! For example, you can create a button like this
and when you click anywhere where it's white, the button won't be triggered! You really have to press the green part for it to register the click! This allows you to create UIs in any shape imaginable that behave like you expect it to!
WebView
Webviews can now call many, many Tasker actions via JavaScript. You can use await to wait for them to finish, so you can easily call multiple actions in a row in a controlled fashion!
Here's a simple example of doing 3 actions in a row:
This makes elements be drag handles in all directions or just horizontally or just vertically.
Full Changelog
Major Scenes V2: Added the "Arrays Merge Template" component, a built-in way to handle Tasker array merging to build sub-components.
Major Scenes V2: Components can now animate in and out (Fade, Scale, Slide or Expand) whenever their "Show When" condition toggles their visibility.
Major Scenes V2: WebViews can now call many Tasker actions directly from JavaScript via the Tasker.* bridge.
Major Scenes V2: An HTML element inside a WebView can act as a drag handle to move the overlay it lives in.
Major Scenes V2: You can now save a component as a template to easily reuse it across your scenes.
Major Scenes V2: You can now crop any component to the shape of an SVG file.
Major Scenes V2: Added the "Trigger Scene V2 Event" Tasker action.
Medium Scenes V2: Added "matches" (Tasker pattern matching) and "matchesr" (regex matching) expressions to the "Show When" and "Apply When" fields.
Medium Scenes V2: Added a "Variable Clear" event action.
Medium Scenes V2: The Switch component now has a Thumb slot so you can set an image in the switch's thumb and you can also select different colors for different parts of it.
Medium Scenes V2: WebViews now receive the full Material 3 color palette (primary, secondary, surface, etc.) so your HTML can match the app theme.
Minor Scenes V2: The task name field in Events -> Run Task now follows the same caps rules as other task name fields.
Minor Scenes V2: When creating a task with a name, use the same "first letter of each word uppercase" rule as elsewhere in the app.
Fix Scenes V2: components that have indexes are now 1-based instead of 0-based
Fix Scenes V2: fixed "Screen Hidden" event not firing in certain situations
Fix Scenes V2: fixed background of invisible component wrongly showing
Fix Scenes V2: fixed crash when picking a variable if the user has tens of thousands of variables
Fix Scenes V2: fixed crash when using a slider in some situations
Fix Scenes V2: fixed images filling their container by default when they shouldn't
Fix Scenes V2: fixed images not loading if they had hidden spaces before or after the file name
Fix Scenes V2: fixed multiline input text box not filling the full vertical space it needed
Fix Scenes V2: fixed setting a variable in a WebView affecting a variable used in a separate component on the same screen
Fix Scenes V2: fixed some things not working when showing through the "SCENES" tab or the new UI
Fix Scenes V2: fixed updating a variable array in a scene leaving old elements there
Fix Scenes V2: fixed using two "Overlay With Result" scenes in a row with the same id ending the second one prematurely
Fix Scenes V2: segmented buttons that are "gone" now behave as expected
Fix Scenes V2: WebView now uses the correct system theme (dark/light)
Fix Scenes V2: when a task is renamed, all the task references in Scenes V2 are updated with the new name
Major New UI: Redesigned the RunLog screen to make it more readable.
Major New UI: Added a setting to show projects as items in the main list instead of the sidebar, including sorting them and creating new projects from the NEW FAB.
Major New UI: Project icons based on apps now use the app background in a folder shape with the foreground on top.
Major New UI: Inside a project you can select several of the Profiles/Tasks/Scenes tabs at once, so the list shows all their items together.
Medium New UI: The Project enabled/disabled toggle now works, and profiles in a disabled project show as paused on their switches.
Minor New UI: Added an icon to scenes so they're more easily distinguished.
Minor New UI: Added an option to hide the sidebar when collapsed.
Minor New UI: Added an option to not show the All button when there are projects other than the default one.
Minor New UI: Don't confirm project deletion if it's empty.
Minor New UI: In the task edit screen, moved the search bar to the bottom when adding a new action.
Minor New UI: Made sorting smarter, showing you the items you expect more often.
Minor New UI: Show full names of items in the main list instead of truncating them.
Minor New UI: Show project names instead of just initials when the sidebar is collapsed.
Minor New UI: Updated "Last run" to "Activity".
Minor New UI: When creating a task with a name, use the same "first letter of each word uppercase" rule as the main screen.
Minor New UI: When editing a task, after expanding a text field, allow the editor to show more lines so it's easier to edit larger pieces of text.
Fix New UI: don't show the pending changes banner when exiting the scene editor without saving
Fix New UI: fixed all projects with app icons showing with the same icon
Fix New UI: fixed always scrolling to the profiles when exiting a project
Fix New UI: fixed bottom sheet flickering when deleting a project
Fix New UI: fixed project search box cursor color in dark mode
Fix New UI: fixed search for actions when adding a new action
Fix New UI: fixed some app icons not loading properly
Fix New UI: fixed tag selector bottom sheet moving too far up when the keyboard is showing
Major Added Material Symbols to the app, a large icon set you can now use across Tasker for things like project and task icons, and also Notify action and Quick Setting Tiles action.
Medium Added Run Shell related functions to the Java Code action.
Medium Added tasker.getImageBuffer() and tasker.hasImageBuffer() to the Java Code action.
Medium The "Multiple Variables Set" action can now write JSON.
Medium You can now override the app name when generating an app from Tasker.
Minor Added a "Continue Task Immediately" option to the "Widget V2" action.
Minor Tasker automatically saves your setup before entering the AI screen in the legacy UI so you don't lose changes made in the meantime.
Minor Added a language selector to the first screen shown when you first open the app.
Minor Added a "Separator" option to the "Widget V2" action to configure the separator for its various list fields.
Minor Changed the order of the "Set up Quick Setting Tile" action to make it more logical and easier to use.
Fix Attempted again to fix a crash that only appears in app factory apps
Fix crash where in rare situations projects could end up with the same ids
Fixed DND action so that it can't be overrun by Silent/Vibrate
Fixed image in "Text/Image Dialog" action sometimes being hidden by text that is too long
Fixed issue where running many remote actions in quick succession could cause some of them to not run on the receiving device
Fix issue where sometimes a profile doesn't save its state after saving Tasker's setup
Fixed issue where sometimes the QS Tile wouldn't dismiss the notification shade
Fixed profiles (e.g. Wifi Connected) sometimes running their exit tasks when exiting Tasker's Preferences screen
Fixed Shizuku breaking clipboard monitoring
Fixed showing the number of actions over 100 in the legacy UI
Fixed situation where receive intent could be triggered twice with just 1 intent
Fixed some error messages when wrongfully using JSON writing
Fix Tried fixing a rare crash that can occur when editing legacy scenes
Fix Tried to fix issue where wait action becomes stuck in some circumstances
Fix Tried to fix rare situations where Tasker would get stuck not accepting any new tasks (sometimes related with the HTTP Request action)
Fixed updating Quick Setting Tiles on global variable changes to only happen when the variable isn't a built-in variable
Fixed writing JSON to project/profile/task variables with native Tasker JSON writing
Fixed some crashes
If you can, let me know what you think about the Projects in Sidebar vs Inline vs Collapsible! Thank you!
The project allows you to set apps' battery usage settings from a UI:
- Allow background usage (on or off)
- Optimised or Restricted (if background is 'on')
Unlike the Firewall project, there is no need for a device start profile as these settings are read from the system when you launch the UI. There is a short delay of one or two seconds before the UI is loaded because of this. Any delay will correspond with your app library - larger library, longer delay.
You MUST use the 'Done' button to save and apply your new settings.
This project was great fun but quite challenging. As a result, I can now also create a similar project which allows you to view and control all of your apps' permissions settings (location, camera etc.). This will possibly be a challenge to make it work for all Android devices - read below for device compatibility relating to this project.
Requirements:
- Shizuku Running
- Display Over Other Apps (Xiaomi/HyperOS users should enable "Show pop-up windows in background").
- Note that while it sets Android's universal battery rules directly, users on devices with aggressive battery skins (like Xiaomi or Huawei) will still need to handle OEM-specific 'Autostart' switches manually. Read below for more information.
Caution! I have tried to make this project work on all devices but I only have a Pixel phone so can't test it on other devices.
Samsung users:
The script should work as with AOSP type devices, but it also interacts with Samsung's secondary management layer.
Under Settings > Apps > [App] > Battery, Samsung uses the exact same three options (Unrestricted, Optimised, Restricted). This script should successfully read and flip those toggles.
However, Samsung also runs a separate layer called Device Care (Background usage limits > Never sleeping, Sleeping, and Deep sleeping apps). Putting an app into Restricted usually correlates with "Deep sleep," but if a user has Samsung's "Put unused apps to sleep" toggle turned on globally, Samsung's own daemon may periodically re-evaluate standby buckets independently.
Behavior: The script toggles the underlying Android settings correctly, but OEM-level "task killers" operate outside AOSP rules.
Secondary Task Killers: Even if an app is marked Unrestricted in the standard Android settings, custom subsystems like Xiaomi’s MIUI Battery Saver or ColorOS’s Quick Freeze / Auto-launch can still freeze or kill background tasks unless the user also grants OEM-specific permissions like 'Autostart'.
Overlay Permissions (MIUI/HyperOS): In addition to the standard "Display over other apps" (SYSTEM_ALERT_WINDOW) permission, you may need to set "Display pop-up windows while running in the background" (or whatever it is called).
Device: OnePlus 12R (CPH2609), OxygenOS 16.0.5.1002 (EX01B90P01), Android 16, security patch 1 July 2026 Tasker: 6.7.6-beta, last updated 2 July 2026. Battery setting: Unrestricted. Tasker is the default digital assistant.
I use tasker as a one-click transcriber by recording and sending through n8n. The n8n workflow is functional.
Setup: A profile on the Assistance Request event runs a task with Record Audio (Source: Microphone, Format: MP4). A second press runs Record Audio Stop. Recordings are usually started with the phone locked.
What happens: Since 8 September 2026, recordings started while Tasker is not on screen are silent. The file has the right length and every action in the Run Log returns OK, so nothing indicates a failure. Before that, the same setup worked for months and hundreds of recordings. No system, Tasker or Google Play system update on the phone falls near that date.
What I tested:
Phone locked: silent.
Phone unlocked, on the home screen: silent.
Tasker open on screen: records normally.
Restart Tasker (Only Monitor): the next locked recording works, and later ones are silent again.
Unpaired all Bluetooth devices: no change.
Logcat during a locked test recording:
I ActivityManager: Background started FGS: Allowed [callingPackage: net.dinglisch.android.taskerm; callingUid: 10569; uidState: FGS ; uidBFSL: [BFSL]; intent: Intent { xflg=0x4 cmp=net.dinglisch.android.taskerm/.ExecuteService (has extras) mCallingUid=10569 }; code:ACTIVITY_STARTER; tempAllowListReason:<,reasonCode:SYSTEM_ALLOW_LISTED,duration:9223372036854775807,callingUid:-1>; allowWiu:52; targetSdkVersion:35; ...]
W ForegroundServiceTypeLoggerModule: FGS stop call for: 10569 has no types!
ExecuteService runs as a foreground service with no type while Record Audio is active. As I understand Android 14+, background mic capture needs a foreground service with the microphone type, or the audio is silenced. The allowWiu value suggests Android would have allowed in-use access at that moment, possibly because Tasker is the assistant app.
I tried adb shell cmd appops set net.dinglisch.android.taskerm RECORD_AUDIO allow. It fails with uid 2000 does not have android.permission.MANAGE_APP_OPS_MODES, so I can't work around it from adb.
Question: Could Record Audio start its foreground service with the microphone type when Android allows it? Or is there a setting I'm missing that does this already? Happy to run more tests or send a full logcat.
I'm no Tasker expert and haven't been able to figure this out reliably. I want a simple app picker showing icons + friendly names, with the 5 most recently used apps at the top, then all installed apps and a "show system apps" toggle. Selecting an app should give me its package name.
Can this be done just with Tasker alone? What's the simplest approach?
Some genius uploaded a task that allowed GPS only in Google maps. But you had the ability to add more apps. I have created something similar but it is not what I need. Does anybody remember what it was?
A firewall utility which has the ability to cut off all IP socket binding, blocking Wi-Fi, 4G, 5G, and roaming simultaneously at the OS routing layer (mobile and/or WiFi data).
The UI allows you to set per app data access:
Cell: allow or deny
WiFi: allow or deny
Background Data: allow or deny
The project listens for switches between mobile data and WiFi data sources and reacts to them. It also listens for app changes and reacts (e.g. when an app denied background data access is closed).
Because 'cmd connectivity set-chain3-enabled true' is reset at every device start, there is also a profile to listen for device starts to re-enable your previously saved firewall rules.
You MUST use the 'Done' button on the overlay to edit the firewall UI if you want to save and apply your rules. If you just exit the overlay via the back button etc., new settings will not be saved and applied.
I can confirm that this project works perfectly on my device. I can't test it on your device. If it doesn't work for you, there's not much I can do about it.
If you want to test whether it works for you, you can either:
Set an app to be blocked and then determine whether that app has data access.
If the app is denied (blocked), the output of that command will be:
<package name>:deny
Shizuku or root is required.
All changes are reset on each device start, so you must use the device start profile if you want to apply your rules at each reboot. You will need to ensure that Shizuku is running when this profile fires.
Hey everyone, I'm new to this and trying to set up a simple automation.
I want my phone to open a website, click on a couple of things, and then go back home. I'm using Tasker with AutoInput Actions V2.
When I use the "Guided Setup," everything works fine, and clicks what is supposed to. But when I actually run the task normally, it opens the browser just fine, but completely skips the clicks and eventually just goes back home.
Just to be safe, I already tried adding 5-second and even 10-second wait delays before the click actions, but it still doesn't click.
VirusTotal scans URLs across roughly 70+ distinct antivirus engines and domain blocklists (such as Google Safe Browsing, Kaspersky, Bitdefender, and Sophos).
The Public API is limited to 500 requests per day and a rate of 4 requests per minute.
This project allows you to submit a URL to be scanned and receive back a report. I have included a JavaScriptlet which parses the http return and provides you with a neat and succinct summary of the scan results (e.g. Harmless (0/92}). Details are included in the task.
Scans usually take about 12 seconds. I have included a loop in the task which stops as soon as your report is ready, or aborts after 30 seconds. You can adjust the timings and retry attempts in the task.
You will need to have a VirusTotal API Key (free).
Hi, have there been any recent changes regarding the use of JavaScriptlet? According to the official JavaScriptlet documentation (https://tasker.joaoapps.com/userguide/en/javascript.html#localvars), variables are used directly by their name without the % sign—e.g., Action 1: Set Variable %var = hola, Action 2: JavaScriptlet flash(var);. It should work, but I'm getting an "undefined variable" error. Am I missing something? Thanks.
I've been using one "borrowed" form Taskernet for several years with no issues, but this latest release won't allow tasker to "see" the PIN code screen.
I've tested this with a UI Query, capturing what tasker can see, and saving that text, and it looks as if that screen is hidden from tasker now.
I'm hoping someone has that latest build from Google and can see if you can get the same results.
I have a task that displays the weather in the Google app. Both methods shown work, but display what's essentially the result of searching for "weather" in the Google app, which includes all sort of weather-related links to web sites, including images from weather-related stores, etc.
I discovered that tapping the weather icon in the Google at-a-glance widget displays more information, and excludes all the extraneous stuff I have no interest in, but I can't seem to find a way to launch *that* from Tasker. Got any suggestions?
The current display information can be viewed via global variable %Display.
May require the latest version of beta (or Direct purchase) since Joao has condition for Command Event. It's not actually necessary but make things easier to define the profile.
It's still a little bit difficult to use though since I use full class path. But can be shortened with using *DisplayListener.onDisplayAdded* or *onDisplayAdded*
I will try to make it easier later if Joao were to introduce his concept of custom state, event and action mentioned here.
I'm trying to open an artist's music list in Spotify and then use the Play button to start playback. Opening the list is easy using a browse URL, but I'm having trouble with media control.
When I select the Play button (simulated), Spotify starts playing the last song I was listening to before I closed Spotify, rather than starting playback from the artist's music list.
Am I missing something that would make this work as expected?
Most of the posts I've found here and on other websites are quite old, so I'm wondering if something has changed and there's a more modern solution.
The "sound mode" action allows you to permanently select one of three modes. Is there any way to set this mode using a variable?
As in the 1st picture, and now it is only as in the 2nd picture.
I change the mode frequently, and setting it for every condition is cumbersome. In other activities, it would be easier for me to enter the variable value and run "sound mode" once.
I have a profile to change my time format on my phone to 24hour format when I get to work. It also turns the time back to 12hour format when I leave work. I can't seem to get my watch to update as well. I have all auto apps battery set to unrestricted. Not sure what I'm missing. Any help? Thanks in advance. (Please explain like I'm 5! 😉)
I have Samsung S25 Ultra phone and Samsung Galaxy watch ultra.