A small, focused collection of Tasker plugins — pixel colors, QR codes, VPN control, regex, Termux scripting, UDP messaging, and the other half of AMCustomKeyboard's Tasker Automation feature.
Grab the newest build from the AMTaskerPluginsReleases repo — no Play Store required. Install it, grant whichever permissions the plugins you use need (see Permissions), and every plugin below shows up as a Tasker Plugin → Action.
- Overview
- Included Plugins
- AM Collect Pixel Colors
- AM Create QR
- AM Decode QR
- AM Data Processor
- AM OpenVPN
- AM RegEx
- AM Termux
- AM UDP Client
- AM Custom Keyboard Return
- AM Open With
- Permissions & Why They Exist
- In-App Guides
AM Tasker Plugins is a single app that registers as several independent Tasker/Locale action plugins (using the standard com.twofortyfouram.locale.intent.action.EDIT_SETTING plugin API), so each one shows up individually inside Tasker's Add Action → Plugin picker. Every plugin ships with a full in-app guide — tap it from the About & Plugins dialog on the main screen — covering its fields, exact behavior, worked examples, output variables, and error handling.
The plugins fall into two groups:
- Standalone utilities — pixel color sampling, QR generation/decoding, JSON/array data editing, regex find/replace, OpenVPN control, Termux scripting, and raw UDP messaging. Useful in any Tasker profile, with no dependency on anything else.
- AM Custom Keyboard integration —
AM Custom Keyboard Returnis the second half of the Tasker Automation feature in AMCustomKeyboard: a task triggered from the keyboard finishes by calling this plugin to send its result back and have it inserted into the field the user was typing in.
| Plugin | What it does |
|---|---|
| 🎨 AM Collect Pixel Colors | Read exact, blended, or top-color lists from any image. |
| 🔳 AM Create QR | Turn text, links, or Tasker variables into a saved QR image. |
| 🔍 AM Decode QR | Read an existing QR image and return its decoded text. |
| 🧮 AM Data Processor | Read or write one exact value inside JSON or array data using a simple path. |
| 🔒 AM OpenVPN | Start, pause, resume, or stop an OpenVPN for Android profile from Tasker. |
| 🔎 AM RegEx | Find, extract, or replace text with full Java/PCRE-style regex — now with optional file-based input/output for large text. |
| 💻 AM Termux | Run a Bash / Python / Node / Ruby / PHP script inside Termux from Tasker. |
| 📡 AM UDP Client | Send a UDP packet to any address, with optional response listening. |
| ↩️ AM Custom Keyboard Return | Sends typed text (and a request id) back to AM Custom Keyboard as a broadcast. |
| 📤 AM Open With | Lets other apps "Open With" or "Share" a file straight into a Tasker automation. |
Samples one pixel, a rectangular region, or a batch of either from an image, returning exact, blended, or top-color-list values — useful for reading colors off screenshots, photos, or generated images inside an automation.
Encodes any text — a URL, Wi-Fi credentials, JSON, a payment payload, or a plain Tasker variable — into a QR code image and saves it, so a task can generate a scannable code on the fly.
Loads a QR code image from storage and decodes it back into plain text, so a task can react to whatever the code contains.
Parses Data as JSON (an object or array) or a plain Tasker-array-flattened value, then reads or writes exactly one value at a simple path — no need to hand-roll JSON parsing logic inside a Tasker task just to pull one field out of an API response or update one entry in a structure.
Controls the community OpenVPN for Android app (de.blinkt.openvpn) directly from a task — start, pause, resume, or stop a saved profile, so VPN state can be tied into a larger automation instead of toggled by hand.
Runs a full Java/PCRE-style regular expression — groups, named groups, alternation, character classes, lookahead/lookbehind, backreferences, and more — against any text, so a task can find, extract, or replace matches without hand-rolling string parsing.
Every run always reports whether the pattern matched at all and, if it has capture groups, every group's captured value from every match (keyed by both number and name). The chosen Operation then decides the one extra output: the full list of matches, just the first or last match, or the result of a replace — with Perl-style \U/\L/\E/\u/\l case conversion and $1/${name}/\1-style backreferences supported in replacements.
New in v1.0.2 — large text support: a File Path switch on the Input Text field lets Input Text point at a file on disk instead of holding the data itself, and an Output File field writes the result there as JSON instead of returning it via variables. Both exist to keep large data out of Android's ~1MB limit on what a plugin action can exchange with Tasker in one go, and both are entirely optional — leave them alone and the plugin behaves exactly as before. Turning File Path on, or using Output File, prompts for the "All files access" permission the moment it's actually needed.
Executes a script through Termux's RunCommandService, with support for Bash, Python, Node, Ruby, or PHP. This is the most setup-heavy plugin — it needs the com.termux.permission.RUN_COMMAND permission and Termux's own allow-external-apps setting turned on, or tasks silently fail to launch. The in-app guide includes the one-time setup command (with a tap-to-copy button) and covers the named-session model: each session you create gets its own ongoing notification so you always know which sessions are still holding variables, and swiping a session's notification away is the intended way to end it and clean up its saved data.
Sends a UDP datagram — plain text, hex bytes, or Unicode-escaped text — to any IP and port, with an optional listen step to capture a response. Needs the INTERNET permission, since Android requires it for any socket networking, even purely local Wi-Fi traffic.
The last step of a round trip that starts inside AMCustomKeyboard's Tasker Automation feature:
- The user types a configured trigger in any text field — a
##keyword(replace the whole field), a@@keyword(insert in place), or an open-endedprefix...suffixexpand pattern. - The keyboard runs the matching Tasker task, passing it
%text1(field text before the trigger),%text2(field text after, unset if empty),%keyword(the keyword/content itself), and%requestid(a correlation id for that specific call). - The task computes an answer (commonly into
%result). - This plugin is the reply step: it's a pre-built "Send Intent" action aimed at AM Custom Keyboard, with the broadcast's action, package, and extras all fixed in advance — the only thing to fill in is Return Text, the value that should be inserted back into the field.
- AM Custom Keyboard matches the reply to the original call by
requestidand inserts Return Text — replacing the whole field for a##trigger, or just the trigger/pattern span for@@and expand-pattern triggers.
Leaving Return Text empty is a deliberate cancel signal: instead of inserting anything, AM Custom Keyboard immediately restores the user's original typed text, without waiting for the configured timeout to expire.
Registers the app as a system-wide "Open With" and "Share" target. When another app shares or opens a file into AM Tasker Plugins, that file can be picked up and acted on inside a Tasker automation — a way to kick off a task straight from a file, without it needing to come from inside Tasker itself. Listed separately from the plugin list above since it's a background integration rather than a configurable Tasker action.
The app only declares what specific plugins actually need:
| Permission | Used by | Why |
|---|---|---|
com.termux.permission.RUN_COMMAND |
AM Termux | Required by Termux itself for any app that wants to trigger RunCommandService — without it, AM Termux tasks can't launch. |
android.permission.POST_NOTIFICATIONS |
AM Termux | Shows one ongoing notification per named session, so active sessions (and their held variables) stay visible and swipe-to-end-and-clean-up works. |
android.permission.READ_MEDIA_IMAGES |
AM Collect Pixel Colors, AM Decode QR | Lets those plugins open photos, screenshots, and saved QR images — the modern, scoped replacement for broad storage access on Android 13+, image-only. |
android.permission.MANAGE_EXTERNAL_STORAGE |
AM RegEx (optional) | Backs the optional File Path / Output File fields, letting AM RegEx read or write a file directly from disk instead of passing the data through Tasker as a normal variable — the whole point being to avoid Android's ~1MB limit on data exchanged with a plugin. Only requested the moment you actually turn File Path on or use Output File in the editor, never automatically. |
android.permission.INTERNET |
AM UDP Client | Android requires this for any socket networking, even purely local Wi-Fi traffic. |
AM Create QR, AM Data Processor, AM OpenVPN, AM Custom Keyboard Return, and AM Open With need no special permissions beyond what's already covered above. AM RegEx needs none either for normal use — the storage permission only comes into play if you turn on its optional File Path or Output File fields for handling very large text.
The main screen's Why These Permissions? card shows this same breakdown in-app, and a Open App Permissions menu entry jumps straight to system settings to grant or review them.
Every plugin's guide is generated from the same structured template, so each one consistently covers:
- Purpose — what the plugin does and when to reach for it.
- Fields — every configurable field, its type, example values, and default.
- How it works — the exact step-by-step behavior.
- Examples — worked input → output pairs.
- Output variables — what gets set for use later in the task, where applicable.
- Use cases, requirements, errors, and tips.
Open them from About & Plugins on the main screen — tap any plugin to open its guide.