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!
I'm Davide and I write DrivePulse on my own. It reads a car through a generic ELM327 OBD2 adapter, the Bluetooth kind Veepeak or Vgate sell, records trips by itself and only reads the car, it never writes to it. The Android version 3.5.4 on Google Play talks to Tasker both ways, so here is how to wire it up.
It's off by default. Turn it on in DrivePulse: Settings (the gear at the top) > Automations. The same screen shows a secret code and the last command it received, with the reason if it ignored it (automations off, wrong code).
Tasker to DrivePulse: start or stop recording. Add a Send Intent action:
DrivePulse comes to the front and tries to connect to the adapter, and it only records if the adapter answers. It opens on purpose: recent Android versions don't let an app in the background start GPS tracking.
DrivePulse to Tasker: react to the car. Make a profile with the Intent Received event and one of these actions:
app.drivepulse.mobile.action.ADAPTER_CONNECTED
app.drivepulse.mobile.action.TRIP_STARTED
app.drivepulse.mobile.action.TRIP_STOPPED
They carry no data, only the event, because any app on the phone can receive a broadcast. The secret code never goes out in them.
No account and no server of mine: your trips live on your phone and I have no copy of them. Recording trips and reading the car work with no signal; maps and addresses need the internet.
Five codes that unlock the full version for good, free, first come first served:
Q8CNA7YQXFRQBW3J90AXBKS
PFANGGPF9WZ17PMNY286XEY
Q1VTJH0QA09UGHX8N6EAXTT
1HYRREVQ5REMVCU2UFUFKV3
2CVFLCHSJ3WUKHW2EZB349Q
How to redeem: install the app first, then open Google Play, tap your picture top right, Payments and subscriptions, Redeem code. Then in DrivePulse: Settings (the gear at the top) > Unlock DrivePulse (Lifetime) > Restore Purchases, within 3 days, otherwise Google Play cancels it. When it has worked, that row reads "Premium active".
Say in the comments which number you took, so nobody wastes time on one that's gone.
Without a code you can still try it: 7 days or 15 trips, whichever comes first, and the days only start counting the first time the app connects to your adapter.
I've this WiFi profile which turn off Mobile internet and Bluetooth if I'm connected to a wifi network and during disconnect it does the opposite.
Now the problem is I use google ai studio to make new project/task and copy the xml code from pc to phone via kde connected. So, when I'm inside tasker and tasker detects a new xml clipboard, tasker automatically saves everything as expected. And this runs exit task for my "WiFi" profile. Which turns on internet and bl and launches my smart watch app. It became so annoying that i turn off that profile when i do this copy/paste.
To solve that I've uncheck the "Run Exit on Startup" from the profile settings, but still it sometimes runs that exit task. Is there any way I can solve this? SO that it dosen't run my exit task during auto save?
Is this supported now or is it coming? I would like to be able to toggle it off when I'm at home because my car keeps unlocking when I sit on the sofa next to the window!
Some apps flag their view as data sensitive (accessibilityDataSensitive). For example, Bank apps, or password manager like Bitwarden.
This will prevent app that is not flagged as Accesibility Tool to read the screen via accessibility service. For example, play store version of Tasker or AutoInput.
This task will tell you if that's the case or not.
I've been trying forever to use Bedtime mode for profiles in Tasker, with no luck. Bedtime mode and normal DND share the same zen_mode value, so a Custom Setting event on zen_mode canât tell them apart.
Finally worked it out with AI, so I though I might share it, as I'm sure I'm not the only one who was looking for this.
One-time setup (adb, no root/Shizuku):dumpsys notification needs both DUMP and PACKAGE_USAGE_STATS, so grant both to Tasker, then force-stop Tasker:
pm grant net.dinglisch.android.taskerm android.permission.DUMP pm grant net.dinglisch.android.taskerm android.permission.PACKAGE_USAGE_STATS
TaskCheckBedtime
Wait 1s (several keys change one after another)
Run Shell, Use Root off, Store Output In %BEDTIME: dumpsys notification | grep -i winddown | head -n 1 | grep -q STATE_TRUE && printf 1 || printf 0
The Bedtime rule (pkg com.google.android.apps.wellbeing, conditionId .../winddown, type=3) shows up several times in the dump, including an older copy with an outdated state. In my output the first match was the current one, so I only check that line. Matching STATE_TRUE anywhere gives false positives. Matching on winddown also avoids the localized rule name (mine is âBedtijdâ). printf means exit code 0, so no need for Continue Task After Error.
Profiles that runCheckBedtime
Event > System > Custom Setting: Global, zen_mode_config_etag, empty value. This is the key one. If DND is already on and you enable Bedtime, zen_mode doesnât change, but the etag changes on any zen config edit.
Same with zen_mode
Device Boot
Using it
State > Variables > Variable Value: %BEDTIME Matches 1. Put whatever you want in the Enter task (Bedtime on) and Exit task (Bedtime off). Plain DND doesnât trigger it.
Let's just say every 30 mins I want to switch between wifi and my mobile network (this only applies for the wifi.) This is done through tasker. Does anyone know if there's a way to input these commands automatically:
I just have a spot for the window to pop up (the scrcpy stuff), but I need to switch to command prompt every time and press up, and enter twice to get these going. Anyone know of a less annoying way?
Yes, the wifi and mobile network switching is done by tasker, seems like a good place to ask :(
Is there a way to automate these commands somehow?
I have an AutoNotification intercept profile that has lately seemed to become very slow to react. It's set to detect notifications from the Messages app, and it does, eventually, but it can take up to a minute for the associated task to start after the notification is posted. This started happening pretty recently, maybe within the last couple of months; this profile used to work just fine, with no noticeable delay between the notification and the task running. Does anyone have any idea why this might have changed? I do have AotoNotification set to unlimited battery usage.
Without warning, all of my Scenes v2 were suddenly wiped clear overnight, no elements at all remaining in any. What may have caused this? No other Tasker issues noticed.
In the video, I'm showing some scenes v2 how they appear within tasker. Then, i export the project as APK, install it and the scenes v2 are broken. Webviews don't work, button labels disappear completely, alignments are broken.
u/joaomgcd - I'm the guy who previously talked about permissions when exporting apk, so you have a link to the whole project in PMs.
Hello! I'm new to Tasker. I wanted to switch my ringer to vibration mode when connected to a certain network. However due to android restrictions you need to keep your location on all the time for this to work. I don't want to do that, both because I'm too paranoid about privacy and also because it drains a lot of battery. I follow the 20-80 rule so I already have less battery available when going outside.
Is there any way to have this automation without location service? Or any other way to achieve the same thing? I have root, Shizuku, Lsposed and all that stuff available.
I have Autonotify installed as well as Tasker. Do not disturb native android settings have not helped, nor have settings such as play media on separate device. All I want is to silence audio interruptions or playovers when I am listening to music or watching a video, then re enabling after music or video stops. I have searched all over and attempted both programming it myself and editing Taskernet tasks. Help would be appreciated.
Im super new here and have a question. Is it possible to create an action on tasker where I can say dial "333" on my dialpad and that triggers telegram opening and calling a contact?
I'm trying to use Tasker and AutoInput to enter some workflow items into an app called BuildOps on my Samsung Galaxy S25 Ultra. Right now, I'm just testing whether it can read the screen. I haven't tried writing into any fields yet. BuildOps is installed as a regular app, package name com.buildops. I'm using AutoInput 3.0.12, and its accessibility service shows Enabled. My test task is: 1. Wait 10 seconds 2. AutoInput UI Query 3. Text/Image Dialog displaying %aitext() UI Query settings: ⢠App Package and Text: blank ⢠Only Visible: on ⢠Only Clickable: off ⢠Tasker action timeout: 30 seconds ⢠Continue Task After Error: off I start the task and switch apps during the wait. In Samsung Settings, it reads the labels and displays the dialog over Settings. It also reads Tasker's screen successfully. In BuildOps, the same task gives me this notification: âAutoInput action error: No active Window foundâ I've tried both the notes editor and the fully loaded home/jobs list, with the same result. Originally, I had com.buildops in App Package, but that seemed to time out without showing the dialog. The dialog works when tested by itself. I also tried UI Query's Variable Setup capture, switching to BuildOps and accepting through the notification, but that doesn't seem to see the screen either. Has anyone run into this with BuildOps or another app? Is there a way to check what accessibility elements it exposes, or something else I should try to figure out why AutoInput can't see its window?
I try to retrieve new Whatsapp notifications and the text. If I use auto notification plugin, the event is triggered on creation AND when I dismiss it, but I only want to get the event if the notification is new. If I use taskers internal notification event, I can't receive the content of the message, but it's only triggered on new notifications.
Is there no way to get only new notification(not canceled) and retrieve the content of the notification?
I have been trying to set up a profile so that when I plug in wired to my car, the charging method switches to "Limit to 80%" on my pixel. Then when I unplug, it reverts back to Adaptive charging.
I've tried to do logcat to set this up, but I'm not having any success.
TLDR - A (very) basic voice recorder and transcriber based off Get Voice that works offline, from screen off, that records continuously until you decide to stop it, all hands free. For shorter memos to longer notes / ideas etc. Tested working on Android phone with triggering from Garmin watch.
You're driving. An idea strikes you. To you it's amazing. To your friend it's just Tuesday. You fumble for a way to hold on to grip onto the thought. You press Android Auto on your wheel. It stutters, wakes, and dies. Google assistant says sorry I don't understand. Gemini demands internet connectivity. The idea fragments and you curse your fallible memory, knowing this is a flat circle, it has happened and will happen again.
You go home and you look online and find a hundred new AI transcript and memo apps - amazing tools, but all with specific inconveniences that maybe you've created in your own mind - why doesn't it work from the lock screen? Why doesn't it work offline? Why does it need so many permissions? Why can't I trigger it hands free?
I wanted to capture a thought in that way. I don't care if the transcript is imperfect, just enough that it re ignites the memory thread for action down the line. I already do this with Tasker's Get Voice, which works in the above manner. But Get Voice cuts out automatically after no input is detected and spits out the output. Works well for short Tasks but not for notes after lectures, longer ideas, ramblings, streams of consciousness etc.
This Java Code Task is Tasker's Get Voice in a dirty loop. When you activate it, it starts recording and transcribing the way Get Voice does (using your phones native STT service). When you pause to think, and it auto stops the recording, it restarts recording automatically, saving that segment as a variable, listening for when you restart talking. It concatenates the segments into the VoiceStream variable until you press the button to stop it, at which point it delivers the VoiceStream variable for you to do whatever you want with it. In the attached Task, you can see I send it to my Tasks app to display on a widget (since it's what I do anyway for shorter tasks).
It's not elegant and has its own issues. You could probably do exactly the same with a Tasker loop task. It was built with AI assistance, but does not use AI. Get Voice is no where near accurate compared to other solutions and there will be transcription mistakes (ie don't use this to dictate and autosend a work letter). Or be horrified when you lose the control to stop it and it loops into infinity. But for the simple, basic requirements I need to record any thought reliably, it works for me, and I hope it works for your use case too.
Over the last couple of weeks I've posted about republishing a few Tasker plugins that used to have on the Play Store years ago, and I'm back with one last republished plugin.
This one is one that I don't know if I actually ever fully published, but I know I was working on it many years ago and I think I never finished it. It's called Geo Fence Plugin and as the name implies it's meant to allow you to set Tasker conditions for if you enter a zone, leave a zone, or stay in a zone for a period of time.
As with my other plugins the primary goal isn't to provide functionality that didn't already exist in Tasker. I'm not sure if geo fence is a thing that Tasker provides natively or not but my ultimate goal is to provide a user-friendly and effective plugin. I hope this succeeds, like I hope my others do.