Actions

 





Actions

Add WiFi Access Point

The action Add WiFi Access Point adds a new WiFi configuration and optionally connects to the new WiFi network.

 

Examples:
  • Scan a barcode with WiFi connection information and directly connect to the new WiFi
Settings
SSID
The SSID of the Access Point. Variables are supported.
Security
Whether to use WEP, WPA or no security. Variables are supported.
Password
Activate
Whether or not to connect to the new WiFi network.
Top

Answer Ringing Call

The action Answer Ringing Call answers the currently-ringing call.

Warning: This function requires root access, is not officially supported by Android and might not work on all devices.

 

Examples:
  • Automatically answer a call when you are prepared to answer calls but don't have your hands free.
Settings
Method
Defines the method to use to answer the call.
Top

Call Number

The action Call Number calls a number by opening the telephone application and directly calling the supplied number.

 

Example:
  • Automatically call a contact at 6pm.
Settings
SIM
The SIM card.
Number
The number to call. Variables are supported.
Directly initiate call
Whether the call should be initiated automatically or to only start the dialer interface without calling the number.
Top

Clear Automagic Log

The action Clear Automagic Log clears the internal log of Automagic (not the log on the SD-card when enabled in the preferences).

Top

Close System Dialogs

The action Close System Dialogs closes system dialogs like the expanded notification area, the expanded quick settings or the power-menu.
Whether dialog is classified as a system dialog or not is controlled by the dialog itself. Regular dialogs and windows can not be closed using this action.

Top

Combine Images

The action Combine Images allows to superimpose two images on top of each other. The images have to be loaded with action Init Variable Image File.

Note: The action has to create a copy of the image in memory so please ensure to scale down the images first when memory becomes an issue.

 

Examples:
  • Superimpose a logo on an image as a watermark.
Settings
Variable with first image (DST)
The variable containing the base image. The result is saved in this variable. Variables are supported.
Variable with second image (SRC)
The variable containing the image to combine with the first one. Variables are supported.
Mode
How to combine the two images.
Alignment of second image
The alignment of the second image on the first one.
Opacity of second image
The opacity of the second image. Variables are supported.
Top

Connect/Disconnect Bluetooth Device

The action Connect/Disconnect Bluetooth Device tries to connect/disconnect to/from a paired bluetooth device (Android 3+ required).

Warning: This function is not officially supported by Android and might not work on all devices.

 

Examples:
  • Connect to the bluetooth headset when a shortcut is pressed.
Settings
Bluetooth Profile
Defines the type of connection to establish.
Bluetooth Device Address
The address of the bluetooth device. Variables are supported.
Bluetooth Device Name
The name of the bluetooth device.
Connect or disconnect
Whether to connect or disconnect.
Top

Control Audio Player

The action Control Audio Player can launch and control the default audio player of Android. Note that device and manufacturer specific audio players will probably not work.

Warning: This function is not officially supported by Android and might not work on all devices.

 

Examples:
  • Pause the audio player when the headphones are disconnected.
Settings
Control Type
Defines the method used to control the media player:
  • Media Button: Simulates the press of a media button
  • Broadcast: Sends a broadcast to the audio service
Media Button
The button to press (not all apps handle all buttons):
  • Play: Starts to play (Android >3)
  • Play/Pause: Toggles between play and pause
  • Pause: Pauses the audio player (Android >3)
  • Stop: Stops the audio player
  • Previous: Plays the previous track
  • Next: Plays the next track
  • Fast forward: Fast forward
  • Rewind: Rewind
  • Eject: Ejects the media (for example a CD tray) (Android >3)
  • Close: Closes the media tray (for example a CD tray) (Android >3)
  • Record: Starts to record (Android >3)
  • Track: Switches the audio track (Android >4.4)
send to specified app
Whether to let the system choose the app to handle the media button or if the media button event should be sent to a specific app. This is mostly useful when multiple audio players are installed and the event is not handled by the desired player.
Package Name
The app to send the media button event to. Variables are supported.
Class Name
The component inside the app that should handle the media button. Variables are supported.
Action
The action to execute:
  • Launch: Launches the audio player
  • Play: Starts to play
  • Play/Pause: Toggles between play and pause
  • Pause: Pauses the audio player
  • Stop: Stops the audio player
  • Previous: Plays the previous track
  • Next: Plays the next track
  • Cycle Repeat: Activates the next cycle mode
  • Toggle Shuffle: Toggles the shuffle mode on/off
Top

Control UI

The action Control UI uses the accessibility features of the device to control the user interface and allows to automatically press buttons, long-click elements, scroll lists and change the values of checkboxes and radio buttons.

Note: This action controls the user interface by simulating user input, therefore the screen has to be active, unlocked and the user interface must be showing on screen.
The accessibility service of Automagic needs to be enabled in the preferences for this action to work. At least Android 4.1 (Jelly Bean) is required.

Note: Turning on the accessibility service is not possible on some devices when a screen brightness or screen filter app displays an overlay over other controls. Please disable such apps temporarily when pressing the OK button in system settings is not possible.

 

Examples:
  • Start the location settings page and enable/disable GPS.
  • Start the device update check by pressing the "Check now" button.
Settings
Script
Defines the actions to execute.
See action Script for a description of the basic features of the scripting language.

Warning: The following example scripts are highly device specific! Please only use the scripts for reference and don't just copy/paste the scripts. It might click the wrong control elements on your device.

Clear all notifications:
notifications();//to expand the notifications
sleep(1000);//wait one second for animations to complete
clicked = click("Clear all notifications");//click the button
if(not clicked) //check whether the button has been successfully clicked
{
    back();//hide the notification when the clear button was not available
}
        
Toggle GPS on/off:
Use an action Launch App: Settings/Location services to directly start the GPS settings page
sleep(1000);//wait for settings page to show
click("GPS satellites");//toggle setting on/off
sleep(500);
back();//go back to the previous screen
        
Open the Apps drawer:
home();//ensure the main home screen is showing
sleep(1000);//wait one second for animations to complete
click("Apps");//open the apps drawer
        
Supported Functions
  • Boolean sleep(Number milliseconds)
    Waits for the specified amount of milliseconds.
  • Boolean sleep(String duration)
    Waits for the specified amount of milliseconds.
  • Boolean back()
    Presses the back key.
  • Boolean home()
    Presses the home key.
  • Boolean notifications()
    Expands the statusbar.
  • Boolean quickSettings()
    Opens the quick settings of the status bar.
  • Boolean recents()
    Opens the recent application list.
  • Boolean powerDialog()
    Opens the power long-press dialog. (Android 5+)
  • Boolean toggleSplitScreen()
    Toggles the split screen mode. (Android 7+)
  • Boolean click(String pattern)
    Clicks on the element containing the given glob pattern.
  • Boolean click(Number x, Number y)
    Clicks on the element at the specified location.
  • Boolean clickById(String id)
    Clicks on the element with the given id. (Android 4.3+)
  • Boolean touchGesture(Number startMillis, Number endMillis, List coordinates, ...)
    Simulates touch screen input by replaying the given coordinates within the specified amount of time. (Android 7+)
  • Boolean longclick(String pattern)
    Longclicks on the element containing the given glob pattern.
  • Boolean longclick(Number x, Number y)
    Longclicks on the element at the specified location.
  • Boolean longclickById(String id)
    Longclicks on the element with the given id. (Android 4.3+)
  • Boolean check(String pattern)
    Checks the element containing the given glob pattern.
  • Boolean check(Number x, Number y)
    Checks the element at the specified location.
  • Boolean checkById(String id)
    Checks the element with the given id. (Android 4.3+)
  • Boolean isChecked(String pattern)
    Tests whether the element containing the given glob pattern is checked.
  • Boolean isChecked(Number x, Number y)
    Tests whether the element at the specified location is checked.
  • Boolean isCheckedById(String id)
    Tests whether the element with the given id is checked. (Android 4.3+)
  • Boolean uncheck(String pattern)
    Unchecks the element containing the given glob pattern.
  • Boolean uncheck(Number x, Number y)
    Unchecks the element at the specified location.
  • Boolean uncheckById(String id)
    Unchecks the element with the given id. (Android 4.3+)
  • Boolean scrollForward(String pattern)
    Scrolls the element containing the given glob pattern.
  • Boolean scrollForward(Number x, Number y)
    Scrolls the element at the specified location.
  • Boolean scrollForwardById(String id)
    Scrolls the element with the given id. (Android 4.3+)
  • Boolean scrollBackward(String pattern)
    Scrolls the element containing the given glob pattern.
  • Boolean scrollBackward(Number x, Number y)
    Scrolls the element at the specified location.
  • Boolean scrollBackwardById(String id)
    Scrolls the element with the given id. (Android 4.3+)
  • Boolean select(String pattern)
    Selects the element containing the given glob pattern.
  • Boolean select(Number x, Number y)
    Selects the element at the specified location.
  • Boolean selectById(String id)
    Selects the element with the given id. (Android 4.3+)
  • Boolean clearSelection(String pattern)
    Unselects the element containing the given glob pattern.
  • Boolean clearSelection(Number x, Number y)
    Unselects the element at the specified location.
  • Boolean clearSelectionById(String id)
    Unselects the element with the given id. (Android 4.3+)
  • Boolean focus(String pattern)
    Focuses the element containing the given glob pattern.
  • Boolean focus(Number x, Number y)
    Focuses the element at the specified location.
  • Boolean focusById(String id)
    Focuses the element with the given id. (Android 4.3+)
  • Boolean expand(String pattern)
    Expands the element containing the given glob pattern. (Android 4.4+)
  • Boolean expand(Number x, Number y)
    Expands the element at the specified location. (Android 4.4+)
  • Boolean expandById(String id)
    Expands the element with the given id. (Android 4.4+)
  • Boolean collapse(String pattern)
    Collapses the element containing the given glob pattern. (Android 4.4+)
  • Boolean collapse(Number x, Number y)
    Collapses the element at the specified location. (Android 4.4+)
  • Boolean cut()
    Cuts the text of the focused element. (Android 4.3+)
  • Boolean cut(String pattern)
    Cuts the text of the element containing the given glob pattern. (Android 4.3+)
  • Boolean cut(Number x, Number y)
    Cuts the text of the element at the specified location. (Android 4.3+)
  • Boolean cutById(String id)
    Cuts the text of the element with the given id. (Android 4.3+)
  • Boolean copy()
    Copies the text of the focused element. (Android 4.3+)
  • Boolean copy(String pattern)
    Copies the text of the element containing the given glob pattern. (Android 4.3+)
  • Boolean copy(Number x, Number y)
    Copies the text of the element at the specified location. (Android 4.3+)
  • Boolean copyById(String id)
    Copies the text of the element with the given id. (Android 4.3+)
  • Boolean paste()
    Pastes text to the focused element. (Android 4.3+)
  • Boolean paste(String pattern)
    Pastes text to the element containing the given glob pattern. (Android 4.3+)
  • Boolean paste(Number x, Number y)
    Pastes text to the element at the specified location. (Android 4.3+)
  • Boolean pasteById(String id)
    Pastes text to the element with the given id. (Android 4.3+)
  • Boolean setSelection2(Number start, Number end)
    Sets the selection of the focused element to the defined range. (Android 4.3+)
  • Boolean setSelection2(String pattern, Number start, Number end)
    Sets the selection of the element containing the given glob pattern. (Android 4.3+)
  • Boolean setSelection2(Number x, Number y, Number start, Number end)
    Sets the selection of the element at the specified location. (Android 4.3+)
  • Boolean setSelection2ById(String id, Number start, Number end)
    Sets the selection of the element with the given id. (Android 4.3+)
  • Boolean dismiss(String pattern)
    Dismisses the element containing the given glob pattern. (Android 4.4+)
  • Boolean dismiss(Number x, Number y)
    Dismisses the element at the specified location. (Android 4.4+)
  • Boolean dismissById(String id)
    Dismisses the element with the given id. (Android 4.4+)
  • String getText()
    Returns the text of the focused element.
  • String getText(String pattern)
    Returns the text of the element containing the given glob pattern.
  • String getText(Number x, Number y)
    Returns the text of the element at the specified location.
  • String getTextById(String id)
    Returns the text of the element with the given id. (Android 4.3+)
  • String getContentDescription()
    Returns the content description of the focused element.
  • String getContentDescription(String pattern)
    Returns the content description of the element containing the given glob pattern.
  • String getContentDescription(Number x, Number y)
    Returns the content description of the element at the specified location.
  • String getContentDescriptionById(String id)
    Returns the content description of the element with the given id. (Android 4.3+)
  • String getTextInActiveWindow()
    Returns the text of all text elements. The order of the text elements can differ from the visual position.
  • String getContentDescriptionInActiveWindow()
    Returns the content description of all elements. The order of the text elements can differ from the visual position.
  • Boolean setText2(String pattern, String text)
    Sets the text of the element containing the given glob pattern. (Android 5+)
  • Boolean setText2(Number x, Number y, String text)
    Sets the text of the element at the specified location. (Android 5+)
  • Boolean setText2ById(String id, String text)
    Sets the text of the element with the given id. (Android 5+)
  • List getBounds(String pattern)
    Returns the bounds of the element containing the given glob pattern in a list with the values [x, y, width, height].
  • List getBoundsById(String id)
    Returns the bounds of the element with the given id in a list with the values [x, y, width, height]. (Android 4.3+)
  • Boolean existsElementById(String id)
    Returns true when the element with the given id exists on the current window. (Android 4.3+)
  • Boolean sendKey(Number keyCode)
    Simulates the specified key (Automagic input method required).
  • Boolean sendKey(String keyCodeName)
    Simulates the specified key (Automagic input method required).
  • Boolean sendKey(String keyCodeName, String metaKey, ...)
    Simulates the specified key with meta key state (Automagic input method required).
  • Boolean sendText(String text)
    Sends the text to the focused component (Automagic input method required).
  • Boolean setText(String text)
    Sets the text of the focused component (Automagic input method required).
  • Boolean setSelection(Number start, Number end)
    Sets the selection of the focused component (Automagic input method required).
  • Boolean selectAll()
    Selects the text of the focused component (Automagic input method required).
Top

Copy File

The action Copy File locally copies a file.

 

Examples:
  • Create a weekly backup of the Automagic flows to a file containing the timestamp
Settings
Source File
The absolute path of the file to copy. Variables are supported.
Examples:
  • /mnt/sdcard/export_{triggertime,dateformat,yyyy_MM_dd}.csv becomes /mnt/sdcard/export_2011_02_13.csv
Target File (including filename)
The absolute path of the target file. The path has to include the filename of the target file. Variables are supported.
Top

Copy Files

The action Copy Files locally copies one or a list of files to the specified target directory or file.

 

Examples:
  • Backup all files in directory /mnt/sdcard/xyz/ to the folder /mnt/sdcard/xyz_backup/
Settings
Source Files
A comma separated list of files or directories to copy. Glob patterns can be used to match multiple files. Variables are supported.
Examples:
  • /mnt/sdcard/export* matches all files with a name starting with export in folder /mnt/sdcard
When multiple files are matched the target has to be a directory. The directory will be created when it does not exist yet.
A directory with an ending slash (like /mnt/sdcard/) matches the files contained in the directory like using /mnt/sdcard/*.
Target
The absolute path of the target file or directory. Variables are supported.
Show progress notification
Whether or not to show a notification on the statusbar indicating the progress of the operation.
Top

Copy Text from Clipboard

The action Copy Text from Clipboard copies the text on the clipboard to the specified variable.

 

Examples:
  • Send the text on the clipboard directly by sms or text.
Settings
Variable
The name of the variable to store the content of the clipboard.
A variable is a container for a value that can be used in many actions and conditions to dynamically define a part of a text.
See action Script for a description.

Supplied Variables
clip_data
the text of the clipboard
Top

Copy Text to Clipboard

The action Copy Text to Clipboard copies the specified text to the clipboard.

 

Examples:
  • Copy the scanned barcode value to the clipboard to paste it in the browser.
  • Copy the text of an incoming SMS to the clipboard to paste it in a mail.
Settings
Text
The text to copy to the clipboard. Variables are supported.
Top

Create Calendar Event

The action Create Calendar Event creates an event on the specified calendar of the device (Android 4+ required)

 

Examples:
  • create a calendar event based on the text of a received SMS
  • create a calendar event for every received call
Settings
Calendar
The name of calendar to create the event in. Variables are supported.
Start/End Type
Whether the event should be created relative to the time when the action is executed or absolute.
Start in
The start offset of the event from now. 1h creates an event that starts in one hour. Variables are supported.
Duration
The desired duration of the event like 1h or 45m. Variables are supported.
From
A script whose last statement must evaluate to a date (milliseconds since 1970) to use as the start time of the event.
To
A script whose last statement must evaluate to a date (milliseconds since 1970) to use as the end time of the event.
All day
When checked creates an event lasting the whole day, the event spans all days intersecting the time span specified in Start in/Duration or From/To.
Title
Description
The description. Variables are supported.
Location
The event location. Variables are supported.
Reminders
The reminders to create. Variables are supported.
Event Availability
The availability (not all calendars support Tentative).
Visibility
The visibility.
Top

Create Directories

The action Create Directories locally creates one or multiple directories.

 

Examples:
  • Create a target directory /mnt/sdcard/backup/ before copying files into this directory
Settings
Directories
A comma separated list of directories to create. Variables are supported.
Top

Delete App Cache

The action Delete App Cache deletes the cache files of the specified app. Android ignores this function for system apps.

Warning: This function requires root access, is not officially supported by Android and might not work on all devices.

 

Examples:
  • Delete the browser cache every evening for security purposes
Settings
Package Name
The package name of the app. Variables are supported.
Top

Delete Files

The action Delete Files locally deletes one or multiple files or folders including contained files.

 

Examples:
  • Monthly delete all files in the /mnt/sdcard/download/ folder
Settings
Source Files
A comma separated list of files or directories to delete. Glob patterns can be used to match multiple files. Variables are supported.
Examples:
  • /mnt/sdcard/download/* matches all files and subfolders in the download directory
Show progress notification
Whether or not to show a notification on the statusbar indicating the progress of the operation.
Top

Delete Flows

The action Delete Flows deletes the specified flows.

 

Examples:
  • Delete a flow before the flow is imported again with action Import Flows/Widgets
Settings
Flow Name List
The comma separated list of flows to delete. Glob patterns are not supported. Variables are supported.
Delete unused objects
Whether triggers, conditions and actions, that are not used by other flows, should also be deleted or not.
Top

Dismiss Slide to Unlock Keyguard

The action Dismiss Slide to Unlock Keyguard unlocks the device when the slid-to-unlock keyguard is used. This action can not unlock a secure keyguard that requires to enter a password, PIN or pattern.

Warning: This function is not officially supported by Android and might not work on all devices.
Some devices require that the screen is off to dismiss the keyguard.
Some devices turn off the screen when the keyguard is dismissed. You can mitigate the problem by adding an action Turn Screen On to the flow after dismissing the keyguard.

Top

Download URL

The action Download URL directly downloads a file in the background to the defined directory.

 

Examples:
  • Download a PDF newspaper every morning
Settings
URL
The URL to download. Variables are supported.
Examples:
  • http://example.com/newspaper_{triggertime,dateformat,yyyyMMdd}.pdf becomes http://example.com/newspaper_20110213.pdf
Directory
The directory to place the downloaded file in. Variables are supported.
Show progress notification
Whether or not to show a notification on the statusbar indicating the progress of the operation.
Top

Dropbox Create Directories

The action Dropbox Create Directories creates one or multiple directories on Dropbox.

 

Examples:
  • create a directory before files are uploaded.
Settings
Dropbox Access
Whether Dropbox access is currently possible or not and allows to sign in to your Dropbox account.

Installing the Dropbox app should not be required but can help to circumvent authentication problems on some devices.
Path on Dropbox
A comma separated list of directories to create. Variables are supported.
Top

Dropbox Delete Files

The action Dropbox Delete Files deletes the defined files on Dropbox.

 

Examples:
  • Delete all files in a folder before uploading new files to this folder to get rid of files you don't need anymore.
Settings
Dropbox Access
Whether Dropbox access is currently possible or not and allows to sign in to your Dropbox account.

Installing the Dropbox app should not be required but can help to circumvent authentication problems on some devices.
Dropbox Paths
A comma separated list of files or directories to delete on Dropbox. Glob patterns can be used to match multiple files. Variables are supported.
Examples:
  • /backup/export* matches all files with a name starting with export in folder /backup
Show progress notification
Whether or not to show a notification on the statusbar indicating the progress of the operation.
Top

Dropbox Download Files

The action Dropbox Download Files downloads multiple files and directories recursively to your device.

Warning: This action downloads all specified files and overwrites already existing target files. The files will be downloaded even when the same file already exists on the device.

Warning: Dropbox limits the amount of data each user can transfer.

 

Examples:
  • Download each morning the newest file of keypass containing your passwords to ensure you have the newest offline copy available.
Settings
Dropbox Access
Whether Dropbox access is currently possible or not and allows to sign in to your Dropbox account.

Installing the Dropbox app should not be required but can help to circumvent authentication problems on some devices.
Dropbox Paths
A comma separated list of files or directories to download from Dropbox. Glob patterns can be used to match multiple files. Variables are supported.
Examples:
  • /backup/export* matches all files with a name starting with export in folder /backup
Target
The absolute path of the target directory to download the files to. Variables are supported.
Show progress notification
Whether or not to show a notification on the statusbar indicating the progress of the operation.
Top

Dropbox Init Variable File List

The action Dropbox Init Variable File List lists the files of a directory that match the specified name pattern.

 

Examples:
  • Get a list of files and download only the ones smaller than 1MB.
Settings
Dropbox Access
Whether Dropbox access is currently possible or not and allows to sign in to your Dropbox account.

Installing the Dropbox app should not be required but can help to circumvent authentication problems on some devices.
Variable
The name of the variable to hold the list of files. Variables are supported.
File Pattern
The files to list. The file pattern can contain glob pattern characters like * and ?. Variables are supported.
Include file attributes
When selected returns for each file a list of attributes with path, file type, file size and file date.
A variable is a container for a value that can be used in many actions and conditions to dynamically define a part of a text.
See action Script for a description.

Supplied Variables
files
the list of files
Top

Dropbox Upload File

The action Dropbox Upload File uploads one file to your Dropbox.

 

Examples:
  • Upload a backup of all data in Gleeo Time Tracker to the your Dropbox
Settings
Dropbox Access
Whether Dropbox access is currently possible or not and allows to sign in to your Dropbox account.

Installing the Dropbox app should not be required but can help to circumvent authentication problems on some devices.
Local File
The absolute path of the local file to upload. Variables are supported.
Examples:
  • /mnt/sdcard/export_{triggertime,dateformat,yyyy_MM_dd}.csv becomes /mnt/sdcard/export_2011_02_13.csv
Path on Dropbox (including filename)
The absolute path of the file on Dropbox. The path has to include the filename of the target file. This allows you to store the file using a different name on your Dropbox. Variables are supported.
Show progress notification
Whether or not to show a notification on the statusbar indicating the progress of the operation.
Top

Dropbox Upload Files

The action Dropbox Upload Files uploads one or multiple files and directories recursively to your Dropbox.

Warning: This action uploads all specified files and overwrites already existing target files. The files will be uploaded even when the same file already exists on Dropbox.

Warning: Dropbox limits the amount of data each user can transfer.

 

Examples:
  • Upload a backup of all data in Gleeo Time Tracker to the your Dropbox
Settings
Dropbox Access
Whether Dropbox access is currently possible or not and allows to sign in to your Dropbox account.

Installing the Dropbox app should not be required but can help to circumvent authentication problems on some devices.
Source Files
A comma separated list of files or directories to upload to Dropbox. Glob patterns can be used to match multiple files. Variables are supported.
Examples:
  • /mnt/sdcard/export* matches all files with a name starting with export in folder /mnt/sdcard
Path on Dropbox
The absolute path of the target on Dropbox to upload the files to. Variables are supported.
Show progress notification
Whether or not to show a notification on the statusbar indicating the progress of the operation.
Top

Enable WiFi Access Point

The action Enable WiFi Access Point enables one of the access point configurations and optionally prevents to connect to other access points by disabling them.

 

Examples:
  • Enable a free access point at home and disable a paid access point.
Settings
SSID
The SSID of the access point configuration to enable. Glob patterns (*, ?) are supported when Disable other access points is not enabled. Variables are supported.
Disable other access points
Whether to disable all other access point configurations or not.
Top

End Call

The action End Call hangs up the current call.

Warning: This function is not officially supported by Android and might not work on all devices.

Example:
  • Let the phone call home for 15 seconds and automatically terminate the call to notify something.
Top

Execute Command

The action Execute Command executes a shell command and stores the output in variables.

 

Examples:
  • ls -l to list all files in the working directory
  • ps to store the running processes in the defined variable
  • ps > file.txt to store the running processes in a file
  • cat file1.txt > file2.txt to copy a file
  • cat /proc/wakelocks to show the wake locks preventing your device from sleeping
String variables are replaced before the command is passed to the interpreter.
You can use this for example to create a filename based on the current date: ps > file-{triggertime,datetime,yyyyMMdd}.txt.

Special characters in the command have to be escaped using backslash or placed in quotes as appropriate:
cat 'Test File1.txt' > 'Test File2.txt'
cat Test\ File1.txt > Test\ File2.txt

Settings
Command
Enter the shell command to execute in this field. The command is passed to /bin/sh to be interpreted. The available commands vary from device to device. Variables are supported.
Working Directory
The path the command is executed in. Variables are supported.
Timeout
The timeout for the command.
Variable to store the standard output
The output written by the command to the standard output is stored in the variable defined in this field.
Variable to store the error output
The output written by the command to the error output is stored in the variable defined in this field.
Variable to store the exit code
The exit code of the command is stored in the variable defined in this field.
A variable is a container for a value that can be used in many actions and conditions to dynamically define a part of a text.
See action Script for a description.

Supplied Variables
stdout
the standard output of the command
stderr
the standard error output of the command
exit_code
the exit code of the command
Top

Execute Flows

The action Execute Flows executes one or multiple flows specified in the field Flow pattern list.

Tip: It's also possible to execute utility flows that don't have their own trigger. Simply don't add a trigger to such a flow but ensure that the flow is enabled.

The executed flow will inherit the execution context with all variables of the parent flow.
The variables usually supplied by the trigger of the target flow will not be available since the trigger of the target flow is bypassed when using this action.

 

Examples:
  • Execute all flows with the words battery save in the name when the battery reaches a critical level
Settings
Flow pattern list
A comma separated list of flow names to execute. Glob patterns * and ? can be used to match similar named flows.

Examples:
  • Test Flow
  • Test Flow, SMS Flow
  • *battery save*
Exclude flow pattern list
A comma separated list of flow names to not execute even when the field Flow pattern list includes the flow.
Skip disabled flows without error
Whether disabled flows should be skipped without error or if the flow should be stopped with an error.
Wait for called flows to finish
Whether the action should wait until all called flows have been finished or not.
Return variables to the calling flow
Whether the local variables of the called flow should be returned to the calling flow.
A variable is a container for a value that can be used in many actions and conditions to dynamically define a part of a text.
See action Script for a description.

Supplied Variables
flow_count
the number of flows to execute
Top

Execute Root Command

The action Execute Root Command executes a shell command as root by passing the command to su and stores the output in variables.

Warning: This function requires root access, is not officially supported by Android and might not work on all devices.

 

Examples:
  • reboot to reboot the device
  • reboot -p to shutdown
String variables are replaced before the command is passed to the interpreter.
You can use this for example to create a filename based on the current date: ps > file-{triggertime,datetime,yyyyMMdd}.txt.

Special characters in the command have to be escaped using backslash or placed in quotes as appropriate:
cat 'Test File1.txt' > 'Test File2.txt'
cat Test\ File1.txt > Test\ File2.txt

Settings
Command
Enter the shell command to execute in this field. The command is passed to su to be interpreted. The available commands vary from device to device. Variables are supported.
User
The user to use for executing the command. Defaults to root when not specified. Variables are supported.
SE Context
The SE context to use to execute the command. This setting is often required when using Android 5+ or any other device that set SELinux to enforcing. Requires su that allows to switch SE context (like SuperSU v1.97+). Variables are supported.
Working Directory
The path the command is executed in. Variables are supported.
Timeout
The timeout for the command.
Variable to store the standard output
The output written by the command to the standard output is stored in the variable defined in this field.
Variable to store the error output
The output written by the command to the error output is stored in the variable defined in this field.
Variable to store the exit code
The exit code of the command is stored in the variable defined in this field.
A variable is a container for a value that can be used in many actions and conditions to dynamically define a part of a text.
See action Script for a description.

Supplied Variables
stdout
the standard output of the command
stderr
the standard error output of the command
exit_code
the exit code of the command
Top

Execute SSH Command (Experimental)

The action Execute SSH Command connects to an SSH server and executes a command.

Note: It can not be guaranteed that this action is compatible with all SSH servers.

 

Examples:
  • execute a command on a NAS every evening
  • show the free memory of the server on a widget
Settings
Server/Port
The IP or name of the SSH server to connect to. Variables are supported.
Validate host key
Whether the host key should be checked or not. Skipping the host key check reduces the security of SSH.
Username
Authentication type
Whether to use password authentication or public key authentication. Keyboard interactive authentication is not supported.
Password
The password.
Private key file
The path to the private key file (OpenSSH format). You may need to convert the key to another format when the key does not work in Automagic. Variables are supported.
Public key file
The path to the public key file (OpenSSH format). You may need to convert the key to another format when the key does not work in Automagic. Variables are supported.
Passphrase
The passphrase of the key or empty when no passphrase is used.
Test connection/Update host key
Tries to establish a connection to the specified server using the given credentials. Variables are not replaced.
Command
The command to execute. Variables are supported.
Feed input file
Whether to feed an input file to the executed command (like cat file | ssh user@server command)
Input file
The file to feed to the command. Variables are supported.
Timeout
The overall timeout (connect and execute).
Store stdout in a variable or file
Whether to store the output of the command in a variable (max. 1MB, text). Binary output should always be stored in a file.
Variable to store the standard output
The output written by the command to the standard output is stored in the variable defined in this field.
File to store the standard output
The path to the file to store the output of the command. Variables are supported.
Variable to store the error output
The output written by the command to the error output is stored in the variable defined in this field.
Variable to store the exit code
The exit code of the command is stored in the variable defined in this field.
A variable is a container for a value that can be used in many actions and conditions to dynamically define a part of a text.
See action Script for a description.

Supplied Variables
stdout
the standard output of the command
stderr
the standard error output of the command
exit_code
the exit code of the command
Top

Exit Device Idle/Doze Mode

The action Exit Device Idle/Doze Mode exits the device idle/doze mode.

Warning: This function requires root access, is not officially supported by Android and might not work on all devices.

 

Examples:
  • Exit the device idle/doze mode every morning at 6am to make the device work reliable again.
Top

Export Flows

The action Export Flows exports the selected flows to the specified file.

 

Examples:
  • Export all flows to a file and upload the file to Dropbox as a backup
Settings
Flow pattern list
A comma separated list of flow names to export. Glob patterns * and ? can be used to match similar named flows. Variables are supported.

Examples:
  • Test Flow
  • Test Flow, SMS Flow
  • *time tracking*
Exclude flow pattern list
A comma separated list of flow names to not export even when the field Flow pattern list includes the flow. Glob patterns * and ? can be used to match similar named flows. Variables are supported.
Widget pattern list
A comma separated list of widget names to export. Glob patterns * and ? can be used to match similar named widgets. Variables are supported.
Exclude widget pattern list
A comma separated list of widget names to not export even when the field Widget pattern list includes the widget. Glob patterns * and ? can be used to match similar named widgets. Variables are supported.
Target File
The path of the target file. Variables are supported.
A variable is a container for a value that can be used in many actions and conditions to dynamically define a part of a text.
See action Script for a description.

Supplied Variables
export_path
the path of the created file
Top

Flashlight

The action Flashlight enables or disables the flashlight of the device.

 

Examples:
  • Turn on or off the flashlight using a toggle widget.
Settings
Flashlight
Whether to turn the flashlight on or off.
Top

FTP Create Directories

The action FTP Create Directories creates one or multiple directories on an FTP server.

 

Examples:
  • create a directory before files are uploaded.
Settings
Protocol
Whether to use regular FTP (unencrypted), FTPS (Implicit FTP over SSL/TLS, default port 990) or FTPES (Explicit FTP over SSL/TLS).
Data Channel Protection (only for FTPS and FTPES)
Whether data transferred on the data channel should be encrypted (P) or not (C).
Server/Port
The name or IP and port (default 21) of the FTP server. Variables are supported.
Username
The username to connect. Variables are supported.
Password
The password to connect. Variables are supported.
Server Directories
A comma separated list of directories to create. Variables are supported.
Control Encoding
Whether to use a special encoding for the control channel or not (Encoding of file names, not the encoding of the content of text files). Variables are supported.
Top

FTP Delete Files

The action FTP Delete Files deletes the files specified on the FTP server.

 

Examples:
  • Recursively delete all files in a directory on the server before uploading new files
Settings
Protocol
Whether to use regular FTP (unencrypted), FTPS (Implicit FTP over SSL/TLS, default port 990) or FTPES (Explicit FTP over SSL/TLS).
Data Channel Protection (only for FTPS and FTPES)
Whether data transferred on the data channel should be encrypted (P) or not (C).
Server/Port
The name or IP and port (default 21) of the FTP server. Variables are supported.
Username
The username to connect. Variables are supported.
Password
The password to connect. Variables are supported.
Paths on Server
A comma separated list of files or directories to delete on the server. Glob patterns can be used to match multiple files. Variables are supported.
Examples:
  • /pub/export* matches all files with a name starting with export in folder /pub
Control Encoding
Whether to use a special encoding for the control channel or not (Encoding of file names, not the encoding of the content of text files). Variables are supported.
Show progress notification
Whether or not to show a notification on the statusbar indicating the progress of the operation.
Top

FTP Download Files

The action FTP Download Files downloads files and folders stored on an FTP server.

 

Examples:
  • Recursively download a directory with music every morning
Settings
Protocol
Whether to use regular FTP (unencrypted), FTPS (Implicit FTP over SSL/TLS, default port 990) or FTPES (Explicit FTP over SSL/TLS).
Data Channel Protection (only for FTPS and FTPES)
Whether data transferred on the data channel should be encrypted (P) or not (C).
Server/Port
The name or IP and port (default 21) of the FTP server. Variables are supported.
Username
The username to connect. Variables are supported.
Password
The password to connect. Variables are supported.
Paths on Server
A comma separated list of files or directories to download from the server. Glob patterns can be used to match multiple files. Variables are supported.
Examples:
  • /pub/export* matches all files with a name starting with export in folder /pub
Local Directory
The absolute path of the target directory to download the files to. Variables are supported.
Control Encoding
Whether to use a special encoding for the control channel or not (Encoding of file names, not the encoding of the content of text files). Variables are supported.
Show progress notification
Whether or not to show a notification on the statusbar indicating the progress of the operation.
Top

FTP Init Variable File List

The action FTP Init Variable File List lists the files of a directory that match the specified name pattern.

 

Examples:
  • Get a list of files and download only the ones smaller than 1MB.
Settings
Protocol
Whether to use regular FTP (unencrypted), FTPS (Implicit FTP over SSL/TLS, default port 990) or FTPES (Explicit FTP over SSL/TLS).
Data Channel Protection (only for FTPS and FTPES)
Whether data transferred on the data channel should be encrypted (P) or not (C).
Server/Port
The name or IP and port (default 21) of the FTP server. Variables are supported.
Username
The username to connect. Variables are supported.
Password
The password to connect. Variables are supported.
Variable
The name of the variable to hold the list of files. Variables are supported.
File Pattern
The files to list. The file pattern can contain glob pattern characters like * and ?. Variables are supported.
Include file attributes
When selected returns for each file a list of attributes with path, file type, file size and file date.
A variable is a container for a value that can be used in many actions and conditions to dynamically define a part of a text.
See action Script for a description.

Supplied Variables
files
the list of files
Top

FTP Upload File

The action FTP Upload File uploads one file to an FTP server.

 

Examples:
  • Upload a backup of all data in Gleeo Time Tracker to the your company server
Settings
Protocol
Whether to use regular FTP (unencrypted), FTPS (Implicit FTP over SSL/TLS, default port 990) or FTPES (Explicit FTP over SSL/TLS).
Data Channel Protection (only for FTPS and FTPES)
Whether data transferred on the data channel should be encrypted (P) or not (C).
Server/Port
The name or IP and port (default 21) of the FTP server. Variables are supported.
Username
The username to connect. Variables are supported.
Password
The password to connect. Variables are supported.
Local File
The absolute path of the local file to upload. Variables are supported.
Examples:
  • /mnt/sdcard/export_{triggertime,dateformat,yyyy_MM_dd}.csv becomes /mnt/sdcard/export_2011_02_13.csv
Path on Server (including filename)
The absolute path of the file on the FTP server. The path has to include the filename of the target file. This allows you to store the file using a different name on your server. Variables are supported.
Control Encoding
Whether to use a special encoding for the control channel or not (Encoding of file names, not the encoding of the content of text files). Variables are supported.
Show progress notification
Whether or not to show a notification on the statusbar indicating the progress of the operation.
Top

FTP Upload Files

The action FTP Upload Files uploads files and folders to an FTP server.

 

Examples:
  • Recursively upload a directory with photos every morning to an FTP server
Settings
Protocol
Whether to use regular FTP (unencrypted), FTPS (Implicit FTP over SSL/TLS, default port 990) or FTPES (Explicit FTP over SSL/TLS).
Data Channel Protection (only for FTPS and FTPES)
Whether data transferred on the data channel should be encrypted (P) or not (C).
Server/Port
The name or IP and port (default 21) of the FTP server. Variables are supported.
Username
The username to connect. Variables are supported.
Password
The password to connect. Variables are supported.
Local Paths
A comma separated list of files or directories to upload to the server. Glob patterns can be used to match multiple files. Variables are supported.
Examples:
  • /mnt/sdcard/export* matches all files with a name starting with export in folder /mnt/sdcard
Server Directory
The absolute path of the target directory on the server to upload the files to. Variables are supported.
Control Encoding
Whether to use a special encoding for the control channel or not (Encoding of file names, not the encoding of the content of text files). Variables are supported.
Show progress notification
Whether or not to show a notification on the statusbar indicating the progress of the operation.
Top

Gleeo Create Entry

The action Gleeo Create Entry creates an entry of the specified project and task in Gleeo Time Tracker.

 

Examples:
  • Track the amount of time spent in the Twitter app and create an entry in Gleeo Time Tracker at the end of the day.
Settings
Domain
The name of the domain to create an entry for. Variables are supported.
Project
The name of the project to create an entry for. Variables are supported.
Task
The task of the entry to create. The task will be created in Gleeo Time Tracker when it not already exists.
The task name can be defined dynamically using variables.

Examples:
  • Phone Support for {incoming_number} becomes Phone Support for 17001111111
  • Visiting {trigger} becomes Visiting Customer X (use different location triggers named Customer X, Customer Y etc.)
Variable containing the start time
The name of the variable (without curly braces) containing the start time. Variables are supported.
Variable containing the end time
The name of the variable (without curly braces) containing the start time. Variables are supported.
Move to Background
Whether to move Gleeo Time Tracker to the background when the entry has been created.
Top

Gleeo Filesystem Export

The action Gleeo Filesystem Export creates a CSV export of the defined projects and time range.

 

Examples:
  • Backup all data in Gleeo Time Tracker to the SD card
  • Export the current month by pressing a shortcut on the launcher and attach the created file to a Google Mail message draft
  • Each month export all recorded entries of the month to the SD card and send the file by mail to your employer
Settings
Domains to Export
The list of domains to export. Variables are supported.
Projects to Export
The list of projects to export. Variables are supported.
Tasks to Export
The list of tasks to export. Variables are supported.
Time Range
The time range to export.
CSV Column Delimiter
The delimiter used to separate two columns. Excel users can set this to Semicolon to simplify the import in Excel.
Target File
The file to store the exported data in. Variables can be used to create dynamic file names based on time.

Examples:
  • /mnt/sdcard/export_{triggertime,dateformat,yyyy_MM_dd}.csv becomes /mnt/sdcard/export_2011_02_13.csv
  • /mnt/sdcard/export_{export_start_time,dateformat,yyyy_MM_dd}-{export_end_time,dateformat,yyyy_MM_dd}.csv becomes /mnt/sdcard/export_2011_03_01-2011_03_31.csv
Encoding
The encoding used to save the file.
Attach to Mail
Opens the desired Mail App and attaches the CSV file.
A variable is a container for a value that can be used in many actions and conditions to dynamically define a part of a text.
See action Script for a description.

Supplied Variables
export_start_time
the start time of the exported time range
export_end_time
the end time of the exported time range
export_path
the absolute path of the exported file
Top

Gleeo Start Recording

The action Gleeo Start Recording starts recording the defined project and task in Gleeo Time Tracker when this task is not already recording.

 

Examples:
  • Start tracking the time when you arrive at your office.
  • Start tracking the time when your employer calls.
  • Start tracking the time when you press a shortcut on the launcher.
Settings
Domain
The name of the domain to start recording. Variables are supported.
Project
The name of the project to start recording. Variables are supported.
Task
The task to start recording. The task will be created in Gleeo Time Tracker when it not already exists.
Variables are supported.

Examples:
  • Phone Support for {incoming_number} becomes Phone Support for 17001111111
  • Visiting {trigger} becomes Visiting Customer X (use different location triggers named Customer X, Customer Y etc.)
Move to Background
Whether to move Gleeo Time Tracker to the background when the task has been started.
Top

Gleeo Stop Recording

The action Gleeo Stop Recording stops recording the currently recording task in Gleeo Time Tracker.

 

Examples:
  • Stop tracking the time when you leave your office.
  • Stop tracking the time every evening at 6pm and show an alert when you forgot to stop recording.
Settings
Domains to Stop
The name of the domain to stop recording.
Glob patterns are supported. Variables are supported.
Projects to Stop
The name of the project to stop recording.
Glob patterns are supported. Variables are supported.
Tasks to Stop
The tasks to stop recording.
Glob patterns are supported.Variables are supported.
Move to Background
Whether to move Gleeo Time Tracker to the background when the task has been stopped.
Top

Google Drive Create Directories (Experimental)

The action Google Drive Create Directories (Experimental) creates one or multiple directories on Google Drive.

 

Examples:
  • create a directory before files are uploaded.
Settings
Device account
The account to access Google Drive.
Google Drive Directories
A comma separated list of directories to create. Variables are supported.
Top

Google Drive Delete Files (Experimental)

The action Google Drive Delete Files (Experimental) deletes the defined files on Dropbox.

 

Examples:
  • Delete all files in a folder before uploading new files to this folder to get rid of files you don't need anymore.
Settings
Device account
The account to access Google Drive.
Google Drive Paths
A comma separated list of files or directories to delete on Google Drive. Glob patterns can be used to match multiple files. Variables are supported.
Examples:
  • /backup/export* matches all files with a name starting with export in folder /backup
Show progress notification
Whether or not to show a notification on the statusbar indicating the progress of the operation.
Top

Google Drive Download Files (Experimental)

The action Google Drive Download Files (Experimental) downloads multiple files and directories recursively to your device.

Warning: This action downloads all specified files and overwrites already existing target files. The files will be downloaded even when the same file already exists on the device.

Note: Google Drive allows to create duplicate files which is not possible on a regular filesystem. Automagic only considers the newest file in such a case and ignores duplicates.
Note: Google Documents are not downloaded.

 

Examples:
  • Download each morning the newest file of keypass containing your passwords to ensure you have the newest offline copy available.
Settings
Device account
The account to access Google Drive.
Google Drive Paths
A comma separated list of files or directories to download from Google Drive. Glob patterns can be used to match multiple files. Variables are supported.
Examples:
  • /backup/export* matches all files with a name starting with export in folder /backup
Target
The absolute path of the target directory to download the files to. Variables are supported.
Show progress notification
Whether or not to show a notification on the statusbar indicating the progress of the operation.
Top

Google Drive Init Variable File List

The action Google Drive Init Variable File List lists the files of a directory that match the specified name pattern.

 

Examples:
  • Get a list of files and download only the ones smaller than 1MB.
Settings
Device account
The account to access Google Drive.
Variable
The name of the variable to hold the list of files. Variables are supported.
File Pattern
The files to list. The file pattern can contain glob pattern characters like * and ?. Variables are supported.
Include file attributes
When selected returns for each file a list of attributes with path, file type, file size and file date.
A variable is a container for a value that can be used in many actions and conditions to dynamically define a part of a text.
See action Script for a description.

Supplied Variables
files
the list of files
Top

Google Drive Upload Files (Experimental)

The action Google Drive Upload Files (Experimental) uploads one or multiple files and directories recursively to your Google Drive.

Warning: This action uploads all specified files and overwrites already existing target files.

 

Examples:
  • Upload a backup of all data in Gleeo Time Tracker to the Google Drive
Settings
Device account
The account to access Google Drive.
Source Files
A comma separated list of files or directories to upload to Dropbox. Glob patterns can be used to match multiple files. Variables are supported.
Examples:
  • /mnt/sdcard/export* matches all files with a name starting with export in folder /mnt/sdcard
Path on Google Drive
The absolute path of the target on Google Drive to upload the files to. Variables are supported.
Show progress notification
Whether or not to show a notification on the statusbar indicating the progress of the operation.
Top

Hide Custom Widget Overlay

The action Hide Custom Widget Overlay hides a previously shown overlay.

Settings
Overlay names
The names/identifications of the overlays to hide.
A variable is a container for a value that can be used in many actions and conditions to dynamically define a part of a text.
See action Script for a description.

Supplied Variables
widget_x_offset
X-offset of the hidden widget.
widget_y_offset
Y-offset of the hidden widget.
Top

Hide Custom Widget Overlay (Android Wear)

The action Hide Custom Widget Overlay (Android Wear) hides a previously shown overlay.

Settings
Android Wear device
The device to hide the widget on. Variables are supported.
Overlay name
The name/identification of the overlay to hide.
A variable is a container for a value that can be used in many actions and conditions to dynamically define a part of a text.
See action Script for a description.

Supplied Variables
widget_x_offset
X-offset of the hidden widget.
widget_y_offset
Y-offset of the hidden widget.
Top

HTTP Request

The action HTTP Request requests a resource from a server using the specified HTTP request method.

Note: This action is meant to be used for technical requests (REST and the like) and to process the response using scripts. If you simply want to download a file please use the action Download URL.
The action terminates with a status code of -1 for general errors. It will terminate with an error when not even a connection to the server can be established (network not available, IP can not be resolved etc.). Use an Exception-connection to handle such errors.

 

Examples:
  • Fetch a web page of a weather service and test if it contains the word rain
  • Get the price of a product from an online retailers REST service
Settings
URL
The URL to request. Variables are supported.
Examples:
  • http://example.com/weather.html?ts={triggertime,dateformat,yyyyMMdd} becomes http://example.com/weather.html?ts=20110213
Verify certificates (https)
Whether certificates should be checked or not. Can be useful to ignore errors for self-signed certificates.
Authentication
Whether username and password should be passed to the server using basic authentication.
Username
The username to pass to the server. Variables are supported.
Password
The password to pass to the server. Variables are supported.
Client certificate
If a client certificate should be used.
Client certificate path
Path to the PKCS#12 file. Variables are supported.
Client certificate password
The password to access the client certificate. Variables are supported.
Request Method
The HTTP request method to use. Not all methods are supported by all devices.
Content Type
The content type to use in the request as header Content-Type. Variables are supported.
Form Field List
Comma separated list with key=value to send as application/x-www-form-urlencoded to the server. The values are automatically URL encoded. Variables are supported.

Example: Firstname=Hugo,Lastname=Habicht
Data
The text data to send to the server. Variables are supported.
Form Field Name
The name of the form field to use for the uploaded file. Variables are supported.
File to upload
The path of the file to upload. The filename for the request is automatically determined based on the specified file. Variables are supported.
Timeout
The timeout to use.
Custom HTTP Headers
A text containing the custom HTTP headers to send. Variables are supported.

Each line should start with the header name and a colon followed by the value to send.

Examples:
  • User-Agent: my own user agent
  • SOAPAction: "test"
Store response in a variable or file
Whether to store the response in a variable or a file.
Variable
The name of the variable to store the response in. The response is converted to a string. Variables are supported.

Warning: Responses larger than 1MB are not supported in a variable.
File
The path to store the file in. Variables are supported.
A variable is a container for a value that can be used in many actions and conditions to dynamically define a part of a text.
See action Script for a description.

Supplied Variables
name as declared in the field Variable
the response as string
status_code
the numeric HTTP status code, -1 when a general error occurs
error_message
error message when the request could not be executed and status_code is set to -1
header_*
All values of the response headers. The name of the variable is built using the prefix header_ and the name of the header by replacing dash with underscore and converting the name to lowercase.
Examples:
  • Header Accept is stored in variable header_accept
  • Header Accept-Encoding is stored in variable header_accept_encoding
Headers leading to an invalid variable name are ignored.
Top

Import Flows

The action Import Flows imports all flows of the specified file. The imported flows are disabled. Already existing flows are not imported.
Flows can be enabled after importing when desired using action Set Flow State and the variable {imported_flow_names,listformat,comma}.

 

Examples:
  • Import a flow to lock the device on the stolen device.
Settings
File
The file to import. Variables are supported.
Replace existing
Whether or not to replace existing Flows, Triggers, Actions, Conditions and Widgets with the same name.
A variable is a container for a value that can be used in many actions and conditions to dynamically define a part of a text.
See action Script for a description.

Supplied Variables
imported_flow_names
the list of imported flows
duplicate_flow_names
the list of duplicate flows that have not been imported
Top

Init Variable Contact List

The action Init Variable Contact List stores the list of contacts in the specified variable.

 

Examples:
  • Show the starred contacts in a selection list before calling the selected contact.
Settings
Type
Whether to show all contacts of the address book or only the contacts of the selected groups.
Group names
The names of the groups to load. Glob patterns (*, ?) are supported. Variables are supported.
A variable is a container for a value that can be used in many actions and conditions to dynamically define a part of a text.
See action Script for a description.

Supplied Variables
contact_list
the list of contacts
Top

Init Variable File List

The action Init Variable File List lists all files or only the newly added files in a directory and stores the list in a variable.

 

Examples:
  • Send all files of a directory by mail to your mail account.
  • Send all new backup files of Gleeo Time Tracker to your inbox.
Settings
Variable
The name of the variable to hold the list of files.
File Pattern
The files to list. The file pattern can contain glob pattern characters like * and ?.

Examples:
  • /mnt/sdcard/folder/*
  • /mnt/sdcard/GTT-export-20120101.csv
  • /mnt/sdcard/GTT-export-*.csv
  • /mnt/sdcard/file1,/mnt/sdcard/file2,/mnt/sdcard/file3
Include changes only
Whether to store all files matching the pattern specified in File Pattern or only the new files.
A file is considered to be new when it was not available the last time this action executed or the size of the file changed or the last modified time of the file has changed since the last execution of this action.
Include file attributes
When selected returns for each file a list of attributes with path, file type, file size and file date.
A variable is a container for a value that can be used in many actions and conditions to dynamically define a part of a text.
See action Script for a description.

Supplied Variables
files
the list of files
Top

Init Variable Image File

The action Init Variable Image File loads the pixel data of an image into the specified local variable to modify the image with action Modify Image or to read color values of pixels with script function getPixelColor.

Warning: Loading large images uses a lot of internal memory which could cause Automagic to crash in the worst case. It's recommended to read only one image into memory and not to load very large images.

 

Examples:
  • Load an image, shrink the size and send the smaller file by mail.
Settings
File
The path or URL to the image file. Variables are supported.
Variable
The name of the local variable to store the pixel data. Variables are supported.
A variable is a container for a value that can be used in many actions and conditions to dynamically define a part of a text.
See action Script for a description.

Supplied Variables
image_data
the local variable of the image
image_width
the width of the image
image_height
the height of the image
Top

Init Variable Image Metadata

The action Init Variable Image Metadata extracts the metadata (e.g. Exif tags) from an image and stores the values in a map (key=label/name of the tag, value=description or raw value of the tag).

Example to read the GPS location in an action Script:
location = getMapValue(image_metadata, "gps_location");

Tip: Condition Debug Dialog can be used to display the keys and values stored in the map.

 

Examples:
  • Extract the GPS location and the thumbnail from a JPEG image.
Settings
File
The path to the image file. Variables are supported.
Variable
The name of the variable to store the map with the values in. Variables are supported.
Parse dates
Defines if date strings should be converted to proper date/time values or if the string should be stored as a string in the map.
Include metadata directory name
Whether to include the name of the metadata directory in the key of each read tag.
Get raw values
Defines if the metadata values should be converted to a human readable form or if the values should be loaded as is.
Extract thumbnail
Defines if an available thumbnail should be extracted from the metadata and stored in variable thumbnail_image.
A variable is a container for a value that can be used in many actions and conditions to dynamically define a part of a text.
See action Script for a description.

Supplied Variables
image_metadata
the map containing the extracted tag names/labels and the extracted values for each tag
thumbnail_image
the thumbnail image extracted from the image metadata
Top

Init Variable Location

The action Init Variable Location acquires one location from the defined provider and stores the location in the variable.

Note: Getting one location can take several seconds to complete. The passive provider might not return a location until another app is activating one of the location providers.

 

Examples:
  • Send the location in response to an SMS containing the text Where are you? to the sender.
  • Store the location coordinates in a file when the employer calls.
  • Send the location and phone number by mail whenever you call someone.
Settings
Variable
The name of the variable to store the location in.
New or Last Known Location
Defines if the action should acquire a new location or if the action should use the last known location. Loading the last known location uses almost is very fast but might return an outdated location or no location might be available when the device was freshly started.
Location Provider
The location provider to use.
Network
This provider uses the location provided by the cell tower and Wi-Fi signals. Depending on environment this provider can deliver location of about 60 meters of accuracy. Locations found using the cell tower can be very inaccurate (up to several kilometers or miles).

Passive
This provider delivers the location from the currently active provider (Network or GPS) without activating one of the providers by itself. This might result in very infrequent location updates.

GPS
This provider delivers the location using the GPS receiver. This provider usually uses more battery than the network provider.

High Accuracy (Experimental)
This provider delivers the finest available location using different sensors available on the device.

Balanced Power/Accuracy (Experimental)
This provider delivers the a location with an accuracy of about 100m and uses less battery than the high accuracy provider.

Low Power (Experimental)
This provider delivers the a location with an accuracy of about 10km.

No Power (Experimental)
This provider will only deliver locations when another app on the device has requested locations.

Minimum Accuracy (in meters)
Only newer locations with at least this accuracy are accepted.
This can be useful to filter out locations calculated using the cell tower when also more exact locations using WiFi are available.
Timeout
The maximum amount of time to wait for a location fix, otherwise terminate the flow with an error.
A variable is a container for a value that can be used in many actions and conditions to dynamically define a part of a text.
See action Script for a description.

Supplied Variables
location
the reported location
location_accuracy
the accuracy of the location
location_altitude
the altitude of the location when available (not available on all devices)
location_bearing
the direction of travel in degrees East of true North when available (not available on all devices)
location_speed
the speed of travel in meters per second when available (not available on all devices)
Top

Init Variable Next Alarm

The action Init Variable Next Alarm fills the time of the next currently known alarm into the specified variable.

Warning: This function is not officially supported by Android < 5.0 and might not work on all devices.

 

Examples:
  • Get the time of the next alarm to show a reminder one hour before the alarm is reached.
Settings
Variable
The name of the variable.
A variable is a container for a value that can be used in many actions and conditions to dynamically define a part of a text.
See action Script for a description.

Supplied Variables
next_alarm
the time of the next alarm or null when no alarm is set
Top

Init Variable Notifications on Statusbar

The action Init Variable Notifications on Statusbar stores all currently shown notifications as a list in a variable.

 

Examples:
  • Send the texts of all shown notifications by mail to your account when you receive an SMS with the text get notifications.
Settings
Variable
The name of the variable to store the list of notifications.
A variable is a container for a value that can be used in many actions and conditions to dynamically define a part of a text.
See action Script for a description.

Supplied Variables
notifications
the list of all notifications with a map containing following keys for each notification:

title
the title of the displayed notification
content_title
the title of the content displayed by the notification
content_title_big
the title of the big content displayed by the notification
notification_text (This function is not officially supported by Android and does not work with all notifications)
the textual content of the notification
notification_text_big (Android 4.1+, This function is not officially supported by Android and does not work with all notifications)
the textual content of the big, expanded view of the notification
notification_large_icon (Android 4.1+, This function is not officially supported by Android and does not work with all notifications)
the large icon of the notification, when available
notification_when
the time shown in the notification
notification_number
number shown in the notification, when available
notification_vibrate_default
whether the notification vibrates using the default pattern
notification_vibrate_pattern
vibration pattern as a list of numbers (pause duration in ms, vibrate duration in ms, ...), when available
notification_sound_default
whether the notification should play the default notification sound
notification_sound_uri
the URI of the sound to play, when available
notification_people (Android 4.4+)
a list of relevant people of the notification (list of URIs), when available
notification_info_text (Android 4.4+)
the info text displayed by the notification, when available
notification_sub_text (Android 4.4+)
the sub text displayed by the notification, when available
notification_summary_text (Android 4.4+)
the summary text displayed by the notification, when available
notification_progress (Android 4.4+)
the current progress shown by the notification, when available
notification_progress_max (Android 4.4+)
the maximum progress, when available
notification_progress_indeterminate (Android 4.4+)
whether the progress is indeterminate, when available
notification_text_lines (Android 4.4+)
the text lines shown by the notification, when available
notification_background_image_uri (Android 5+)
the URI of the background image to show, when available
notification_category (Android 5+)
the category of the notification, when available
notification_accent_color (Android 5+)
the accent color of the notification, when available
notification_ticker_text
the scrolling text shown by the notification
notification_visibility (Android 5+)
the visibility of the notification (-1=secret, 0=private, 1=public)
notification_ongoing
whether this is an ongoing event
notification_foreground_service
whether this notification is used to mark a foreground service
notification_local_only
whether the notification should be displayed on the local device only
notification_group (Android 7+)
the group key of the notification
notification_is_group_summary (Android 7+)
whether the notification is the group summary
package_name
the name of the package that displayed the notification
app_name
the display name of the app
id (Android 4.3+)
the id of the notification
buttons (Android 4.1+, This function is not officially supported by Android and does not work with all notifications)
the list of buttons available on the big, expanded notification
Top

Init Variable Package Info

The action Init Variable Package Info loads information of the specified apps/packages and stores the information in a map.

Tip: Condition Debug Dialog can be used to display the keys and values stored in the map.

 

Examples:
  • Load the list of permissions used by an app and check which permissions have been granted.
Format

The map contains the package name as the key and a map with the queried information as value. Example shown as JSON:

        {
          "package1": {"version_name": xyz, "version_code": 123},
          "package2": {"version_name": xyz, "version_code": 123}
        }
    

Example JSON queried for one app:

        {
          "com.android.vending": {
            "version_name": "6.4.12.C-all [0] 2744941", // the version name
            "version_code": 80641200, // the version number
            "first_install_time": 1230796800000, // the time at which the app was first installed (millis since 1970)
            "last_update_time": 1461091018180, // the time at which the app was last updated (millis since 1970)
            "install_location": -1, // -1=auto?, 0=auto, 1=internal only, 2=prefer external
            "application_info": {
              "data_dir": "/data/user/0/com.android.vending", // full path to a directory assigned to the package for its persistent data
              "class_name": "com.google.android.finsky.FinskyApp", // class implementing the Application object
              "source_dir": "/data/app/com.android.vending-2/base.apk", // full path to the base APK for this application
              "label": "Google Play Store", // the label of the app (current locale)
              "uid": 10024, // the kernel user-ID that has been assigned to this application
              "icon_uri": "android.resource://com.android.vending/2130903045", // URI to load the icon of the app
              "target_sdk_version": 23, // the API level that the application targets
              "enabled": true // whether or not the Android system can instantiate components of the application
            },
            "requested_permissions": [
              {
                "permission": "android.permission.WRITE_EXTERNAL_STORAGE", // the name of the permission
                "requested_permission_flag": 3, // 1=requested, 3=requested & granted
                "label": "modify or delete the contents of your USB storage", // the label of the permission
                "description": "Allows the app to write to the USB storage.", // the description of the permission
                "protection_level": 1, // protection level as number
                "protection_level_text": "dangerous", // protection level expressed as text
                "group": "android.permission-group.STORAGE", // the group name of the permission
                "group_label": "Storage", // the permission group label
                "group_description": "access photos, media, and files on your device" // the permission group description
              }, ...
            ],
            "activity_info": [
              {
                "name": "com.android.vending.AssetBrowserActivity",
                "label": "Play Store",
                "icon_uri": "android.resource://com.android.vending/2130903045",
                "enabled": true, // whether the activity is enabled
                "exported": true // whether the activity can be used by other apps
                "permission": "com.google.android..." // permission required to access this activity (when defined)
              },
            ],
            "receiver_info": [
              {
                "name": "com.google.android.gcm.GCMBroadcastReceiver",
                "label": "Google Play Store",
                "enabled": true,
                "exported": true,
                "permission": "com.google.android.c2dm.permission.SEND"
              }, ...
            ],
            "provider_info": [
              {
                "name": "com.google.android.finsky.providers.RecentSuggestionsProvider",
                "label": "Google Play Store",
                "authority": "com.google.android.finsky.RecentSuggestionsProvider",
                "enabled": true,
                "exported": false
              }, ...
            ],
            "service_info": [
              {
                "name": "com.google.android.finsky.services.ReviewsService",
                "label": "Google Play Store",
                "enabled": true,
                "exported": true
              }, ...
            ]
          }, ...
        }
    

Please note that additional key value pairs might be added in future versions of Automagic.

Settings
Type
Whether to query information about all installed packages or only a few selected packages.
Package Names
The list of packages to query. Glob patterns (*, ?) are supported. Variables are supported.
Include permission infos
If information about permissions requested by the app should be queried.
Include activity infos
If information about activities defined by the app should be queried.
Include receiver infos
If information about receivers defined by the app should be queried.
Include provider infos
If information about content providers defined by the app should be queried.
Include service infos
If information about services defined by the app should be queried.
Variable
The name of the variable to store the result in.
A variable is a container for a value that can be used in many actions and conditions to dynamically define a part of a text.
See action Script for a description.

Supplied Variables
package_info
the map containing the queried information
Top

Init Variable Random Number

The action Init Variable Random Number generates a random number in a defined interval.

 

Examples:
  • Simulate to throw a dice.
  • Play a random sound for every received SMS.
Settings
Variable
The variable to store the random number in.
Lowest Value
The lowest generated value.
Highest Value
The highest generated value.
A variable is a container for a value that can be used in many actions and conditions to dynamically define a part of a text.
See action Script for a description.

Supplied Variables
n
contains the generated random value
Top

Init Variable System Setting

The action Init Variable System Setting reads a value from the system setting database and stores the value in a variable.

Settings
Category
  • System: for regular settings
  • Secure: for settings which can usually not be modified
  • Global: for global Settings valid for all users of the device (Android 4.2+)
Name
The name of the setting to read. Variables are supported.
Variable
The name of the variable to store the value in. Variables are supported.
A variable is a container for a value that can be used in many actions and conditions to dynamically define a part of a text.
See action Script for a description.

Supplied Variables
setting
the value of the setting
Top

Init Variable System Setting (Android Wear)

The action Init Variable System Setting (Android Wear) reads a value from the system setting database and stores the value in a variable.

Settings
Android Wear device
The target device. Variables are supported.
Category
  • System: for regular settings
  • Secure: for settings which can usually not be modified
  • Global: for global Settings valid for all users of the device (Android 4.2+)
Name
The name of the setting to read. Variables are supported.
Variable
The name of the variable to store the value in. Variables are supported.
A variable is a container for a value that can be used in many actions and conditions to dynamically define a part of a text.
See action Script for a description.

Supplied Variables
setting
the value of the setting
Top

Init Variable Text File

The action Init Variable Text File reads the contents of a text file into the specified variable. Files up to 1MB are supported. Binary files are not supported.

 

Examples:
  • Read a text file containing a mail template and send the text by mail.
Settings
File
The path of the file to load. Variables are supported.
Encoding
The encoding used to decode the bytes of the file to text.
Variable
The name of the variable to store the text in. Variables are supported.
A variable is a container for a value that can be used in many actions and conditions to dynamically define a part of a text.
See action Script for a description.

Supplied Variables
file_text
the name of the variable to store the text in
Top

Init Variable WiFi Access Point List

The action Init Variable WiFi Access Point List lists all configured or only enabled/disabled wifi networks into a variable.

 

Examples:
  • show a list of WiFI networks and allow to connect to the selected one
Settings
Access Point Criteria
Whether all configured networks should be listed or only the enabled or disabled networks.
Variable for SSID list
The name of the variable to hold the list.
A variable is a container for a value that can be used in many actions and conditions to dynamically define a part of a text.
See action Script for a description.

Supplied Variables
access_points
the SSID-list of wifi networks
Top

Init Variables Bluetooth Device List

The action Init Variables Bluetooth Device List lists all paired, connected or not connected bluetooth devices in a variable.

 

Examples:
  • show a dialog of all not connected bluetooth devices and attempt to connect to a selected device
Settings
Device Criteria
Whether to list all paired, connected or not connected devices.
Variable for device name list
The name of the variable to store the device names.
Variable for device address list
The name of the variable to store the device addresses.
A variable is a container for a value that can be used in many actions and conditions to dynamically define a part of a text.
See action Script for a description.

Supplied Variables
device_names
the device names as a list
device_addresses
the device addresses as a list
Top

Init Variables Call Log

The action Init Variables Call Log initializes variables with the values of the last entry of the call log.

 

Examples:
  • Update a widget with the values of the last call
Settings
Query Criteria
Specifies which call should be stored in the variables.
Variable for Call Number
The name of the variable to store the call number.
Variable for Call Date/Time
The name of the variable to store the point in time of the call.
Variable for Call Duration
The name of the variable to store the call duration.
Variable for Call Type
The name of the variable to store the call type (1=incoming, 2=outgoing, 3=missed).
Variable for Call Contact Name
The name of the variable to store the contact name.
Variable for Call New Flag
The name of the variable to store if the call log entry has not been marked acknowledged.
A variable is a container for a value that can be used in many actions and conditions to dynamically define a part of a text.
See action Script for a description.

Supplied Variables
call_number
the call number
call_time
the time of the call in millis since 1970
call_duration
the call duration in seconds
call_type
the call type (1=incoming, 2=outgoing, 3=missed)
call_cached_name
the name of the contact (might be outdated when the contact has been modified in the contacts afterwards)
call_new
true or false whether the entry in the call log has not been acknowledged yet
Top

Init Variables Contact Info

The action Init Variables Contact Info loads information of the specified contact and stores the information in a map.

Tip: Condition Debug Dialog can be used to display the keys and values stored in the map.

 

Examples:
  • Show all phone numbers of a contact

Example JSON of a contact:

        {
          "display_name": "Contact XYZ", // name of the contact
          "photo_thumb_uri": "content://com.android.contacts/contacts/124/photo", // URI of the small image
          "photo_uri": "content://com.android.contacts/display_photo/3", // URI of the larger image
          "last_time_contacted": 1479667934531, // point in time of the last contact, 0 when not known
          "starred": true, // whether the contact is in the favorites or not
          "times_contacted": 1, // count of contacts (according to contact app)
          "phone_list": [{ // list of phone numbers
            "number": "+41987654321",
            "type": 2,
            "type_label": "Mobile"
          }, ... ],
          "organization_list": [{ // list of organizations
            "company": "Company X",
            "type": 2,
            "type_label": "Other",
            "title": "Company"
          }, ... ],
          "note_list": [{ // list of notes
              "note": "Note 1"
            }, ... ],
          "nickname_list": [{ // list of nicknames
            "nickname": "MR. incredible",
            "type": 0,
            "type_label": "Other"
          }, ... ],
          "email_list": [{ // list of email addresses
            "email": "
 This email address is being protected from spambots. You need JavaScript enabled to view it.
 ",
            "type": 1,
            "type_label": "Home"
          }, ... ],
          "relation_list": [{ // list of relations
            "relation": "Person 123",
            "type": 1,
            "type_label": "Assistant
          }, ... ],
          "structured_postal_list": [{ // list of addresses
            "formatted_address": "Mainstreet X\n1234 City",
            "type": 1,
            "type_label": "Home",
            "street": "Mainstreet X",
            "city": "City",
            "postcode": "1234"
          }, ... ],
          "structured_name_list": [{ // list of the names
            "display_name": "Contact XYZ",
            "given_name": "Contact",
            "family_name": "XYZ"
          }, ... ],
          "website_list": [{ // list of websites
            "url": "www.automagic4android.com",
            "type": 7,
            "type_label": "Other"
          }, ... ],
          "sip_address_list": [{ // list of the SIP addresses
            "number": "+41987654321",
            "type": 2,
            "type_label": "Mobile"
          }, ... ],
          "event_list": [{ // list of events
            "start_date": "1978-07-04",
            "type": 3,
            "type_label": "Birthday"
          }, ...],
          "group_list": [ // list of the groups
            "Group1",
            "Group2",
            "Group3"
          ]
        }
    

Please note that additional key value pairs might be added in future versions of Automagic.


Examples of access to values in action Script:

        name = contact_info["display_name"];
        photo_uri = contact_info["photo_uri"];
        phone1 = contact_info["phone_list"][0]["number"];
        phone2 = contact_info["phone_list"][1]["number"];
        phone2type = contact_info["phone_list"][1]["type_label"];
        nickname1 = contact_info["nickname_list"][0]["nickname"];
    
Settings
Search type
Defines how the contact should be searched. The first found contact is used to provide the information.
Search value
The value used to search the contact. Variables are supported.
A variable is a container for a value that can be used in many actions and conditions to dynamically define a part of a text.
See action Script for a description.

Supplied Variables
contact_info
the map containing the queried information
Top

Init Variables Device Orientation

The action Init Variables Device Orientation measures the device orientation using the accelerometer and magnetometer sensors of the device.

Warning: This action uses the device hardware sensors and might increase battery usage (depending on device model). Some devices turn off the sensors when the screen is off.

 

Examples:
  • Show your current orientation value in a popup.
  • Select the task to record by changing the device orientation.
Settings
Variable for Azimuth
The name of the variable to store the azimuth of the device (in degrees).
Variable for Pitch
The name of the variable to store the pitch of the device (in degrees).
Variable for Roll
The name of the variable to store the roll of the device (in degrees).
Timeout
The amount of time to wait for a value of the sensor, the action is terminated with an error when no value becomes available.
A variable is a container for a value that can be used in many actions and conditions to dynamically define a part of a text.
See action Script for a description.

Supplied Variables
azimuth
the azimuth in degrees
pitch
the pitch in degrees
roll
the roll in degrees
Top

Init Variables File Info

The action Init Variables File Info provides information about a file as variables to the flow.

 

Examples:
  • Check if a file is older than one week and delete the file.
Settings
File
The file to check. Variables are supported.
File Type
The variable to store the file type (dir, file or other).
File Exists
Variable to store whether the file exist or not.
File Size
Variable to store the size of the file in bytes.
recursive for directory
For directories whether to collect the size of all directly contained files or to also recursively traverse and sum the size of all subdirectories.
File Last Modified
Variable to store the last modification timestamp.
A variable is a container for a value that can be used in many actions and conditions to dynamically define a part of a text.
See action Script for a description.

Supplied Variables
file_type
the type of the file (dir, file or other)
file_exists
if the file exist or not (true or false)
file_size
size of the file in bytes (or the sum of the files in directory)
file_last_modified
timestamp of the last modification
Top

Init Variables Gleeo Project Structure

The action Init Variables Gleeo Project Structure initializes a variable with the domains, projects or tasks from Gleeo Time Tracker.

 

Examples:
  • Load all Tasks of a project to show a selection list in Automagic.
Settings
Type
Whether to query the domains, projects or tasks.
Variable for Domains
The name of the variable for the domains. Variables are supported.
Variable for Projects
The name of the variable for the projects. Variables are supported.
All or Domain specific
Whether to query all projects or just the projects of one particular domain. Variables are supported.
Domain
The name of the domain to query. Variables are supported.
Variable for Tasks
The name of the variable for the tasks. Variables are supported.
All or Project specific
Whether to query all tasks or just the tasks of one particular project. Variables are supported.
Project
The name of the project to query. Variables are supported.
A variable is a container for a value that can be used in many actions and conditions to dynamically define a part of a text.
See action Script for a description.

Supplied Variables
domains
the list of domains
projects
the list of projects
tasks
the list of tasks
Top

Init Variables Gleeo Recording

The action Init Variables Gleeo Recording checks if a task is recording in Gleeo Time Tracker and stores the recording project and task in variables.

 

Examples:
  • Store the recording task when someone calls and start recording the same task again when the call ends.
  • Don't use a funny alert sound when you are working for a special project.
Settings
Variable for Recording Boolean
The name of the variable to store the boolean whether Gleeo Time Tracker is currently recording.
Variable for Recording Domain Title
The name of the variable to store the domain Gleeo Time Tracker is currently recording.
Variable for Recording Project Name
The name of the variable to store the project Gleeo Time Tracker is currently recording.
Variable for Recording Task Name
The name of the variable to store the task Gleeo Time Tracker is currently recording.
Variable for Recording Start Time
The name of the variable to store the start time of the currently recording task.
A variable is a container for a value that can be used in many actions and conditions to dynamically define a part of a text.
See action Script for a description.

Supplied Variables
recording
the recording boolean
recording_domain_name
the domain name
recording_project_title
the project name
recording_task_name
the task name
recording_start
the start time of the currently recording task
Top

Init Variables Media Metadata

The action Init Variables Media Metadata loads the metadata of a media file into local variables (see variables section below).

 

Examples:
  • Load the title of an mp3 and show the title in a notification
Settings
File
The path or URL to the media file. Variables are supported.
A variable is a container for a value that can be used in many actions and conditions to dynamically define a part of a text.
See action Script for a description.

Supplied Variables
media_cd_track_number
the order of the audio data source on its original recording or null
media_album
the album title or null
media_artist
the artist or null
media_author
the author or null
media_composer
the composer or null
media_date
the date when the data source was created or modified or null
media_genre
the content type or genre or null
media_title
the title or null
media_year
the year when the data source was created or modified or null
media_duration
the playback duration in milliseconds or null
media_num_tracks
the number of tracks or null
media_writer
the writer (such as lyricist) or null
media_mimetype
the mime type or null
media_albumartist
the performers/artist or null
media_disc_number
the disc number or null
media_compilation
the music album compilation or null
media_has_audio
true if the media contains audio content
media_has_video (Android 4+)
true if the media contains video content
media_video_width (Android 4+)
the width of the video or null
media_video_height (Android 4+)
the height of the video or null
media_bitrate (Android 4+)
the bitrate of the media (in bits/sec) or null
media_location (Android 4.0.3+)
the location or null
media_video_rotation (Android 4.2+)
the video rotation angle in degrees or null
media_album_art
the album art or null
Top

Init Variables Media Session (Experimental)

The action Init Variables Media Session (Experimental) fills the information of the media session of the specified media player into variables.

 

Examples:
  • Check if Google Play Music is playing a track.
Settings
Package Names
The name of the media player to check. Glob patterns (*, ?) are supported. Variables are supported.
A variable is a container for a value that can be used in many actions and conditions to dynamically define a part of a text.
See action Script for a description.

Supplied Variables
playback_state
current state (0=none, 1=stopped, 2=paused, 3=playing, 4=fast forwarding, 5=rewinding, 6=buffering, 7=error, 8=connecting, 9=skip to previous, 10=skip to next, 11=skip to item in queue)
playback_position
current position in ms
title
the title
subtitle
the subtitle
description
the description
icon
the current image
icon_uri
the URI to load the image
media_duration
duration of the track in ms
Top

Init Variables Network Statistics

The action Init Variables Network Statistics queries the transferred amount of data of the specified network interfaces.
The network statistics are recorded by the operating system itself and is stored in blocks of two hours (device dependent). Queries that don't fall on such a two hour limit, will be interpolated (device dependent) so results might not be accurate especially for short time intervals.
The data of the network statistics is stored for each UID (user identification) of the executed process. Many apps/packages of the system are aggregated under UID 1000 and can not be differentiated further. The package selection shows the UID in brackets.
Data not available to the network statistics of the device can not be considered by this action (e.g. when a device is factory reset).

 

Examples:
  • Periodically check the amount of data transferred by a specific app and show a warning when 100 MB are exceeded.
Settings
Network interface
Whether to return mobile and/or WiFi statistics data.
Date range
The date range to query.
Cycle start day
The day of month when the bill cycle starts. Variables are supported.
From
A script whose last statement must evaluate to a date (milliseconds since 1970) to use as the start time of the event.
To
A script whose last statement must evaluate to a date (milliseconds since 1970) to use as the end time of the event.
Type
Whether to query information about all installed packages or only a few selected packages (based on UID).
Package Names for UIDs
The list of packages to query to determine the UIDs. Glob patterns (*, ?) are supported. Variables are supported.
State
Whether to return foreground and/or background data.
Variable for transmitted bytes
The name of the variable to store the transmitted bytes.
Variable for received bytes
The name of the variable to store the received bytes.
Variable for total bytes
The name of the variable to store the total transferred bytes.
A variable is a container for a value that can be used in many actions and conditions to dynamically define a part of a text.
See action Script for a description.

Supplied Variables
transmitted_bytes
the transmitted data in bytes
received_bytes
the received data in bytes
total_bytes
the total transferred data in bytes
Top

Init Variables Network Traffic

The action Init Variables Network Traffic initializes variables with the transmitted and received bytes since device boot of the system or a specific user ID that runs a given app.

Note: Some devices do not collect user/app specific values. This is also a known problem of Android 4.3.

 

Examples:
  • Store the number of transferred data for each day in a log file
Settings
Traffic
Whether the overall transferred data of the system should be stored or the transferred data transmitted by a particular app (respectively user ID).
Variable for total transmitted bytes
The name of the variable to store the sent bytes since device boot.
Variable for total received bytes
The name of the variable to store the received bytes since device boot.
Variable for mobile transmitted bytes
The name of the variable to store the sent bytes since device boot on the mobile interfaces.
Variable for mobile received bytes
The name of the variable to store the received bytes since device boot on the mobile interfaces.
Package Name
The name of the package to check (respectively the user that runs the app). Variables are supported.
Variable for transmitted bytes
The name of the variable to store the sent bytes of the user ID running the specified app since device boot.
Variable for received bytes
The name of the variable to store the received bytes of the user ID running the specified app since device boot.
A variable is a container for a value that can be used in many actions and conditions to dynamically define a part of a text.
See action Script for a description.

Supplied Variables
total_transmitted_bytes
number of sent bytes or -1 when the device does not support this statistic
total_received_bytes
number of received bytes or -1 when the device does not support this statistic
mobile_transmitted_bytes
number of sent bytes over the mobile interfaces or -1 when the device does not support this statistic
mobile_received_bytes
number of received bytes over the mobile interfaces or -1 when the device does not support this statistic
uid_transmitted_bytes
number of sent bytes of the user ID or -1 when the device does not support this statistic
uid_received_bytes
number of received bytes of the user ID or -1 when the device does not support this statistic
Top

Init Variables Phone Info

The action Init Variables Phone Info initializes the desired variables (not all values are available on all devices).

 

Examples:
  • Check the network operator once an hour
Settings
SIM
The SIM card.
Variable Device ID (e.g. IMEI/MEID/ESN)
The name of the variable.
Variable Software Version (e.g. IMEI/SV)
The name of the variable.
Variable Line 1 Number (e.g. MSISDN)
The name of the variable.
Variable Network Country ISO
The name of the variable.
Variable Network Operator (e.g. MCC+MNC)
The name of the variable.
Variable Network Operator Name
The name of the variable.
Variable Phone Type
The name of the variable.
Variable SIM State
The name of the variable.
Variable SIM Country ISO
The name of the variable.
Variable SIM Operator
The name of the variable.
Variable SIM Operator Name
The name of the variable.
Variable SIM Serial Number
The name of the variable.
Variable Subscriber ID (e.g. IMSI)
The name of the variable.
Variable Voice Mail Alpha Tag
The name of the variable.
Variable Voice Mail Number
The name of the variable.
A variable is a container for a value that can be used in many actions and conditions to dynamically define a part of a text.
See action Script for a description.

Supplied Variables
device_id
the device ID (e.g. IMEI/MEID/ESN), null when unavailable
device_software_version
the software version (e.g. IMEI/SV), null when unavailable
line1_number
the phone number string for line 1 (e.g. MSISDN), null when unavailable
network_country_iso
the ISO country code (only when registered to a network, unreliable on CDMA)
network_operator
numeric network operator name MCC+MNC (only when registered to a network, unreliable on CDMA)
network_operator_name
network operator name (only when registered to a network, unreliable on CDMA)
phone_type
type of the phone (0=no, 1=GSM, 2=CDMA, 3=SIP)
sim_state
State of the SIM (0=unknown, 1=absent, 2=PIN required, 3=PUK required, 4=network locked, 5=ready)
sim_country_iso
SIM ISO country code
sim_operator
SIM MCC+MNC (only available when SIM in state ready)
sim_operator_name
service provider name SPN (only available when SIM in state ready)
sim_serial_number
serial number of the SIM, null when unavailable
subscriber_id
the subscriber ID (e.g. IMSI), null when unavailable
voice_mail_alpha_tag
the alphabetic identifier associated with the voice mail number
voice_mail_number
the voice mail number, null when unavailable
Top

Input Dialog

The action Input Dialog shows an input dialog with an input text field, password field, single- or multi-selection list.

 

Examples:
  • Ask the user whether he wants to turn WiFi off or not
  • Ask for the password to use for an FTP upload
  • Ask whether airplane mode should be activated in the evening. Activate airplane mode when the user does not respond within 30 seconds.
Settings
Input Dialog Type
The type of the input dialog to show.

Can be one of:
  • Text for plain text input
  • Password for a password input
  • Number to type number characters
  • Phone number to type characters used in phone numbers
  • Date to show a date picker
  • Time to show a time picker
  • Date & Time to show a dialog with a date & time picker
  • Single Choice Menu for a list of values like a menu without OK, Cancel buttons
  • Multi Choice for a list of values the user can choose multiple values from
Title
The title of the input dialog. Variables are supported.
Prompt (only applicable to Text and Password)
The question or input description to show in the input dialog. Variables are supported.
List Values (only applicable to Single Choice and Multi Choice)
A comma separated list of values to show as values the user can choose from. Variables are supported.
Default Value
The default value provided when the user does not change the input value. This value is also provided when the user cancels the dialog or hits the back key. Variables are supported.
Whether the user has cancelled the dialog can be evaluated using the variable operation (see below).

The default value for date/time input types must be formatted as specified below:
  • Date: Pattern yyyy-MM-dd for example 2014-01-25 or when using a variable {variable,dateformat,yyyy-MM-dd}
  • Time: Pattern HH:mm (24-hour format) for example 14:20 or when using a variable {variable,dateformat,HH:mm}
  • Date & Time: Pattern yyyy-MM-dd HH:mm (time in 24-hour format) for example 2014-01-25 14:20 or when using a variable {variable,dateformat,yyyy-MM-dd HH:mm}
Values not formatted according to the rules above are ignored.
Font size
The size of the font used to enter text values.
Activate Timeout
Whether an automatic timeout should provide a value to the flow when the user does not react within the specified time.
Duration
The amount of time to automatically close the dialog and to continue the flow.
Value on Timeout
The value to provide to the flow when a timeout occurred. Variables are supported.
Options
  • Show when locked: show the input dialog even when the device is locked
  • Turn screen on: Turn the screen on when the dialog is shown initially
  • Keep screen on: Keep the screen on as long as the dialog is shown (power button still allows turn off the screen)
  • Enlarge dialog width: Enlarge the width of the dialog to cover almost the entire screen
A variable is a container for a value that can be used in many actions and conditions to dynamically define a part of a text.
See action Script for a description.

Supplied Variables
operation
the operation used to close the dialog.

Can be one of:
  • ok when the user pressed the OK button
  • cancel when the user pressed the cancel button or the back key
  • timeout when the dialog was closed by a timeout
value
the selected value in the dialog or the list of values in case of Multi Choice or a date when the input dialog type was of type date/time
index
the index of the selected value of a Single Choice list or -1 when not definable
indices
the indices of the selected values of a Multi Choice list or -1 for every not definable value
Top

Input Speech (Android Wear)

The action Input Speech (Android Wear) starts the speech recognition of the device and provides the recognized text to the flow in variable value. The speech recognition engine usually requires network access.

 

Examples:
  • Control Automagic using spoken commands.
Settings
Android Wear device
The target device. Variables are supported.
UI Mode
Whether user interface should be shown or the speech recognition should be executed in the background.
Prompt
An optional title to show in the user interface. This setting might be ignored by the engine. Variables are supported.
Language
Optional the desired language to use in the speech recognition engine. This setting might be ignored by the engine. Variables are supported.
A variable is a container for a value that can be used in many actions and conditions to dynamically define a part of a text.
See action Script for a description.

Supplied Variables
value
the recognized text
operation
whether the recognition was successful (ok) or not (cancel)
Top

Input Speech (Experimental)

The action Input Speech (Experimental) starts the speech recognition of the device and provides the recognized text to the flow in variable value. The speech recognition engine usually requires network access.

 

Examples:
  • Control Automagic using spoken commands.
Settings
UI Mode
Whether user interface should be shown or the speech recognition should be executed in the background.
Prompt
An optional title to show in the user interface. This setting might be ignored by the engine. Variables are supported.
Language
Optional the desired language to use in the speech recognition engine. This setting might be ignored by the engine. Variables are supported.
Use Bluetooth headset (Android 3+)
Whether or not a Bluetooth headset is used.
A variable is a container for a value that can be used in many actions and conditions to dynamically define a part of a text.
See action Script for a description.

Supplied Variables
value
the recognized text
operation
whether the recognition was successful (ok) or not (cancel)
Top

Kill App

The action Kill App kills the processes of an app running in the background.

Warning: The operating system does not allow to kill an app currently running in the foreground.

 

Examples:
  • Kill the browser app when another app is started to reclaim memory.
Settings
Package Name
The name of the package to kill. Variables are supported.
Top

Kill App Process

The action Kill App Process sends the defined signal to the process using the kill command.

Warning: This function requires root access, is not officially supported by Android and might not work on all devices.

 

Examples:
  • Kill the browser app when another app is started to reclaim memory.
Settings
Package Name
The name of the package to kill. Variables are supported.
Signal
The signal to send.
A variable is a container for a value that can be used in many actions and conditions to dynamically define a part of a text.
See action Script for a description.

Supplied Variables
pid
the id of the process
importance
the importance of the process. The smaller the value the higher the importance.
lru
least recently used. Smaller value means more recently used.
uid
the user id of the process
Top

Launch App

The action Launch App starts an app or a specific activity of an app.

Tip: Some activities require special permissions to be launched. Check the log after testing the action when an activity fails to start.

 

Examples:
  • Start the development settings directly using a shortcut.
  • Start the shopping list app when you are near the shopping mall
Settings
Package Name
The name of the package to launch. Variables are supported.
Class Name
The specific activity to launch.
Leave empty to launch the default activity of a package. Variables are supported.
Top

Launch Shortcut

The action Launch Shortcut starts a previously defined shortcut.

A new shortcut can either be built with button Build Shortcut or you can let Automagic capture the shortcut by leaving the action configuration open and by creating the shortcut in the other app. Automagic will show a notification on screen Shortcut captured by Automagic when the shortcut was properly detected by Automagic. Note that not all apps support both ways to create a shortcut.

 

Examples:
  • Open a specific settings page
  • Play an audio playlist
  • Directly display a contact
Top

Lock Device

The action Lock Device immediately locks the device.

Note: The device admin functions have to be enabled in the preferences to use this action.

 

Examples:
  • Lock the device when an SMS contains device lost!
Top

Mail with Gmail

The action Mail with Gmail sends a mail using your Gmail account.

Note: If you have enabled 2-step verification in your Google account then you need to create an application specific password for login in the settings of your google account: https://www.google.com/settings/security

 

Examples:
  • Forward every SMS as a mail to your inbox.
  • Send your location every 30 minutes to your girlfriend.
  • Send the new Gleeo Time Tracker backups to your inbox.
Settings
Authentication
Whether to use an account available on the device (OAuth) or to enter an account name and password.
Mail Account
The account name to use like This email address is being protected from spambots. You need JavaScript enabled to view it. . Variables are supported.
Password
The password to your mail account. Variables are supported.

Info: The password is stored encrypted on the internal device storage and is not part of the regular flows.xml file.
To
The mail address of the recipient. Variables are supported.
Subject
The subject of the mail. Variables are supported.
Body
The message body of the mail. Variables are supported.
Files to Attach
The comma separated list of files to attach. Variables are supported.

Tip: Files stored in a list by action Init Variable File List can be formatted using {files,listformat,comma} to a comma separated list.
Top

Map Values

The action Map Values takes an input value (the key) and maps it to an output value.

 

Examples:
  • Scan the barcode on the laboratory door and map the value to a project/task to start the time tracker.
Settings
Input Value
The input value to map to another value. Variables are supported.

Examples:
  • {barcode_text} to map a barcode
  • {incoming_number} to map the number of an incoming call
Mapping Definition
The definition used to specify how the values should be mapped to the target values. Variables are supported.

Mapping example:
key1=>value1
key2=>value2

The part before the assignment operator (=>) is used to specify the key values to match. A comma separated list can be used to specify multiple keys for one target value. Glob pattern characters * and ? can also be used to match multiple values.
The part after the assignment operator (=>) defines the target value to use as the map value.
The mapping rules are evaluated line by line from top to bottom. The first matching rule is applied.

Multi key mapping example:
key1=>value1
key2,key3,key4=>value2


Glob pattern mapping example:
key1=>value1
key?=>value2
key*=>value3

In the above example, the value key1 would be mapped to value1 because it is the first line matching the input value.
The values key2 to key9 would be matched by the second rule.
The value key123 would be matched by the third rule.

When no rule matches the output value is set to null.


If you want to map a few known bar codes to meaningful task names but also want to use the plain barcode when no mapping rule matches, you can use the following approach (the input value would be set to {barcode_text} in this example):

Mapping definition:
123321123=>Meeting
989878945=>Office
*=>{barcode_text}

The third rule matches all unknown bar code values and maps the value to the original value. You can also use a condition Expression to detect not mappable values.

The last twenty not mappable values detected while executing the action will be remembered in a list and can be added by using the button Add unmapped values...
Output Variable
The name of the variable to store the result in (usually without curly braces except when you want to create dynamically named variables). Variables are supported.
A variable is a container for a value that can be used in many actions and conditions to dynamically define a part of a text.
See action Script for a description.

Supplied Variables
mapped_value
the target value
Top

Message Dialog

The action Message Dialog shows a dialog with a message and an optional title.

 

Examples:
  • Show the text of an incoming SMS directly in a dialog.
Settings
Title
The optional title of the dialog. Variables are supported.
Message
The message to show in the dialog. Variables are supported.
Button Label
The label of the button. The button is not shown when the text is empty. Variables are supported.
Activate Timeout
Whether an automatic timeout should automatically hide after the specified time.
Duration
The amount of time to automatically close the dialog and to continue the flow.
Top

Modify Automagic Notification on Statusbar

The action Modify Automagic Notification on Statusbar modifies the permanent notification usually shown by Automagic for technical reasons. The appearance of a modified notification is reset to the default when one of the settings in Automagic pertaining to the notification is changed.

 

Examples:
  • Show a different icon when a particular flow is running.
Settings
Icon
The icon to use for this notification.

Custom icons are supported starting with Android 6.
Note: Android will usually show all non-transparent parts as white so it's recommended to create custom PNG images with a transparent background and a white color to paint the contents.
Note: Option 'Custom icon' can lead to crashes on some devices with Android 6.0.
Title
The title of the notification. Variables are supported.
Message
The message of the notification. Variables are supported.
Accent color
The color used by the device for in the notification (usually the background color of the icon in the expanded statusbar).
Category (Android 5+, Premium)
The category of the notification. The category defines if a notification is allowed to pass the interruptions filter.
Priority (Android 4.1+, Premium)
Defines the priority of the notification. A notification with a low priority might be displayed in the expanded statusbar only (depends on Android version).
Visibility (Android 5+, Premium)
Whether notifications are secret, private or public which defines whether the notifications are displayed on the lock screen or not. The Lock screen must also be configured appropriately.
Big Message (Android 4.1+, Premium)
Defines a big message that will be displayed when the notification is expanded (by swiping down on the notification). The notification usually also shows the big message when the notification is displayed as the topmost notification on the notification drawer. You can affect the ordering of the notifications by using the priority setting. Variables are supported.
Show progressbar
Defines whether a progressbar should be shown in the notification.
Indeterminate progress
Whether the progress should be indeterminate.
Progressbar value / Max value
The current value of the progress and the maximum value (100%). Variables are supported.
Large Icon (Android 3+, Premium)
Defines whether a large icon should be displayed in the notification. Variables are supported.
Group (Android 7+, Premium)
Defines the group of this notification. Variables are supported.
Group summary (Android 7+, Premium)
Defines whether this notification is the group summary for this group. Variables are supported.
Actions (Android 4.1+, Premium)
Up to three actions displayed as buttons when the notification is expanded (by swiping down on the notification). The notification usually also shows the action buttons when the notification is displayed as the topmost notification on the notification drawer. You can affect the ordering of the notifications by using the priority setting.

Tip: Use action Execute Flows to execute a complex flow consisting of multiple actions and conditions.

Following variables are supplied to the executed action:
  • action_number: contains the number of the action (1, 2 or 3)
  • action_text: the text label of the selected action button on the notification
Top

Modify Call Log

The action Modify Call Log marks the entries of the call log as acknowledged or clears the call log.

 

Examples:
  • Delete the call log every Monday morning.
Settings
Operation
if the entries should be marked as acknowledged or if the call log should be cleared.
Numbers
The list of callnumbers to delete. Multiple numbers can be separated by comma.
Glob patterns (*, ?) can be used to filter on similar numbers like corporate number ranges:

Examples:
  • +17001111111
  • +17001111111,+17002222222
  • *70033311*
  • *70033311*,*70033?22*
Special characters like +, - and . are removed before comparing the number.
Top

Modify Image

The action Modify Image can be used to modify an image that was previously loaded with an action Init Variable Image File.

 

Examples:
  • Load an image, shrink the size and send the smaller file by mail.
Settings
Variable
The name of the variable holding the pixel data of the image. Variables are supported.
Operation
The type of modification to apply to the image:
  • Scale: change the size of the image either respecting the aspect ratio or by distorting the image
  • Rotate: rotates the image by 90° or 180°
  • Mirror: mirrors the image horizontally or vertically
  • Crop & Scale: extracts the largest possible area from the center of the image by respecting the aspect ratio of the original image and scales to the desired size
  • Crop to Selection: crops the image to the defined area
Width (Scale)
The new width of the image. The width is adjusted proportionally, when only the new height is specified. Variables are supported.
Height (Scale)
The new height of the image. The height is adjusted proportionally, when only the new width is specified. Variables are supported.
Rotate
How the image should be rotated.
Mirror
If the image should be mirrored horizontally or vertically.
Width (Crop & Scale)
The new width of the image. Variables are supported.
Height (Crop & Scale)
The new height of the image. Variables are supported.
X, Y (Crop to Selection)
The X and Y position of the selection. Variables are supported.
Width, Height (Crop to Selection)
The width and height of the selection. Variables are supported.
A variable is a container for a value that can be used in many actions and conditions to dynamically define a part of a text.
See action Script for a description.

Supplied Variables
image_data
the local variable of the image
image_width
the width of the image after the modification
image_height
the height of the image after the modification
Top

Move Files

The action Move Files locally moves one or a list of files to the specified target directory or file.
A move is implemented to use a rename operation when possible. If a rename is not possible, the file/folder is copied to the target directory and afterwards the source is deleted.

 

Examples:
  • Move all files in directory /mnt/sdcard/xyz/ to the folder /mnt/sdcard/xyz_backup/
  • Rename directory /mnt/sdcard/xyz to /mnt/sdcard/xyz_backup
Settings
Source Files
A comma separated list of files or directories to move. Glob patterns can be used to match multiple files. Variables are supported.
Examples:
  • /mnt/sdcard/export* matches all files with a name starting with export in folder /mnt/sdcard
When multiple files are matched the target has to be a directory. The directory will be created when it does not exist yet.
A directory with an ending slash (like /mnt/sdcard/) matches the files contained in the directory like using /mnt/sdcard/*.
Target
The absolute path of the target file or directory. Variables are supported.
Show progress notification
Whether or not to show a notification on the statusbar indicating the progress of the operation.
Top

Notification on Screen

The action Notification on Screen shows a notification on the screen for a short period of time.

 

Examples:
  • Show a notification when a background flow sends your location by mail.
  • Show a notification with the text of a received SMS.
Settings
Type
Whether a simple text or a custom widget should be shown in the notification.
Text
The text to show. Variables are supported.
Widget
The name of the widget to display. Variables are supported.
Width/Height
The size of the overlay. Variables are supported.
Opacity
The transparency respectively opacity of the widget.
Stretch widget
Whether the widget should be stretched to fill the entire area of the overlay.
Duration
Whether to show the duration for a short duration (about 2 seconds) or longer (about 4 seconds).
Custom position
Whether the notification should be show at the default location or at a custom defined position.
Gravity
The position to align the notification on the screen.
X/Y-Offset
The offset of the notification relative to the gravity. Variables are supported.
Top

Notification on Screen (Android Wear)

The action Notification on Screen (Android Wear) shows a notification on the screen for a short period of time.

 

Examples:
  • Show a notification when a background flow sends your location by mail.
  • Show a notification with the text of a received SMS.
Settings
Android Wear device
The target device. Variables are supported.
Type
Whether a simple text or a custom widget should be shown in the notification.
Text
The text to show. Variables are supported.
Widget
The name of the widget to display. Variables are supported.
Width/Height
The size of the overlay. Variables are supported.
Opacity
The transparency respectively opacity of the widget.
Stretch widget
Whether the widget should be stretched to fill the entire area of the overlay.
Duration
Whether to show the duration for a short duration (about 2 seconds) or longer (about 4 seconds).
Custom position
Whether the notification should be show at the default location or at a custom defined position.
Gravity
The position to align the notification on the screen.
X/Y-Offset
The offset of the notification relative to the gravity. Variables are supported.
Top

Notification on Statusbar

The action Notification on Statusbar shows a notification on the status bar. The notification is displayed until the notification is clicked or clear is pressed.

 

Examples:
  • Show a notification when a background flow sends your location by mail.
Settings
Icon
The icon to use for this notification.

Custom icons are supported starting with Android 6.
Note: Android will usually show all non-transparent parts as white so it's recommended to create custom PNG images with a transparent background and a white color to paint the contents.
Note: Option 'Custom icon' can lead to crashes on some devices with Android 6.0.
Title
The title of the notification. Variables are supported.
Message
The message of the notification. Variables are supported.
Play Sound
Plays the default notification sound when checked.
Vibrate
Vibrates when checked.
Flash LED
Flash the notification LED using the supplied color and blink rate. Notification LED and user defined colors are not supported on all devices.
Local only (Premium)
Whether it's recommended to show this notification only on the main device but not on paired devices like an Android Wear watch.
Accent color
The color used by the device for in the notification (usually the background color of the icon in the expanded statusbar).
Ongoing (Premium)
Flags this notification as an ongoing event and prevents the removal of this notification from the statusbar. A notification ID is mandatory when this option is selected.
Keep on Clear (Premium)
Prevents the removal of this notification from the statusbar. A notification ID is mandatory when this option is selected.
Notification ID (Premium)
Defines the ID (a number from 1 to 999) to use as the identification of this notification. Variables are supported.
This is useful when the notification is used for trigger Notification on Statusbar Selected or when the notification is used to show a profile like status.
A notification with the same ID replaces an older notification of the same ID. The notification can be removed from the statusbar using the action Remove Notification on Statusbar.

The button Remove, X can be used to remove a notification with this ID on the statusbar.
Category (Android 5+, Premium)
The category of the notification. The category defines if a notification is allowed to pass the interruptions filter.
Priority (Android 4.1+, Premium)
Defines the priority of the notification. A notification with a low priority might be displayed in the expanded statusbar only (depends on Android version).
Visibility (Android 5+, Premium)
Whether notifications are secret, private or public which defines whether the notifications are displayed on the lock screen or not. The Lock screen must also be configured appropriately.
Big Message (Android 4.1+, Premium)
Defines a big message that will be displayed when the notification is expanded (by swiping down on the notification). The notification usually also shows the big message when the notification is displayed as the topmost notification on the notification drawer. You can affect the ordering of the notifications by using the priority setting. Variables are supported.
Show progressbar
Defines whether a progressbar should be shown in the notification.
Indeterminate progress
Whether the progress should be indeterminate.
Progressbar value / Max value
The current value of the progress and the maximum value (100%). Variables are supported.
Large Icon (Android 3+, Premium)
Defines whether a large icon should be displayed in the notification. Variables are supported.
Group (Android 7+, Premium)
Defines the group of this notification. Variables are supported.
Group summary (Android 7+, Premium)
Defines whether this notification is the group summary for this group. Variables are supported.
Actions (Android 4.1+, Premium)
Up to three actions displayed as buttons when the notification is expanded (by swiping down on the notification). The notification usually also shows the action buttons when the notification is displayed as the topmost notification on the notification drawer. You can affect the ordering of the notifications by using the priority setting.

Tip: Use action Execute Flows to execute a complex flow consisting of multiple actions and conditions.

Following variables are supplied to the executed action:
  • action_number: contains the number of the action (1, 2 or 3)
  • action_text: the text label of the selected action button on the notification
Actions for Android Wear (Android 4.1+, Premium)
Up to three actions to show on an Android Wear device. When such an action is defined, the other actions are usually not displayed anymore on the Android Wear device.
Tip: Use action Execute Flows to execute a complex flow consisting of multiple actions and conditions.

Following variables are supplied to the executed action:
  • action_number: contains the number of the action (1, 2 or 3)
  • action_text: the text label of the selected action button on the notification
  • input_value: the selected input value or the recognized text of the speech input
Top

Open URL in Browser

The action Open URL in Browser opens the browser with the specified URL.

Tip: The browser can also be used to download a file by using a URL pointing to a PDF or other downloadable file.

 

Examples:
  • Open a news page every morning.
  • Download a PDF every morning at 5am.
Settings
URL
The url to open. Variables are supported.

Tip: You can use a variable to open an URL that changes dynamically by date.

http://test.com/newspaper_{triggertime,dateformat,yyyyMMdd}.pdf

will be replaced to

http://test.com/newspaper_20120123.pdf
Use defined app
Whether to use a defined app to open the URL or to let the system choose the most appropriate app.
Package Name
The app to open the URL. Variables are supported.
Class Name
The component inside the app to open the URL with. Variables are supported.
Top

Perform Action on Notification on Statusbar

The action Perform Action on Notification on Statusbar clicks the notification or one of the action buttons which are usually available in the big, expanded notification on Android 4.1+.
The flow must be executed by a trigger Notification on Statusbar Displayed or the action after a condition Notification on Statusbar Displayed otherwise Automagic has no possibility to access the notification.

Warning: Android 4.1+ is required. This function is not officially supported by Android and might not work on all devices.

 

Examples:
  • Automatically archive a mail when the mail contains a specific text.
Settings
Action Type
Whether to perform a click on the notification or to perform a klick on a button of the notification or to execute an action of a wearable.
Button
The label of the button to click. The label needs to match the entered text exactly. Variables are supported.
Wearable Action
The name of the wearable action. Variables are supported.
Input
The text to pass to the wearable action (only takes effect when the action allows text input). Variables are supported.
Top

Plugin (Experimental)

The action Plugin (Experimental) executes the action defined in a plugin. Most plugins don't offer a way to let Automagic wait for the plugin to finish. You can use an action Sleep to wait a short amount of time.

Warning: This function is experimental and might not work with all existing plugins available in Google Play. We can not provide support for plugins.

Note: Plugins can be defined using the interface description available from the app Locale: Locale developer documentation and Tasker: Tasker plugin extensions.

Settings
Plugin
List of all available plugins found on the device.
replace variables/modify configuration
Script to dynamically replace variables and to modify the configuration passed to the plugin.
Synchronous with Timeout
Whether the plugin should be invoked synchronously and Automagic should wait for the plugin to return a result or not.
Only a few new plugins support this mechanism, this mechanism should usually not be used when the plugin does not request to be executed this way. This option will automatically be enabled when the plugin is configured and the plugin supports synchronous execution.
A variable is a container for a value that can be used in many actions and conditions to dynamically define a part of a text.
See action Script for a description.

Supplied Variables
Tasker variables
takes over the local Tasker variables returned by the plugin (without leading %-character)
Top

Post Tweet

The action Post Tweet posts a regular Twitter message.

 

Examples:
  • Tweet your location every hour.
Settings
Twitter Account
The Twitter account used to send the message.
Message
The message to send. Variables are supported.
Image files
The images to attach to the tweet. Variables are supported.
Top

Post Twitter Direct Message

The action Post Twitter Direct Message posts a Twitter direct message to one recipient.

 

Examples:
  • Tweet your location every hour to your wife.
Settings
Twitter Account
The Twitter account used to send the message.
To
The recipient of the direct message (without leading @). Variables are supported.
Message
The message to send. Variables are supported.
Top

Query Content Provider

The action Query Content Provider allows to load data from a content provider of another app. A content provider presents data to Automagic as one or more tables that are similar to the tables found in a relational database.

Warning: This function allows to access data that's not officially made available by Android which might not be available on all device models and Android Version.

 

Settings
Content URI
The URI of the content provider data. Variables are supported.
Projection
The list of tables to return. Variables are supported.
Selection
A filter declaring which rows to return, formatted like an SQL WHERE clause (excluding the WHERE itself). The selection can include ?-characters that will be replaced by the values provided in the Selection Arguments from the content provider. Variables are supported.
Selection Arguments
The values to use in the selection for each provided ?-character. Variables are supported.
Sort Order
How to order the rows, formatted as an SQL ORDER BY clause (excluding the ORDER BY itself). Variables are supported.
Result Type
Defines how Automagic should provide the data to the flow:
  • Table: Provides a list of rows each containing a list of values to the flow.
  • Table (transposed): Same as table but transposed. Provides a list for each column containing all values of the column.
  • List: Converts the returned table to a flat list.
  • Single value: Provides only the first value of the returned data to the flow.
  • Text: Converts the returned table to a CSV-text.
Include header row
Whether or not the returned result should include a row with the column titles.
Variable
The name of the variable to store the result in. Variables are supported.
A variable is a container for a value that can be used in many actions and conditions to dynamically define a part of a text.
See action Script for a description.

Supplied Variables
result
the resulting data as defined in Resultat-Typ
Top

Reboot

The action Reboot restarts the device.

Warning: This function requires root access, is not officially supported by Android and might not work on all devices.

 

Examples:
  • Restart the device every morning at 6am.
Settings
Options
Options to pass to the kernel when the device is restarted. For example recovery to boot into recovery mode. Variables are supported.
Top

Remove Notification Missed Calls

The action Remove Notification Missed Calls removes the missed calls notification in the statusbar.

Warning: This function requires root access, is not officially supported by Android and might not work on all devices.

 

Examples:
  • Remove the missed calls notification when a number on a blocking list called in your absence.
Top

Remove Notification on Statusbar

The action Remove Notification on Statusbar removes the specified or all notifications on the statusbar added by the action Notification on Statusbar.

 

Example:
  • Show a notification when a sound profile is active and remove the notification when the sound profile is deactivated.
Settings
Notification Type
Whether the action should affect only notifications of Automagic or notifications of all apps in general (Android 4.3+)
Automagic Notification ID
The ID of the notification to remove. The ID must match the ID used in the action Notification on Statusbar. Variables are supported.
All removes all removable notifications of Automagic irrespective of the ID.
Notifications
Whether to remove all removable notifications or only the notifications of the specified app.
Package Names
The names of the packages/apps to remove the notifications from. Variables are supported.
Notification ID
The ID of the notification to remove. Variables are supported.
Trigger Notification on Statusbar Displayed provides the ID of the notification in variable id. Use {id} to remove the notification that triggered the flow.
Filter
Defines the text that must be contained in one of the available fields. Variables are supported for contains text and matches glob.
Top

Remove WiFi Access Point

The action Remove WiFi Access Point removes a WiFi configuration.

Warning: This function can only remove access points that have been added by Automagic on Android 6+.

 

Examples:
  • Remove a previously added public access point to clean up the list.
Settings
SSID
The SSID of the Access Point. Variables are supported.
Top

Request Sync

The action Request Sync starts the synchronisation process of one or multiple accounts or some parts of the accounts. The order and the exact timing of the synchronisation is controlled by Android.
The action does not wait for the synchronisation to finish.

 

Examples:
  • Disable the automatic synchronisation to save battery but execute the synchronisation manually every hour between 8am and 8pm.
Settings
Accounts
The accounts to synchronize in format Type:Name. Glob patterns can be used to match multiple accounts. Variables are supported.
  • * synchronises all accounts
  • Google:* synchronises all Google accounts
Authorities
The parts/databases of the accounts to synchronize. Specify a * to synchronize all parts of the account. Glob patterns can be used to match multiple authorities. Variables are supported.
  • * synchronises all authorities of the specified accounts
  • com.android.calendar synchronises all calendars of the specified accounts
Top

Reregister Media Button Receiver

The action Reregister Media Button Receiver registers Automagic as a receiver of media button events again.
This is useful in conjunction with trigger Media Button Receiver when another app requested to receive the media button events and Automagic thus does not receive the events anymore.

Top

Restore Audio Volumes

The action Restore Audio Volumes restores the audio volumes previously stored in global variables by action Store Audio Volumes.

 

Examples:
  • Store the audio volumes when a meeting begins, set all volumes to zero and restore the previously volumes when the meeting ends
Settings
Alarm
Whether or not to restore the alarm volume and the name of the variable to restore the volume from.
DTMF
Whether or not to restore the DTMF volume and the name of the variable to restore the volume from.
Music
Whether or not to restore the music volume and the name of the variable to restore the volume from.
Notification
Whether or not to restore the notification volume and the name of the variable to restore the volume from.
Ring
Whether or not to restore the ringtone volume and the name of the variable to restore the volume from.
System
Whether or not to restore the system volume and the name of the variable to restore the volume from.
Voice Call
Whether or not to restore the voice call volume and the name of the variable to restore the volume from.
Ringer Mode
Whether or not to restore the ringer mode and the name of the variable to restore the value from.
Interruptions Mode
Whether or not to restore the interruptions mode and the name of the variable to restore the value from.
Top

Save Variable in Image File

The action Save Variable in Image File saves the pixel data that was previously loaded with an action Init Variable Image File into a file.

 

Examples:
  • Load an image, shrink the size and send the smaller file by mail.
Settings
Variable
The name of the variable holding the pixel data of the image. Variables are supported.
File
The path of the file to store the image in. The type is determined by the file extension. (.jpg, .webp and .png are supported). Variables are supported.
Image quality
How much the file should be compressed (0=small file/bad image quality, 100=big file/good image quality). The image quality is ignored for PNG-files. Variables are supported.
Top

Save Widget to Image File

The action Save Widget to Image File saves the current image of a widget to a file.

 

Examples:
  • Add a text over an image and send the resulting image as an email attachment.
Settings
Widget
The name of the widget to save as an image. Variables are supported.
File
The path of the file to store the image in. The type is determined by the file extension. (.jpg, .webp and .png are supported). Variables are supported.
Image quality
How much the file should be compressed (0=small file/bad image quality, 100=big file/good image quality). The image quality is ignored for PNG-files. Variables are supported.
Top

Scan Barcode

The action Scan Barcode opens an activity to scan a barcode using the camera of the device.

Tip: You can use an action Map Values to map known barcode values like a QR code on a laboratory door to a project/task.

 

Examples:
  • Start recording the time in Gleeo Time Tracker based on a barcode on a laboratory door.
  • Scan a barcode on a book and open the browser to search the book on Amazon.
Settings
Timeout
The timeout duration to automatically cancel the barcode scan.
A variable is a container for a value that can be used in many actions and conditions to dynamically define a part of a text.
See action Script for a description.

Supplied Variables
operation
the operation used to close the scan barcode activity.

Can be one of:
  • ok when a bar code has been successfully scanned
  • cancel when the user pressed the back button or another button to leave the activity
  • timeout when the activity was closed by a timeout
barcode_text
the value of the barcode as a text string
barcode_format
the format of the barcode
Top

Script

The action Script executes a script doing some simple calculations and can be used to modify variables.

Script Description
Reserved Keywords

Following list of keywords are reserved and are therefore not allowed to be used as a variable name:

abstract alias and AND assert boolean break byte case catch char class const continue def default do double else elsif ensure enum extends false final finally float for goto if implements import in instanceof int interface long mod native new next not NOT null or OR package private protected public redo repeat rescue retry return self short static strictfp super switch synchronized then this throw throws to transient true try undef unless until void volatile when while xor XOR yield

Only a few of the reserved keywords are currently used but are reserved for future extensions of the scripting language.

Comments

Scripts can contain comments that are not executed when the script is interpreted.

  • text after // to the end of the line
  • text between /* and */. Such a comment can also span multiple lines.
Examples:
    a=1+2;//this is a comment
    b=a+3;
    c=b+a;
    /* this is a
        multiline comment */
    d=c*2;
Variables

A value like a number or a string can be stored in a variable using the assignment operator =
Variable names are case sensitive. A variable name has to start with a letter, a currency symbol (such as "$") or a connecting punctuation character (such as "_"). The rest of the variable name can also contain digits. Unicode characters are supported, but it is highly recommended to use US-ASCII characters.

Examples:
    a = 3;//assign the number three to the variable a
    b = a;//assign the value stored in variable a to the variable b

There exist two types of variable scopes:

Flow Local
Every variable declared in a script, expression or inline script is by default flow local as long as the name of the variable does not start with global_.

Examples of flow local variables with a value assigned:
  • a = 1;   number one stored in a variable called 'a'
  • var1 = 1.234;   decimal number 1.234 stored in a variable called 'var1'
  • var_123 = "Hello World";   string "Hello World" stored in a variable called 'var_123'
  • _m = true;   boolean value 'true' stored in a variable called '_m'
  • var2 = a;   stores the value stored in variable 'a' in a variable called 'var2'
Global
Every variable that starts with global_ is global and therefore accessible by other flows and will also be persisted to the external memory and reloaded when you stop/restart the Automagic service.

Examples of global variables with a value assigned:
  • global_a = 1;   number one stored in a variable called 'global_a'
  • global_var1 = 1.234;   decimal number 1.234 stored in a variable called 'global_var1'
  • global_var_123 = "Hello World";   string "Hello World" stored in a variable called 'global_var_123'
  • global_m = true;   boolean value 'true' stored in a variable called 'global_m'

Variables are references to values (like a pointer). Assigning the value stored in a variable to another variable does not copy the value but both variables point to the exact same value.
This is especially important when modifiable values like lists are used.
Example:

    a = newList(1, 2, 3);
    b = a;
    //at this point both variables a and b point to the exact
    // same list (the list only exists once)
    addElement(a, 4);
    //the list now contains 1, 2, 3, 4
    //both variables a and b still point to the same list

    //both loops therefore print the values 1, 2, 3 and 4 in the log:
    for (x in a)
    {
        log("{x}");
    }

    for (x in b)
    {
        log("{x}");
    }

Operators

Following operators are supported in expressions:

  • +    addition and string concatenation
  • -    subtraction
  • *    multiplication
  • /    division
  • %    modulo division
  • <    less than
  • <=    less than or equal
  • >    greater than
  • >=    greater than or equal
  • ==    equal
  • !=    not equal
  • AND, &&    and
  • OR, ||    or
  • XOR, ^    exclusive or
  • NOT, !    not (unary)
Expressions

An expression is a construct made up of variables, operators and function calls, that evaluates to a single value.

Examples:
  • 42
  • 1+2
  • a=1
  • b=a+1
  • c=(a+1)*(b-3)
  • global_a=1
  • a=sqrt(9)
  • b=addDays(triggertime, 3)
  • c=replace("hello automagic", "automagic", "world")
  • b=addDays(triggertime, sqrt(9))
  • b="Hello " + "World"
  • a=true
  • b=false
  • c=a AND b OR c>=5
  • c=NOT a AND NOT b
String Inline Expressions

Inline expressions in strings can be used to replace a part of the string by a variable or expression. The rules described here also apply to the text fields of triggers, conditions and actions documented in the help page with Variables are supported.
An inline expression is enclosed in curly braces: {expression}

Example simple inline expressions:
  • var1="Test";
    var2="This is a {var1}";

    'var2' will contain the string "This is a Test" after the script is evaluated
  • var="one plus two is {1 + 2}";
    'var' is evaluated to "one plus two is 3"

Inline expressions can be formatted by defining a format type and depending on the format type a pattern to use: {var,formattype,pattern}

Example inline expressions with formatting:
  • var="Today is {getDate(),dateformat,dd.MM.yyyy}";
    'var' will contain the string "Today is 21.07.2012"
  • var="It's {getDate(),dateformat,HH:mm}";
    'var' will contain the string "It's 12:32"
  • var="It's {getDate(),dateformat,timezone,UTC,HH:mm}";
    'var' will contain the string "It's 10:32"
  • var="Value: {1.456789,numberformat,0.00}";
    'var' is evaluated to "Value: 1.46"
  • var="I'm here: {location,locationformat,decimal}";
    'var' is evaluated to "I'm here: 46.76817,7.603751"
  • var="{files,listformat,comma}";
    'var' is evaluated to "/mnt/sdcard/file1,/mnt/sdcard/file2"
Supported format types:
  • dateformat: Formats the date using the specified date pattern. See pattern characters for a description of the supported patterns.
    The optional sub-format timezone along with the name of the timezone can be used to define the timezone used to format the date/time. Accepted timezone names are either UTC, GMT or the Olson name of a timezone name of the form Area/Location, such as America/Los_Angeles (device dependent). GMT is used for unknown timezone names.
    Examples:
    • {triggertime,dateformat,timezone,UTC,HH:mm}
    • {triggertime,dateformat,timezone,America/Los_Angeles,HH:mm}
    • {triggertime,dateformat,timezone,Europe/London,HH:mm}
    • {triggertime,dateformat,timezone,Europe/Paris,HH:mm}
    • {triggertime,dateformat,timezone,Africa/Harare,HH:mm}
  • numberformat: Formats the number using the specified decimal format. See pattern characters for a description of the supported patterns.
  • locationformat: Formats the address of the location when available in a single line of text when no format is specified. (Data connection is required)
    Following locationformat patterns are supported:
    • multiline: Formats the address as a multiline text. (Data connection is required)
    • decimal: Formats latitude,longitude as decimal numbers (+/-DDD.DDDDD). Example: 46.76817,7.603751.
    • microdegrees: Formats latitude,longitude multiplied by 1'000'000 as integers. Example: 46768355,7604022. This format can be useful in a call to a REST service.
    • swiss: Formats latitude,longitude converted to the Swiss coordinate system.
  • listformat: Formats the list of values as a multiline text with one item per line when no pattern is specified.
    Following listformat patterns are supported:
    • comma: Formats the list of values as a comma separated list.
    • semicolon: Formats the list of values as a semicolon separated list.
  • jsonformat: Formats the value as JSON fragment.

Inline expressions in strings with single quotes are not interpreted. This can be helpful for regular expressions, where a quantifier like {2} in the pattern ([0-9]){2}.* should not be replaced with 2.

Example:
  • var='Today is {getDate(),dateformat,dd.MM.yyyy}';
    'var' is evaluated to 'Today is {getDate(),dateformat,dd.MM.yyyy}'
Control Structures
if Statement
An if statement can be used to evaluate a block of code when a condition is true.
Example:
    if (a<3)
    {
        b = 0;
    }
    else
    {
        b = 1;
    }
In this example variable b is assigned the value zero when the variable a contains a value less than 3, b is assigned the value one when the variable a contains a value greater or equal to 3.
for Loop
A for loop evaluates a block of code for every value in a list of values.
Example:
    list=newList(1, 2, 3);

    for (a in list)
    {
        log("a contains {a}");
    }
This example would print the following output in the log:
    a contains 1
    a contains 2
    a contains 3
Numeric List Creation Expression
Since it is very common to create a list containing a sequence of numeric values there is a shorthand to create such a list using [<number> to <number>, <step size>]:
Examples:
    list = [1 to 10];//without the optional step size

    for (a in list)
    {
        log(a);
    }
    //logs 1, 2, 3, 4, 5, 6, 7, 8, 9, 10

    //inlined
    for (a in [1 to 10])
    {
        log(a);
    }
    //logs 1, 2, 3, 4, 5, 6, 7, 8, 9, 10

    //inlined with step size of 2
    for (a in [1 to 10, 2])
    {
        log(a);
    }
    //logs 1, 3, 5, 7, 9

    //inlined with negative step size of -3
    for (a in [10 to 1, -3])
    {
        log(a);
    }
    //logs 10, 7, 4, 1

Access to list and map entries
Single values of lists and maps can be accessed with brackets.
Examples:
    list = [1 to 10];
    a = list[0];//get first element of the list: 1
    a = list[1];//get second element of the list: 2

    list[2] = 999;//assigns 999 to the third element of the list

    map = newMap();
    map["key1"] = 1;//creates a map entry key1-->1
    map["key2"] = 2;//creates a map entry key2-->2

    a = map["key1"];//gets the value of entry with key1: 1
    a = map["key2"];//gets the value of entry with key2: 2
while Loop
A while-loop evaluates a block of code as long as a condition is true.
Example:
    a = 0;

    while (a < 10)
    {
        log(a);
        a = a + 1;
    }
    //logs 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
return statement
The return statement can be used to terminate a script early and optionally to return a given value.
Example:
    a = null;
    if (a == null)
    {
        return;
    }

    log("X");//not reached since return terminates the script
break statement
The break statement can be used to terminate a loop and to continue the script after the loop body.
Example:
    for (a in [1 to 10])
    {
        if (a == 4)
        {
            break;
        }
        log(a);
    }

    log("X");
    //logs 1, 2, 3, X
continue statement
The continue statement can be used to immediately continue with the next iteration of the loop.
Example:
    for (a in [1 to 10])
    {
        if (a == 4)
        {
            continue;
        }
        log(a);
    }

    log("X");
    //logs 1, 2, 3, 5, 6, 7, 8, 9, 10, X
Functions
Built in functions can be called to calculate trigonometric values, create lists, extract values from an XML and much more.
Examples:
    a = sin(1.2);//evaluates to 0.932039...
    a = max(1, 2, 3, 4, 5);//evaluates to 5
    a = isEmpty([1 to 10]);//evaluates to false
    a = containsElement([1 to 10, 2], 3);//evaluates to true
Tip: Please also see the Script examples page that shows some commonly used script snippets.
  • Object convertNull(Object value, Object defaultValue)
    Returns the value of the first argument or returns default when the value is null.
  • Number abs(Number value)
    Returns the absolute value of value.
  • Number pow(Number base, Number exponent)
    Returns the value of the first argument raised to the power of the second argument.
  • Number sqrt(Number a)
    Returns the square root of the number.
  • Number sin(Number a)
    Returns the sine of the angle in radians.
  • Number cos(Number a)
    Returns the cosine of the angle in radians.
  • Number tan(Number a)
    Returns the tangent of the angle in radians.
  • Number asin(Number a)
    Returns the sine of the angle in radians.
  • Number acos(Number a)
    Returns the arc cosine of the angle in radians.
  • Number atan(Number a)
    Returns the arc tangent of the angle in radians.
  • Number atan2(Number y, Number x)
    Returns the angle of the polar representation of the rectangular coordinate (x, y).
  • Number sinh(Number a)
    Returns the hyperbolic sine of the value.
  • Number cosh(Number a)
    Returns the hyperbolic cosine of the value.
  • Number tanh(Number a)
    Returns the hyperbolic tangent of the value.
  • Number toRadians(Number a)
    Converts the Number from degrees to radians.
  • Number toDegrees(Number a)
    Converts the Number from radians to degrees.
  • Number round(Number a)
    Rounds the number to the nearest integer.
  • Number ceil(Number a)
    Returns the next highest integer value by rounding up value if necessary.
  • Number floor(Number a)
    Returns the next lowest integer value by rounding down value if necessary.
  • Date addDays(Date d, Number a)
    Returns a new date by adding a number of days to the date d.
  • Date addHours(Date d, Number a)
    Returns a new date by adding a number of hours to the date d.
  • Date addMinutes(Date d, Number a)
    Returns a new Date by adding a number of minutes to the date d.
  • Date addSeconds(Date d, Number a)
    Returns a new date by adding a number of seconds to the date d.
  • Date getDate()
    Returns the current date and time.
  • Date getDate(String date, String pattern)
    Converts the string to a date using the specified pattern. (see pattern characters)
  • Date getDate(Number year, Number month, Number day)
    Returns the Date specified by the arguments.
  • Date getDate(Number year, Number month, Number day, Number hours, Number minutes, Number seconds)
    Returns the date specified by the arguments.
  • Date getDate(Date date, Number hours, Number minutes, Number seconds)
    Returns the date specified by the arguments.
  • Date getDate(Date date, Number hours, Number minutes, Number seconds, String timezone)
    Returns the date specified by the arguments in the defined timezone.
  • Number getUptimeMillis()
    Returns milliseconds since boot, not counting time spent in deep sleep.
  • Number getElapsedRealtimeMillis()
    Returns milliseconds since boot, including time spent in sleep.
  • Number getDurationMillis(String duration)
    Returns the duration in milliseconds specified by the duration string (e.g. "2m 15s" returns 135000).
  • String getDurationString(Number duration)
    Returns the duration string representing the specified milliseconds (e.g. 135000 returns "2m 15s").
  • Number getByteSize(String byteSize)
    Returns the number of bytes specified by the string (e.g. "10kb 15b" returns 10255).
  • String getByteSizeString(Number byteSize)
    Returns the formatted byte string representing the specified bytes (e.g. 10255 returns "10kb 15b").
  • Number toNumber(String number)
    Converts the specified parameter to a number.
  • Number min(Number n1, Number n2, ...)
    Returns the smallest number of the arguments.
  • Number max(Number n1, Number n2, ...)
    Returns the largest number of the arguments.
  • Boolean isEmpty(String s)
    Returns whether the string is empty or not.
  • Number length(String s)
    Returns the number of characters in string s.
  • String substring(String s, Number start, Number end)
    Returns the substring of the specified string.
  • String substring(String s, Number start)
    Returns the substring starting at the specified index.
  • String left(String s, Number length)
    Returns the first length characters of the specified string.
  • String right(String s, Number length)
    Returns the last length characters of the specified string.
  • Number indexOf(String s, String search)
    Returns the first index of search in s.
  • Number indexOf(String s, String search, Number start)
    Returns the first index of search after start in s.
  • Number lastIndexOf(String s, String search)
    Returns the last index of search in s.
  • Number lastIndexOf(String s, String search, Number start)
    Returns the last index of search before start in s.
  • Boolean startsWith(String s, String prefix)
    Checks whether the string s starts with prefix.
  • Boolean endsWith(String s, String suffix)
    Checks whether the string s ends with suffix.
  • Boolean contains(String s, String search)
    Checks whether the string s contains the substring search.
  • List split(String s, String pattern)
    Splits the string s into a list of strings by using the regular expression pattern as the delimiter. (see Regular expressions)
  • List splitCSVRecord(String s)
    Splits the comma delimited string s into a list of tokens. Takes double quotes for escaped fields into consideration.
  • String join(List list, String delimiter)
    Joins the elements of the list into a string by separating the elements with the specified delimiter.
  • Boolean matches(String s, String pattern)
    Returns whether the string s matches the regular expression pattern. (see Regular expressions)
  • Boolean matches(String s, String pattern, List groups)
    Returns whether the string s matches the regular expression pattern and fills the captured groups into the existing list groups. (see Regular expressions)
  • List findAll(String s, String pattern)
    Returns a list of all matched values in s of regex pattern. (see Regular expressions)
  • List findAll(String s, String pattern, boolean returnGroups)
    Returns a list of all matched values in s of regex pattern. Optionally item consists of a list of the matched groups. (see Regular expressions)
  • String replace(String s, String search, String replace)
    Returns a modified string by replacing all occurrences of search with replace in string s.
  • String replaceAll(String s, String regex, String replacement)
    Returns a modified string by replacing all substrings matching regex with replacement in string s. (see Regular expressions)
  • String trim(String s)
    Returns a modified string by removing all leading and trailing whitespace from string s.
  • String concat(Object o1, ...)
    Returns the string concatenation of the specified objects.
  • String toUpperCase(String s)
    Converts the string to upper case using the rules of the default locale.
  • String toLowerCase(String s)
    Converts the string to lower case using the rules of the default locale.
  • String encodeURLForm(String urlPart)
    URL-encodes the specified urlPart (for application/x-www-form-urlencoded, spaces are encoded as +).
  • String encodeURL(String urlPart)
    URL-encodes the specified urlPart (spaces are encoded as %20).
  • String encodeHTML(String text)
    HTML-encodes the specified text.
  • List newList(Object o1, ...)
    Returns a new list containing the specified objects.
  • List copyList(List list)
    Returns a copy of specified list (flat copy).
  • Number length(List list)
    Returns the number of elements in list.
  • Boolean isEmpty(List list)
    Returns whether the list contains any elements or not.
  • List addElement(List list, Object o1)
    Returns the same list after adding the object at the end of the list. Returns a new list when the list should not exist yet.
  • List addElement(List list, Number index, Object o1)
    Returns the same list after adding the object at the specified index (zero based).
  • List addAllElements(List list, List elementsToAdd)
    Returns the same list after adding all elements specified in list elementsToAdd.
  • List removeDuplicateElements(List list)
    Returns the same list after removing all duplicates.
  • List removeElementValue(List list, Object o1)
    Returns the same list after removing all elements with the specified value.
  • List removeAllElementValues(List list, List elementsToRemove)
    Returns the same list after removing all elements contained in the second list.
  • Boolean containsElement(List list, Object o1)
    Returns true when the list contains the specified element.
  • Object removeElement(List list, Number index)
    Removes the object at the specified index (zero based) and returns the removed object.
  • List removeElements(List list, Number fromIndex, Number toIndex)
    Removes the objects at the specified index range (zero based, [fromIndex,toIndex[) and returns the removed objects in a list.
  • Object getElement(List list, Number index)
    Returns the object at the specified index (zero based).
  • List setElement(List list, Number index, Object value)
    Sets the object at the specified index (zero based).
  • Object getRandomElement(List list)
    Returns a random element of the list.
  • List shuffleList(List list)
    Randomly shuffles the elements of the list.
  • Number indexOfElement(List list, Object value)
    Returns the first index of the element in the list or -1 when the element is not contained in the list.
  • Number indexOfElement(List list, Object value, Number start)
    Returns the first index of the element in the list that is bigger or equal to start or -1 when the element is not contained in the list.
  • List sort(List list, Boolean casesensitive, Boolean natural)
    Modifies the list by sorting the values.
  • List reverse(List list)
    Modifies the list by reversing the order of the contained values.
  • Map newMap()
    Returns a new empty map
  • Map newMapFromValues(String key1, Object value1, ...)
    Returns a new map initialized to contain the specified keys and values.
  • Boolean isEmpty(Map map)
    Returns whether the map contains any elements or not.
  • Number length(Map map)
    Returns the number of elements in map.
  • Map copyMap(Map map)
    Returns a copy of specified map (flat copy).
  • Map addMapEntry(Map map, String key, Object value)
    Adds a new entry key->value to the map and returns the map. Returns a new map when the map should not exist yet.",
  • Map addAllMapEntries(Map map, Map entriesToAdd)
    Adds all entries of the second map to the first map and returns the first map.
  • Object getMapValue(Map map, String key)
    Returns the object for key or null when no mapping for key exists.
  • Object getMapValue(Map map, String key, Object default)
    Returns the object for key or default when no mapping for key exists or map is null.
  • Object removeMapEntry(Map map, String key)
    Removes the entry for the given key and returns the value.
  • List getMapKeys(Map map)
    Returns a list of the keys of map.
  • List getMapValues(Map map)
    Returns a list of the values of map.
  • String evaluateXPathAsString(String xml, String xpath)
    Evaluates the XPath expression on the given XML and returns the result as a string. (see XPath Specification)
  • String hash(String value, String encoding, String algorithm)
    Calculates the hash of value using the specified encoding (like UTF-8 or UTF-16LE) and hashing algorithm (like MD5 or SHA1).
  • String toJSON(Object value)
    Converts the specified object to a JSON string.
  • String toJSON(Object value, Boolean indent)
    Converts the specified object to a JSON string, indented or not.
  • Object fromJSON(String value)
    Converts the specified JSON string into an object.
  • Object log(Object value)
    Logs the specified object in the Automagic log and returns the unmodified object.
  • Object eval(String script)
    Evaluates the string as a script and returns the value of the last expression.
  • Number random()
    Returns a random number between 0.0 and 1.0 (exclusive).
  • Number random(Number low, Number high)
    Returns a random number between low and high (inclusive).
  • Boolean sleep(Number milliseconds)
    Waits for the specified amount of milliseconds.
  • Boolean sleep(String duration)
    Waits for the specified duration like "2m 30s".
  • Boolean existsFile(String path)
    Checks whether the file denoted by path exists or not.
  • Boolean isDirectory(String path)
    Checks whether the file denoted by path is a directory.
  • String getExternalStorageDir()
    Returns the path to the primary external storage directory.
  • Number getPixelColor(Bitmap image_data, Number x, Number y)
    Returns the color (argb) of the pixel of the image at location x, y.
  • Number getRed(Number color)
    Returns the red component of the specified color.
  • Number getGreen(Number color)
    Returns the green component of the specified color.
  • Number getBlue(Number color)
    Returns the blue component of the specified color.
  • Number getAlpha(Number color)
    Returns the alpha component of the specified color.
  • Number newColor(Number a, Number r, Number g, Number b)
    Returns a new color from the specified ARGB components.
  • Number distance(Location loc1, Location loc2)
    Calculates the distance between locations loc1 and loc2 in meters.
  • Location newLocation(Number latitude, Number longitude)
    Creates a new Location for the specified latitude and longitude.
  • String setHTTPResponseHeader(String header, String value)
    Sets the HTTP response header to the specified value and returns the value.
  • Number setHTTPResponseStatus(Number status)
    Sets the HTTP response status to the specified value and returns the value.
  • Boolean isList(Object value)
    Returns whether the specified value is a List or not.
  • Boolean isMap(Object value)
    Returns whether the specified value is a Map or not.
  • Boolean isString(Object value)
    Returns whether the specified value is a String or not.
  • Boolean isNumber(Object value)
    Returns whether the specified value is a Number or not.
  • Boolean isBoolean(Object value)
    Returns whether the specified value is a Boolean or not.
  • Boolean isLocation(Object value)
    Returns whether the specified value is a Location or not.
  • Object getWidgetElementProperty(String widgetName, String elementName, String property)
    Gets the current value of the property of the specified widget element.
  • Object setWidgetElementProperty(String widgetName, String elementName, String property, Object value)
    Sets the given property of the specified widget element to value.
  • Boolean refreshWidget(String widgetName, Boolean reloadImages)
    Refreshes the widget and optionally also reloads images.
  • String getAppName(String packageName)
    Returns the display name of the app from the specified package or null when not available.
  • String getActivityName(String packageName, String className)
    Returns the display name of the activity from the specified package and class or null when not available.
  • String getServiceName(String packageName, String className)
    Returns the display name of the service from the specified package and class or null when not available.
  • List getFlowNames()
    Returns a list containing the names of all flows.
  • List getFlowNamesByGroup(String group)
    Returns a list containing the names of the flows of the specified group.
  • List getFlowGroupNames()
    Returns a list containing the names of the flow groups.
  • List getWidgetNames()
    Returns a list containing the names of all widgets.
  • Map getFlowStatisticsDuration()
    Returns a map of the executed flows. Key=Flow name, Value=total execution duration in milliseconds, sorted by value descending.
  • Map getFlowStatisticsCount()
    Returns a map of the executed flows. Key=Flow name, Value=total execution count, sorted by value descending.
  • Boolean resetFlowStatistics()
    Resets the flow statistics.
  • Object getValue(String name, Object default)
    Returns the value of the variable named name or returns default when the variable is undefined or null.
  • Object setValue(String name, Object value)
    Sets the variable named name to value and returns value
  • Object removeVariable(String name)
    Removes the variable named name.
  • List getVariableNames()
    Returns a list of all variables currently available (local and global).
  • Number getAndroidSDKVersion()
    Returns the SDK version number of the Android framework. (see Android API versions)
  • Object getContext()
    Returns the context of the application.
  • Object callJavaStaticMethod(String className, String methodSignature, Object params, ...)
    Calls the defined public static method of the defined class.
  • Object callJavaConstructor(String className, String constructorSignature, Object params, ...)
    Calls the public constructor of the defined class.
  • Object callJavaMethod(Object obj, String className, String methodSignature, Object params, ...)
    Calls the specified instance method on the defined object.
  • Object getJavaStaticField(String className, String fieldName)
    Returns the value of the specified public static field.
  • Object setJavaStaticField(String className, String fieldName, Object value)
    Sets the value of the specified public static field.
  • Object getJavaField(Object obj, String className, String fieldName)
    Returns the value of the specified public instance field.
  • Object setJavaField(Object obj, String className, String fieldName, Object value)
    Sets the value of the specified public instance field.
Note: Are you missing a function? Please let us know in the forum.
Advanced Topics
Every executable expression in a script evaluates to a value. A block of code evaluates to the value produced by the last expression in the block and allows to create inline scripts with multiple expressions:
    s = "{a=1;b=2}";
    log(s);//logs 2

    a = true;
    b = if (a) 1 else 2;
    log(b);//logs 1

    for (a in [0 to 10])
    {
        log(if(a<5) "X" else "-");
    }
    //logs X, X, X, X, X, -, -, -, -, -, -

    b=0;
    log(for(a in [1 to 10]) {b=b+a});
    //logs 55

Top

Seek Action Sound

The action Seek Action Sound seeks in the currently executing action Sound.

 

Examples:
  • Seek to the beginning of a song.
Settings
Seek Type
Whether to seek to a specific absolute position or to fast forward/backward the specified duration.
Position
The position respectively the duration to seek. Variables are supported.
Top

Send Broadcast

The action Send Broadcast send a broadcast using the specified intent. Please also see the documentation of the Android Intent class.
Tip: Some broadcast receivers require special permissions to be launched. Check the log after testing the action when the broadcast receiver fails.

 

Examples:
  • Control an app that exposes its actions using a broadcast receiver.
Settings
Action
The action to use in the intent. Variables are supported.
Category List
The list of categories as a comma separated list to add to the intent. Variables are supported.
Data URI
The data URI to set on the intent. Variables are supported.
Mime Type
The mime type to set on the intent. Variables are supported.
Package Name
The specific package to launch. Variables are supported.
Class Name
The specific class to launch. Variables are supported.
Flag List
The flags to add to the intent.
Extras
A script used to add an unlimited number of extras to the intent.

Additionally to the regular built in functions of Automagic also the following functions are available to add the extras to the intent:
  • putString(key, value)
  • putBoolean(key, value)
  • putFloat(key, value)
  • putDouble(key, value)
  • putByte(key, value)
  • putShort(key, value)
  • putChar(key, value)
  • putInt(key, value)
  • putLong(key, value)
  • putUri(key, value)
  • putBooleanArray(key, value)
  • putByteArray(key, value)
  • putIntArray(key, value)
  • putIntegerArrayList(key, value)
  • putLongArray(key, value)
  • putFloatArray(key, value)
  • putDoubleArray(key, value)
  • putShortArray(key, value)
  • putCharArray(key, value)
  • putStringArray(key, value)
  • putStringArrayList(key, value)
  • putUriArray(key, value)
  • putUriArrayList(key, value)

Example:
putString("key1", "Hello");
putBoolean("key2", true);
putDouble("key3", 1.23);
putInt("key4", 42);
putInt("key5", a+4*b);
See action Script for a description of the scripting language.
Send ordered broadcast
Whether Automagic should send an ordered broadcast which allows a broadcast receiver to provide a result to Automagic.
Access Result Extras
Script to access the returned extras.
Following functions are supported:
  • getString(String key)
  • getChar(String key, String defaultValue)
  • getBoolean(String key, Boolean defaultValue)
  • getFloat(String key, Number defaultValue)
  • getDouble(String key, Number defaultValue)
  • getByte(String key, Number defaultValue)
  • getShort(String key, Number defaultValue)
  • getInt(String key, Number defaultValue)
  • getLong(String key, Number defaultValue)
  • getBundle(String key)
  • getUri(String key)
  • getBooleanArray(String key)
  • getByteArray(String key)
  • getShortArray(String key)
  • getCharArray(String key)
  • getIntArray(String key)
  • getIntegerArrayList(String key)
  • getLongArray(String key)
  • getFloatArray(String key)
  • getDoubleArray(String key)
  • getStringArray(String key)
  • getUriArray(String key)
  • getUriArrayList(String key)
  • getParcelableAsString(String key)
  • getParcelableArrayAsString(String key)
  • getParcelableArrayListAsString(String key)
  • getParcelable(String key)
See action Script for a description of the scripting language.
A variable is a container for a value that can be used in many actions and conditions to dynamically define a part of a text.
See action Script for a description.

Supplied Variables
result_code (only if Send ordered broadcast is enabled)
the returned result code
operation (only if Send ordered broadcast is enabled)
string "ok", when result_code was -1, "cancel" otherwise
data_string (only if Send ordered broadcast is enabled)
the data of the received intent as a string
abort_broadcast (only if Send ordered broadcast is enabled)
boolean flag indicating whether or not the broadcast receiver aborted the broadcast.
Top

Send SMS

The action Send SMS sends an SMS to the specified phone number.

 

Examples:
  • Send an SMS with your location as a response to an SMS containing the text Where are you?
  • Send an SMS to your partner when you are on your way home.
Settings
SIM
The SIM card.
To
The number to send the SMS to. Variables are supported.

Example:
  • use {sms_sender} to fill in the phone number received in an SMS Received trigger.
Message
The message to send. Variables are supported.

Example:
  • use {location,locationformat} to fill in a nearby address of the location. The location can be determined using an action Init Variable Location.
Truncate
Whether to truncate the message text to fit within one SMS or to send the message using multiple SMS parts.
SMS Sending Limit
Defines how many SMS can be sent within the given amount of time. The action interrupts the flow with an error when the limit is exceeded.
Store sent SMS
Whether to store the sent SMS in the sent messages of the devices messaging app or not. This function is not officially supported by Android and might not work on all devices. Android 4.4+ automatically stores all sent SMS.
Delivery Report Options
Whether to request a delivery report and whether the report should be synchronous which blocks the action until the report is received or the timeout elapsed or to asynchronously deliver the report to trigger Automagic SMS Deliver Report Received.
A variable is a container for a value that can be used in many actions and conditions to dynamically define a part of a text.
See action Script for a description.

Supplied Variables
sms_delivery_report_status (only when a synchronous delivery report is requested and received)
the status code (0-31=OK, 32-63=delivery pending, >64=error)
Top

Send Wake on LAN Packet

The action Send Wake on LAN Packet sends a Wake On LAN packet using UDP to the specified IP address and port.

 

Examples:
  • Start your NAS daily at 6am
Settings
MAC Address
The MAC address to send in the packet data. Variables are supported.
IP/Port
The IP address to send the packet to. Variables are supported.
Top

Set Airplane Mode

The action Set Airplane Mode sets the airplane mode of the phone on or off.

Warning: This function requires root access starting with Android 4.2 and is not officially supported by Android.

 

Examples:
  • Reduce radiation at night by turning on the airplane mode.
  • Turn on airplane mode to reduce battery usage when battery level is below 20%.
Settings
Method
The method used to toggle the airplane mode. It highly depends on device which method works better.
Turn Airplane Mode On/Off
Whether to turn airplane mode on or off.
Top

Set Alarm

The action Set Alarm creates an alarm in the alarm app available on the device.

Warning: Not all alarm apps support all options.

Settings
Label
The label to use in the alarm. Not supported by all alarm apps. Variables are supported.
Hour (0–23)
The hour to use in the alarm. Variables are supported.
Minutes (0–59)
The minutes to use in the alarm. Variables are supported.
Alarm
The alarm to play. Not supported by all alarm apps. Variables are supported.
Vibrate
Whether or not the device should vibrate. Not supported by all alarm apps.
Skip UI
Whether or not the alarm app should be displayed after setting the alarm. Not supported by all alarm apps.
Top

Set App Notification Peekable

The action Set App Notification Peekable changes the setting whether app notifications of an app can be emphasized by sliding briefly into view.

Warning: This function requires root access, is not officially supported by Android and might not work on all devices.

 

Examples:
  • Turn the peekable setting off for some apps when watching a movie.
Settings
Package Name
The name of the package to change the notification peekable setting. Variables are supported.
Top

Set App Notification Priority

The action Set App Notification Priority changes the setting whether app notifications are important or not for a particular app.

Warning: This function requires root access, is not officially supported by Android and might not work on all devices.

 

Examples:
  • Change the priority of mail notifications to unimportant at night.
Settings
Package Name
The name of the package to change the setting. Variables are supported.
Top

Set App Notification State

The action Set App Notification State enables or disables the capability of an app to post notifications.

Warning: This function requires root access, is not officially supported by Android and might not work on all devices.

 

Examples:
  • Prevent that an incoming call displays a notification when the device is surveyed in the background.
Settings
Package Name
The name of the package to turn notifications on or off. Variables are supported.
Top

Set Audio Manager Mode

The action Set Audio Manager Mode changes the mode of the audio manager to either Normal, Ringtone or In call. The audio mode encompasses audio routing AND the behavior of the telephony layer.

Settings
Audio Manager Mode
The mode to set.
Top

Set Audio Stream Volume

The action Set Audio Stream Volume changes the volume of a audio stream of a specific type.

 

Examples:
  • Reduce ringer volume when you are in your office.
  • Increase music volume when you plug in the earphones.
Settings
Sound Type
The type of the audio stream to adjust.
Change Type
Whether to set an absolute value, to raise, lower mute or unmute the volume. Keep same can be used to just show the volume level popup.
Volume
The volume level to use. The maximum level differs for the different audio streams. Variables are supported.
Play Sound
Whether to play the short volume adjustment sound when the action is executed. Some devices never play a sound when the volume is changed.
Show Volume Level Popup
Whether to show a popup indicating the new volume level.
Top

Set Auto Sync State

The action Set Auto Sync State turns the automatic synchronisation on or off.

 

Examples:
  • Turn the automatic synchronisation off at night.
  • Turn off the automatic synchronisation of the company account on weekends.
Settings
Auto Sync
Whether to turn auto sync on or off.
Global or Specific
Whether to change the auto sync globally or only for a the specified accounts/authorities. Changing the global switch does not change the settings of the individual accounts/authorities.
Accounts
The accounts to change in format Type:Name. Glob patterns can be used to match multiple accounts. Variables are supported.
  • * changes all accounts
  • Google:* changes all Google accounts
Authorities
The parts/databases of the accounts to change. Specify a * to change all parts of the account. Glob patterns can be used to match multiple authorities. Variables are supported.
  • * changes all authorities of the specified accounts
  • com.android.calendar changes all calendars of the specified accounts
Top

Set Accelerometer Rotation

The action Set Accelerometer Rotation turns on or off the Auto-rotate screen setting.

Note: An application can request to use the accelerometer for screen orientation changes, even when this setting is turned off.

Settings
Auto-rotate screen
Whether the system should automatically rotate the screen depending on the orientation of the device or not.
Top

Set Battery Saver Mode

The action Set Battery Saver Mode turns on the battery saver mode of the device (Android 5+). Battery saver mode can not be enabled when the device is charging.

Warning: This function does not work for manufacturer specific battery saving modes like Samsungs (Ultra-)energy saving mode or Sony and HTC specific modes. Please use action Set System Setting on such devices.

Warning: This function requires root access, is not officially supported by Android and might not work on all devices.

 

Examples:
  • Turn on the battery saver at night when no charging adapter is available.
Settings
Battery Saver
Whether to turn the battery saver mode on or off.
Top

Set Bluetooth SCO State

The action Set Bluetooth SCO State turns Bluetooth SCO for communications on or off.

 

Examples:
  • Turn Bluetooth SCO off even when a headset is connected.
Settings
Bluetooth SCO
Whether to turn Bluetooth SCO on or off.

Check Start Bluetooth SCO to route the audio to the bluetooth device or Stop Bluetooth SCO to stop routing the audio to your bluetooth device when it was previously started with Automagic.

Note: Starting/stopping Bluetooth SCO is not supported on all devices and is known to be buggy on some devices.
Top

Set Bluetooth State

The action Set Bluetooth State turns Bluetooth globally on or off.

 

Examples:
  • Turn Bluetooth on when the phone is connected to a power source.
  • Turn Bluetooth off when the battery level is below 30%.
Settings
Bluetooth
Whether to turn Bluetooth on or off.
Top

Set Bluetooth Tethering State

The action Set Bluetooth Tethering State turns Bluetooth tethering setting on or off.

Note: This action does not supply the Bluetooth tethering feature by itself, it only turns on the setting. Some providers remove the Bluetooth tethering feature. This action can not turn on tethering on such a phone.

Warning: This function is not officially supported by Android and might not work on all devices.
Warning: This function requires Android 3+.

 

Settings
Bluetooth Tethering
Whether to turn Bluetooth tethering on or off.
Top

Set Car UI Mode

The action Set Car UI Mode puts the device into car UI mode.

Note: Not supported by all devices.

 

Examples:
  • Launch the car dock UI mode of an app when you don't actually own the car dock.
Settings
Car UI Mode
Whether to turn the car UI mode on or off.
Launch Dock/Home
Whether or not to start the dock/home screen when available on this device.
Top

Set CyanogenMod Profile

The action Set CyanogenMod Profile changes the currently set CyanogenMod profile.

Warning: This function is not officially supported by Android and might not work on all devices.

 

Examples:
  • Change the profile to 'at home' when the WiFi is connected.
Settings
Profile Name
The name of the profile to activate. Variables are supported.
Top

Set Data Roaming State

The action Set Data Roaming State turns the global data roaming setting on or off.

Warning: This function requires root access, is not officially supported by Android and might not work on all devices.

Example:
  • Activate data roaming abroad every morning for 10 minutes to synchronize the mails and deactivate data roaming again for the rest of the day.
Settings
Data Roaming
Whether to turn data roaming on or off.
Top

Set Default Input Method

The action Set Default Input Method changes the current input method/keyboard.

Warning: This function requires root access, is not officially supported by Android and might not work on all devices.

 

Examples:
  • Use Hacker's Keyboard in landscape mode and otherwise the default keyboard
Settings
Input Method
The keyboard to use.
Top

Set Ringtone

The action Set Ringtone sets the default ringtone of the specified type (ringtone, alarm or notification).

 

Examples:
  • Use a different ringtone at home.
Settings
Type
The type of ringtone to set.
Select Sound
To select the sound of the category above.
Top

Set Disabled Keyguard Features

The action Set Disabled Keyguard Features asks the system to disable the specified list of features on the lock screen (usually only affects secure lock screens like PIN, password lock screen).

Note: Other active device administrators might also disable some features. Automagic has no possibility to remove restrictions imposed by other device administrators.

 

Examples:
  • Disable notifications on the lock screen when not at home.
Settings
Features to disable
The features that should be disabled.
Top

Set Flow State

The action Set Flow State enables or disables one or many flows.

 

Examples:
  • Disable all flows using networking features when you are roaming.
  • Disable all time tracking flows on Saturday and Sunday.
Settings
Flow pattern list
A comma separated list of flow names to enable or disable. Glob patterns * and ? can be used to match similar named flows. Variables are supported.

Examples:
  • Test Flow
  • Test Flow, SMS Flow
  • *time tracking*
Exclude flow pattern list
A comma separated list of flow names to not affect even when the field Flow pattern list includes the flow. Glob patterns * and ? can be used to match similar named flows. Variables are supported.
Enable or disable flows
Whether to enable or disable the flows.
Top

Set GPS State

The action Set GPS State turns GPS globally on or off.

Warning: This function requires root access, is not officially supported by Android and might not work on all devices.

 

Examples:
  • Turn GPS on when Google Maps is started.
Settings
GPS
Whether to turn GPS on or off.
Top

Set Immersive Mode

The action Set Immersive Mode forces immersive/fullscreen mode.

Warning: This function is not officially supported by Android and might not work on all devices.

 

Examples:
  • Play a game in immersive mode even when the game itself does not yet allow to select this mode.
Settings
Immersive Mode
The mode to force:
  • Reset to default: Resets to the device default so the device can use the default mode
  • Without navigation: Force fullscreen/immersive mode with navigation buttons hidden
  • With navigation: Force fullscreen/immersive mode with navigation buttons shown
Show status bar notification to reset
Shows a lock icon in the statusbar to indicate that an immersive mode is enforced. Selecting the notification resets to the default value and is the same as executing this action with Reset to default
Top

Set Interruptions Mode

The action Set Interruptions Mode changes the mode whether alarms and notifications are allowed to interrupt you.

 

Examples:
  • Turn off interruptions at night.
Settings
Method
The method used to toggle the interruptions mode.
Interruptions Mode
The new mode to use.
Top

Set Keyguard State

The action Set Keyguard State globally disables or reenables the keyguard after it was disabled by this action.

Warning: The device keyguard will not turn on even when locking the device using the power button when the keyguard is disabled using this action (device specific).

Warning: The official API will be removed in a future release of Android and this action will stop working depending on Android version and device manufacturer.

 

Examples:
  • Disable the keyguard when the shopping list is started from the background in a specific location.
  • Reenable the keyguard when the shopping list app is stopped.
Settings
Keyguard
Whether to disable or reenable the keyguard when it was previously disabled by this action.
Top

Set Live Wallpaper

The action Set Live Wallpaper changes the wallpaper of the phone to the defined live wallpaper.

Warning: This function requires root access, is not officially supported by Android and might not work on all devices.

 

Examples:
  • Change the wallpaper at home.
  • Change the wallpaper when an SMS is received.
Settings
Live Wallpaper
The componentname of the live wallpaper to set. Variables are supported.
Top

Set Lock Pattern State

The action Set Lock Pattern State enables or disables the system setting whether the lock pattern should be used as the screen lock.

Warning: This function requires root access, is not officially supported by Android and might not work on all devices.

Example:
  • Deactivate the pattern lock at home
Settings
Lock Pattern
Whether to enable or disable the lock pattern.
Method
  • Secure setting: Changes the setting in the regular settings database of Android (Android 4.2 and below)
  • Database: Directly accesses the database containing the lock settings (Android 4.3+)
  • Service: Asks the system service to change the setting (Android 4.3+)
Top

Set Lock PIN/Password

The action Set Lock PIN/Password sets the PIN/Password of the screen lock or resets the screen lock.

The action can be used to deactivate the screen lock:

  1. Important: Set the screen lock in the settings of Android to 'None'
  2. activate the desired PIN/Password screen lock in the settings of Android
  3. use the option 'Clear PIN/Password' in the action to disable the screen lock
Note: The procedure might not work on all Android versions. The screen lock will not be dismissed when the lock screen is currently showing on screen.

Starting with Android 7, you can only use the action to set the PIN/Password when no PIN/Password is set yet so you can no longer use the action to remove a PIN/Password, except when Automagic is set as the device owner.

 

Examples:
  • Deactivate the screen lock when you are connected to the WiFi at home.
Settings
Clear or Set PIN/Password
Whether to set a PIN/Password or to clear the PIN/Password.
PIN or Password
Whether you want to set a PIN or a Password.
Manual or from Variable
Whether the PIN/password is defined within the action itself or whether the action should set the PIN/password contained in a variable at the time when the action is executed.
PIN
The PIN to set.
Password
The password to set.
Variable
The name of the variable containing the PIN/Password to use (at the time the action is executed).
Top

Set Microphone Mute

The action Set Microphone Mute mutes or unmutes the microphone of the phone.

 

Examples:
  • Mute the microphone when the device screen is facing down.
Settings
Mute Microphone
Whether to mute or unmute the microphone.
Top

Set Mobile Datanetwork State

The action Set Mobile Datanetwork State turns the mobile datanetwork on or off.

Warning: This function is not officially supported by Android and might not work on all devices.

Warning: This function requires root access on some devices.

 

Examples:
  • Turn the mobile datanetwork off at night.
Settings
Mobile Datanetwork
Whether to turn mobile datanetwork on or off.
Top

Set Mobile Network Mode (2G/3G)

The action Set Mobile Network Mode (2G/3G) changes the network mode of the phone.

Warning: This function is not officially supported by Android and might not work on all devices.

Settings
Mobile Network Mode
The network mode to use. Strikethrough values are most likely not supported by the device.
Top

Set Network Location State

The action Set Network Location State changes the setting whether the system can use WiFi access points and the mobile network to determine your location.

Note: Android shows a confirmation dialog on some devices.
Warning: This function requires root access, is not officially supported by Android and might not work on all devices.

 

Examples:
  • Turn on the network location when Google Maps is started
Settings
Network Location
Whether the network location provider can be used to determine the location.
Top

Set NFC State

The action Set NFC State turns NFC globally on or off.

Warning: This function requires root access, is not officially supported by Android and might not work on all devices.

 

Examples:
  • Turn NFC on when entering the office to scan NFC tags.
Settings
NFC
Whether to turn NFC on or off.
Top

Set Night Mode

The action Set Night Mode turns the night mode of the device on or off or activates the automatic switch based on time and location. Changes to the night mode are only effective when the car or desk mode is enabled on a device.
Note: Not supported by all devices.

 

Examples:
  • Activate the night mode of the device at 10pm and turn back to normal mode at 6am.
Settings
Night Mode
Whether to turn night mode on, off or let the device handle the mode switching based on time and location.
Top

Set Proximity Screen Off State

The action Set Proximity Screen Off State turns on the function of Android that turns the display off, when the proximity sensor detects an object.

Warning: This function is not officially supported by Android <4.4 and might not work on all devices.

 

Examples:
  • Turn the display for a VoIP-app off, whenever the device is held to the head.
Settings
Proximity Screen Off
Whether to turn the feature on or off.
Show notification to reset
Whether to show a notification to reset or not.
Top

Set Restrict Background Data State

The action Set Restrict Background Data State

Warning: This function requires root access, is not officially supported by Android and might not work on all devices.

 

Examples:
  • Restrict background data at nicht to reduce data transfer.
Settings
Restrict background data
Whether to restrict background data or not.
Top

Set Ringer Mode

The action Set Ringer Mode changes the ringer to either Normal, Silent or Vibrate mode.

Note for Android 5+: The real silent mode has been removed by Google on Android 5. Activating silent mode instead switches the device interruption mode to Priority interruptions only. Please use action Set Interruptions Mode to switch between all three interruption modes.

Note for Android 6+: Google introduced a new mode called Alarms only. Activating silent mode now switches the device interruption/do not disturb mode to Alarms only. Please use action Set Interruptions Mode to switch between all four interruption modes.

 

Examples:
  • Turn your phone to vibrate in your office.
  • Turn your phone to normal mode when plugged in to a power adapter.
  • Turn your phone to normal and maximise the ringer volume when you get an SMS containing the text Phone Lost!
Settings
Ringer Mode
The ringer mode to set.
Top

Set Screen Brightness

The action Set Screen Brightness changes the screen brightness.

 

Examples:
  • Turn down the screen brightness when the battery is below 50%.
  • Turn the screen brightness to maximum when the power adapter is connected.
Settings
Automatic brightness
Whether to use automatic brightness or the value specified using the slider. Variables are supported.
Adaptive brightness
Whether adaptive brightness should be changed to the defined value. Variables are supported.

Warning: This function is not officially supported by Android and might not work on all devices.
Force update
Whether it should be ensured that the system applies the new values immediately. Otherwise the changes might take effect when the screen is turned on the next time on some versions of Android. Disabling this option can avoid flickering on some devices.
Top

Set Screen Orientation

The action Set Screen Orientation forces the device to use the specified screen orientation setting. It can be used to force the screen to always use landscape mode or to use the sensor to enable reverse portrait and reverse landscape orientations.

Warning: This function is not officially supported by Android and might not work on all devices. Some apps like launchers or games might crash when the screen can not be changed to the rotation required by the app.

 

Examples:
  • Force the device to use landscape mode even for the launcher
Settings
Screen Orientation
The orientation setting to force:
  • Reset to default: Resets to the device default so the device can use the orientation it wants to
  • Landscape: Force landscape
  • Portrait: Force portrait
  • Sensor: Force the use of the sensor detected orientation, even when an app requests landscape only
  • Don't use sensor: Don't allow to use the sensor for orientation determination
  • Sensor Landscape: Landscape or reverse landscape as determined by the sensor (from Android 2.3)
  • Sensor Portrait: Portrait or reverse portrait as determined by the sensor (from Android 2.3)
  • Reverse Landscape: Force reverse landscape (from Android 2.3)
  • Reverse Portrait: Force reverse portrait (from Android 2.3)
  • Sensor all orientations: All four possible orientations as determined by the sensor (from Android 2.3)
Show status bar notification to reset
Shows a lock icon in the statusbar to indicate that an orientation setting is enforced. Selecting the notification resets to the default value and is the same as executing this action with Reset to default
Top

Set Screen Timeout

The action Set Screen Timeout changes the screen timeout.

 

Examples:
  • Raise the screen timeout to 10 Minutes when the browser is started.
  • Lower the screen timeout to 15 Seconds when the battery is almost empty.
Settings
Screen Timeout
The new screen timeout to set.

Note: Not all devices support all timeouts. Some devices round the value to the most similar value as soon as the Android settings page is opened. Other devices modify the value to the minimum of (15 seconds) when the value is not supported.
Top

Set Speakerphone State

The action Set Speakerphone State turns the speakerphone of the phone on or off. On most devices a call must be active for this action to have any effect.

 

Examples:
  • Turn the speakerphone on an incoming call and the phone is in the car dock.
Settings
Speakerphone
Whether to turn the speakerphone on or off.
Top

Set System Locale

The action Set System Locale changes the currently use system locale.

Warning: This function is not officially supported by Android and might not work on all devices.
Warning: This function requires root access, is not officially supported by Android and might not work on all devices. (Android 4.2+)

Settings
Locale
The technical name of the locale to set. Variables are supported.
Top

Set System Setting

The action Set System Setting stores the specified value in the settings database of the system.

Warning: Modifying system settings to unsupported values can possibly harm your device or crash the system. Use at your own risk!

Note: Changes to some settings are not immediately picked up by the system but require an additional event to occur like turning the screen off and back on. Some settings need to be changed by special APIs, changing the value of such settings in the settings database are ignored by the system.

Note: adb can be used on some versions of Android to grant the permissions to modify settings from category secure and global without root:

  1. Install adb on a computer (search internet on how to install adb)
  2. enable USB Debugging in System settings -> Developer options on your Android device
  3. connect your Android device to the computer
  4. execute following command in a terminal: adb shell pm grant ch.gridvision.ppam.androidautomagic android.permission.WRITE_SECURE_SETTINGS

 

Examples:
  • Change the value of a ROM specific setting not available in a regular action in Automagic
Settings working on different devices (not available on all devices)
Pulse notification light/LED
Category: System
Name: notification_light_pulse
Value: 0 = off
1 = on
Night mode (Android 7+, when activated in System UI tuner)
Category: Secure
Name: twilight_mode
Value: 0 = off
1 = on
2 = automatic
Location mode
Category: Secure
Name: location_mode
Value: 0 = location mode off
1 = Device only
2 = Battery saving
3 = High accuracy

Alternatively:
Category: Secure
Name: location_providers_allowed
Value: +gps = turn GPS on
-gps = turn GPS off
+network = turn Network on
-network = turn Network off
Warning: Only change one value at a time! Changing multiple values at once will result in an inconsistent setting value which can only be fixed by a factory reset.
Mobile data
Category: Global
Name: mobile_data
Value: 0 = mobile data off
1 = mobile data on
LG specific settings (not available on all devices)
Pulse notification light/LED
Category: System
Name: lge_notification_light_pulse
Value: 0 = off
1 = on
Samsung S3 specific settings (not available on all devices)
Driving mode
Category: System
Name: driving_mode_on
Value: 0 = off
1 = on
Power saving mode
Category: System
Name: psm_switch
Value: 0 = off
1 = on
Blocking mode
Category: System
Name: dormant_switch_onoff
Value: 0 = off
1 = on
Multi window mode
Category: System
Name: multi_window_enabled
Value: 0 = off
1 = on
S Beam mode
Category: System
Name: sbeam_mode
Value: 0 = off
1 = on
Vibration intensity
Category: System
Name: VIB_RECVCALL_MAGNITUDE
VIB_NOTIFICATION_MAGNITUDE
VIB_FEEDBACK_MAGNITUDE
Value: 0 = weak to
5 = strong
Samsung S5 specific settings (not available on all devices)
Car mode
Category: System
Name: car_mode_on
Value: 0 = off
1 = on
Power saving mode
Category: System
Name: powersaving_switch
Value: 0 = off
1 = on
Blocking mode
Category: System
Name: dormant_switch_onoff
Value: 0 = off
1 = on
Multi window mode
Category: System
Name: multi_window_enabled
Value: 0 = off
1 = on
Toolbox
Category: System
Name: toolbox_onoff
Value: 0 = off
1 = on
Smart stay
Category: System
Name: intelligent_sleep_mode
Value: 0 = off
1 = on
Smart pause
Category: System
Name: smart_pause
Value: 0 = off
1 = on
Touch sensitivity
Category: System
Name: auto_adjust_touch
Value: 0 = off
1 = on
Vibration intensity
Category: System
Name: VIB_RECVCALL_MAGNITUDE
VIB_NOTIFICATION_MAGNITUDE
VIB_FEEDBACK_MAGNITUDE
Value: 0 = weak to
5 = strong
CyanogenMod specific settings (not available on all devices)
Expanded desktop
Category: System
Name: expanded_desktop_state
Value: 0 = off
1 = on
Settings
Category
  • System: for regular settings
  • Secure: for settings which can usually not be modified
  • Global: for global Settings valid for all users of the device (Android 4.2+)
Name
The name of the setting to modify. Variables are supported.
Value
The value to store in the system settings database. Variables are supported.
Top

Set System Setting (Android Wear)

The action Set System Setting (Android Wear) stores the specified value in the settings database of the system.

Warning: Modifying system settings to unsupported values can possibly harm your device or crash the system. Use at your own risk!

Note: Changes to some settings are not immediately picked up by the system but require an addition event to occur like turning the screen off and back on. Some settings need to be changed by special APIs, changing the value of such settings in the settings database are ignored by the system.

 

Examples:
  • Change the value of a ROM specific setting not available in a regular action in Automagic
Settings working on different devices (not available on all devices)
Pulse notification light/LED
Category: System
Name: notification_light_pulse
Value: 0=off 1=on
LG specific settings (not available on all devices)
Pulse notification light/LED
Category: System
Name: lge_notification_light_pulse
Value: 0=off 1=on
Samsung S3 specific settings (not available on all devices)
Driving mode
Category: System
Name: driving_mode_on
Value: 0=off 1=on
Power saving mode
Category: System
Name: psm_switch
Value: 0=off 1=on
Blocking mode
Category: System
Name: dormant_switch_onoff
Value: 0=off 1=on
Multi window mode
Category: System
Name: multi_window_enabled
Value: 0=off 1=on
S Beam mode
Category: System
Name: sbeam_mode
Value: 0=off 1=on
Vibration intensity
Category: System
Name: VIB_RECVCALL_MAGNITUDE
VIB_NOTIFICATION_MAGNITUDE
VIB_FEEDBACK_MAGNITUDE
Value: 0=weak to 5=strong
Samsung S5 specific settings (not available on all devices)
Car mode
Category: System
Name: car_mode_on
Value: 0=off 1=on
Power saving mode
Category: System
Name: powersaving_switch
Value: 0=off 1=on
Blocking mode
Category: System
Name: dormant_switch_onoff
Value: 0=off 1=on
Multi window mode
Category: System
Name: multi_window_enabled
Value: 0=off 1=on
Toolbox
Category: System
Name: toolbox_onoff
Value: 0=off 1=on
Smart stay
Category: System
Name: intelligent_sleep_mode
Value: 0=off 1=on
Smart pause
Category: System
Name: smart_pause
Value: 0=off 1=on
Touch sensitivity
Category: System
Name: auto_adjust_touch
Value: 0=off 1=on
Vibration intensity
Category: System
Name: VIB_RECVCALL_MAGNITUDE
VIB_NOTIFICATION_MAGNITUDE
VIB_FEEDBACK_MAGNITUDE
Value: 0=weak to 5=strong
CyanogenMod specific settings (not available on all devices)
Expanded desktop
Category: System
Name: expanded_desktop_state
Value: 0=off 1=on
Settings
Android Wear device
The target device. Variables are supported.
Category
  • System: for regular settings
  • Secure: for settings which can usually not be modified
  • Global: for global Settings valid for all users of the device (Android 4.2+)
Name
The name of the setting to modify. Variables are supported.
Value
The value to store in the system settings database. Variables are supported.
Top

Set Telephony Radio State

The action Set Telephony Radio State turns the radio of the phone on or off.

Warning: This function requires root access, is not officially supported by Android and might not work on all devices.

 

Examples:
  • Turn off the radio at night to save battery.
Settings
Method
Defines the method to use to turn the radio on/off.
Telephony Radio
Whether to turn the radio on or off.
Top

Set Timer

The action Set Timer creates a timer in a compatible timer app installed on the device.

Settings
Label
The label of the timer. Variables are supported.
Duration
The duration of the timer (second granularity). Variables are supported.
Skip UI
Whether or not the timer app should be displayed after setting the timer.
Top

Set USB Debugging State

The action Set USB Debugging State enables or disables the USB debugging setting.

Warning: This function requires root access, is not officially supported by Android and might not work on all devices.

Example:
  • Enable USB debugging at work and at home but disable USB debugging elsewhere.
Settings
USB Debugging
Whether to turn USB debugging on or off.
Top

Set USB Tethering State

The action Set USB Tethering State turns USB tethering on or off.

Note: This action does not supply the USB tethering feature by itself, it only turns on the setting. Some providers remove the USB tethering feature. This action can not turn on tethering on such a phone.

Warning: This function is not officially supported by Android and might not work on all devices.
Warning: This function requires root access starting with Android 4.0.

 

Examples:
  • Turn on USB tethering when USB is connected.
  • Turn off USB tethering when the battery level is below 50%.
Settings
USB Tethering
Whether to turn USB tethering on or off.
Top

Set Vibrate on Ring State

The action Set Vibrate on Ring State changes the setting whether the device should vibrate on ring or not.

Warning: This function is not officially supported by Android and might not work on all devices.

Settings
Vibrate on Ring
Whether to change the setting to vibrate on ring should be turned on or off.
Top

Set Wallpaper

The action Set Wallpaper changes the wallpaper of the phone to the defined static image.

 

Examples:
  • Change the wallpaper at home.
  • Change the wallpaper when an SMS is received.
Settings
Path to wallpaper image
The path to the image file to use as the wallpaper. Variables are supported.
A variable is a container for a value that can be used in many actions and conditions to dynamically define a part of a text.
See action Script for a description.

Supplied Variables
wallpaper_path
the path of the set wallpaper
Top

Set WiFi Access Point Priority

The action Set WiFi Access Point Priority sets the priority of an access point configuration to control which access point is chosen to connect to by the phone.

Note: The algorithm used by the device to determine which access point to use and if the device will reconnect to another access point is not known and might vary between devices, versions and manufacturer.

 

Examples:
  • Prefer a free access point over a paid one when both access points are available.
Settings
SSID
The SSID of the access point configuration to modify.
Priority
The priority to use.
Top

Set WiFi Sleep Policy

The action Set WiFi Sleep Policy changes the currently active sleep policy.

Warning: This function requires root access starting with Android 4.2 and is not officially supported by Android.

 

Examples:
  • Always activate WiFi even when you are not using your mobile phone to keep the connection to your media center active.
  • Only activate WiFi when you actively use your mobile phone.
Settings
Keep WiFi on during sleep
Whether WiFi should stay active when your mobile phone is in sleep mode or not.

Note: Disabling WiFi when the device is not active can increase mobile data usage when applications transmit data in the background.
Top

Set WiFi State

The action Set WiFi State turns WiFi globally on or off.

 

Examples:
  • Turn WiFi on when the phone is connected to a power source.
  • Turn WiFi off when the battery level is below 30%.
Settings
Wifi
Whether to turn WiFi on or off.
Top

Set WiFi State (Android Wear)

The action Set WiFi State (Android Wear) turns WiFi globally on or off.

 

Examples:
  • Turn WiFi on when the phone is connected to a power source.
  • Turn WiFi off when the battery level is below 30%.
Settings
Android Wear device
The target device. Variables are supported.
Wifi
Whether to turn WiFi on or off.
Top

Set Wifi Tethering State

The action Set Wifi Tethering State turns WiFi tethering on or off.

Note: This action does not supply the WiFi tethering feature by itself, it only turns on the setting. Some providers remove the WiFi tethering feature. This action can not turn on tethering on such a phone.

Warning: This function is not officially supported by Android and might not work on all devices.

 

Examples:
  • Turn on WiFi tethering when a power adapter is connected.
  • Turn off WiFi tethering when the battery level is below 50%.
Settings
Method
Defines the method to use to turn tethering on/off.
WiFi Tethering
Whether to turn WiFi tethering on or off.
WiFi Tethering
Whether to turn WiFi tethering on or off.
Turn WiFi on
Whether to turn WiFi on or off when tethering is turned off.
Top

Show Call Log

The action Show Call Log opens the built-in App to show the call log.

 

Top

Show Custom Widget Overlay

The action Show Custom Widget Overlay displays a custom Widget (defined within Automagic) on an arbitrary position on the display. The overlay is also shown on the lock screen on many Android versions.

Warning: This function is not officially supported by Android and might not work on all devices.

 

Examples:
  • Show the battery percentage as a semi-transparent rectangle over the statusbar.
  • Prevent accidental touches by displaying an overlay that covers the entire screen.
  • Shade the screen to a darker level than the built-in screen brightness control allows by displaying a semi transparent overlay covering the entire screen.
Settings
Overlay name
The name/identification of the overlay. The same name can be used to hide the overlay using action Hide Custom Widget Overlay.
The same identification can be used in multiple actions to display the same overlay in different configurations depending on situation (e.g.different settings when in landscape or portrait).
Widget
The name of the widget to display. Variables are supported.
Width/Height
The size of the overlay. Variables are supported.
Gravity
The position to align the overlay on the screen.
X/Y-Offset
The offset of the overlay relative to the gravity. Variables are supported.
Draggable
Whether the overlay can be moved on the screen using Drag&Drop.
Opacity
The transparency respectively opacity of the widget.
Clickable
Whether the overlay should react to clicks/touches. Warning: A clickable overlay blocks the touches of underlying elements!
Stretch widget
Whether the widget should be stretched to fill the entire area of the overlay.
Top

Show Custom Widget Overlay (Android Wear)

The action Show Custom Widget Overlay (Android Wear) displays a custom Widget (defined within Automagic) on an arbitrary position on the display.

Warning: This function is not officially supported by Android and might not work on all devices.

 

Examples:
  • Show the battery percentage as a semi-transparent rectangle over the statusbar.
  • Prevent accidental touches by displaying an overlay that covers the entire screen.
  • Shade the screen to a darker level than the built-in screen brightness control allows by displaying a semi transparent overlay covering the entire screen.
Settings
Android Wear device
The target device. Variables are supported.
Overlay name
The name/identification of the overlay. The same name can be used to hide the overlay using action Hide Custom Widget Overlay.
The same identification can be used in multiple actions to display the same overlay in different configurations depending on situation (e.g.different settings when in landscape or portrait).
Widget
The name of the widget to display. Variables are supported.
Width/Height
The size of the overlay. Variables are supported.
Gravity
The position to align the overlay on the screen.
X/Y-Offset
The offset of the overlay relative to the gravity. Variables are supported.
Draggable
Whether the overlay can be moved on the screen using Drag&Drop.
Opacity
The transparency respectively opacity of the widget.
Clickable
Whether the overlay should react to clicks/touches. Warning: A clickable overlay blocks the touches of underlying elements!
Stretch widget
Whether the widget should be stretched to fill the entire area of the overlay.
Top

Show Home Screen

The action Show Home Screen launches the home screen.

Settings
Page
The number of the page to show (only supported by a few launchers). Variables are supported.

Note for developers: The selected page is passed as an int-extra with name net.dinglisch.android.tasker.extras.HOME_PAGE to the launcher.
Top

Show Input Method Selector

The action Show Input Method Selector shows the screen to select the input method/keyboard.

 

Examples:
  • Open the input method selector to change the keyboard using action Control UI.
Top

Shutdown

The action Shutdown shuts the device down.

Warning: This function requires root access, is not officially supported by Android and might not work on all devices.

Top

Silence Ringer

The action Silence Ringer silences the ringer and stops the vibrator when an incoming call is currently ringing.

Warning: This function requires root access, is not officially supported by Android and might not work on all devices.

 

Examples:
  • Silence the ringer on a call after 5 seconds when you are in a meeting.
Top

Sleep

The action Sleep pauses the flow execution for a certain amount of time.

Note: Please uncheck the option Keep device awake when the period is longer than one to two minutes and the functions of the flow does not require an active device CPU.

 

Examples:
  • Sleep a second when a vibrate action is executing.
  • Slow down a countdown flow.
Settings
Duration
The amount of time to sleep. Variables are supported.
Keep device awake
Ensure that the device does not go into deep sleep while the action is executed.
Unchecking this option will not prevent the device from falling into deep sleep mode. The device will be woken up when the specified period has elapsed.
Wakeup from idle/doze (Android 6+)
Defines if this action is allowed resume from idle/doze mode. (see Device Idle/Doze Mode)
Top

Snooze Notification on Statusbar

The action Snooze Notification on Statusbar asks the system to hide a notification for a defined amount of time.
The flow must be executed by a trigger Notification on Statusbar Displayed or the action after a condition Notification on Statusbar Displayed otherwise Automagic has no possibility to access the notification.

 

Examples:
  • Hide a notification for a missed call for one hour.
Settings
Duration
Top

Sound

The action Sound plays the selected sound.

 

Examples:
  • Beep every 5 minutes when Gleeo Time Tracker is recording.
  • Play an additional alert when an SMS is received.
Settings
Sound Type
The type of sound to select.

Possible settings:
  • Built-in sound: to select a built-in notification, alarm or ringtone
  • File: to select an arbitrary audio file to play
Sound
The name of the selected ringtone, notification or alarm sound.
File
The path or the URL to the audio file to play. Variables are supported.
Audio Stream Type
The stream to use to play the sound.
Start Position
The start position in milliseconds to use to start the playback. Variables are supported.
Show status bar notification to stop sound
Shows a status bar notification when the sound is playing that stops the sound when selected.
Wait for sound to finish
Makes the action wait for the sound to finish before continuing with the next element in the flow.
Request audio focus
Defines whether or not and how Automagic should request audio focus. This causes other apps like music players to pause playback or to temporarily lower the volume.

Possible settings:
  • Transient: Automagic requests temporary audio focus, other apps usually pause playback temporarily (depends on app)
  • Transient may duck: Automagic requests temporary audio focus, other apps either temporarily pause playback or temporarily lower the volume (depends on app)
  • Normal: Automagic requests the normal audio focus, other apps usually pause/stop playback (depends on app)
Top

Speech Output

The action Speech Output uses the default text to speech engine installed to read the defined text.

 

Examples:
  • Read out the incoming SMS.
  • Read the current time when you press a shortcut.
Settings
Voice
The voice/language to use. The list of available voices depends on the installed TTS engine.
Audio Stream Type
The type of the audio stream to use to emit the speech output.
Text
The text to speak. Variables are supported.

Examples:
  • use {triggertime,dateformat,HH:mm:ss} to read the time
Speech Rate
Whether or not to use a custom speech rate (0.5=slow, 1.0=normal, 2.0=fast). Not supported by all text to speech engines. Variables are supported.
Pitch
Whether or not to use a custom pitch (0.5=low, 1.0=normal, 2.0=high). Not supported by all text to speech engines. Variables are supported.
Synthesis Embedded
When checked the engine must not use network access to synthesise the speech. Not supported by all text to speech engines.
Synthesis Network
When checked the engine must use network based synthesis. Not supported by all text to speech engines.
Show status bar notification to stop speaking
Shows a status bar notification when the tts engine is speaking that stops the speaking when selected.
Request audio focus
Defines whether or not and how Automagic should request audio focus. This causes other apps like music players to pause playback or to temporarily lower the volume.

Possible settings:
  • Transient: Automagic requests temporary audio focus, other apps usually pause playback temporarily (depends on app)
  • Transient may duck: Automagic requests temporary audio focus, other apps either temporarily pause playback or temporarily lower the volume (depends on app)
  • Normal: Automagic requests the normal audio focus, other apps usually pause/stop playback (depends on app)
Top

Start Activity

The action Start Activity starts an activity using the specified intent. Please also see the documentation of the Android Intent class.
Tip: Some activities require special permissions to be launched. Check the log after testing the action when an activity fails to start.

 

Examples:
  • Start a specific action exposed by another application
  • Start a Skype call:
    • Action: android.intent.action.VIEW
    • Data URI: skype:echo123
  • Dial a number (without calling):
    • Action: android.intent.action.DIAL
    • Data URI: tel:99
  • Starting a mail app with a predefined subject:
    • Action: android.intent.action.SEND
    • Data MIME Type: text/plain
    • Extras: putString("android.intent.extra.SUBJECT", "test")
Settings
Action
The action to use in the intent. Variables are supported.
Category List
The list of categories as a comma separated list to add to the intent. Variables are supported.
Data URI
The data URI to set on the intent. Variables are supported.
Mime Type
The mime type to set on the intent. Variables are supported.
Package Name
The specific package to launch. Variables are supported.
Class Name
The specific activity to launch. Variables are supported.
Flag List
The flags to add to the intent. Note that the flag Intent.FLAG_ACTIVITY_NEW_TASK is always added to the intent.
Extras
A script used to add an unlimited number of extras to the intent.

Additionally to the regular built in functions of Automagic also the following functions are available to add the extras to the intent:
  • putString(key, value)
  • putBoolean(key, value)
  • putFloat(key, value)
  • putDouble(key, value)
  • putByte(key, value)
  • putShort(key, value)
  • putChar(key, value)
  • putInt(key, value)
  • putLong(key, value)
  • putUri(key, value)
  • putBooleanArray(key, value)
  • putByteArray(key, value)
  • putIntArray(key, value)
  • putIntegerArrayList(key, value)
  • putLongArray(key, value)
  • putFloatArray(key, value)
  • putDoubleArray(key, value)
  • putShortArray(key, value)
  • putCharArray(key, value)
  • putStringArray(key, value)
  • putStringArrayList(key, value)
  • putUriArray(key, value)
  • putUriArrayList(key, value)

Example:
putString("key1", "Hello");
putBoolean("key2", true);
putDouble("key3", 1.23);
putInt("key4", 42);
putInt("key5", a+4*b);
See action Script for a description of the scripting language.
Wait for result
Whether Automagic should wait for the activity to return a result (only works when supported by the activity).
Access Result Extras
Script to access the extras in the returned intent.
Following functions are supported:
  • getString(String key)
  • getChar(String key, String defaultValue)
  • getBoolean(String key, Boolean defaultValue)
  • getFloat(String key, Number defaultValue)
  • getDouble(String key, Number defaultValue)
  • getByte(String key, Number defaultValue)
  • getShort(String key, Number defaultValue)
  • getInt(String key, Number defaultValue)
  • getLong(String key, Number defaultValue)
  • getBundle(String key)
  • getUri(String key)
  • getBooleanArray(String key)
  • getByteArray(String key)
  • getShortArray(String key)
  • getCharArray(String key)
  • getIntArray(String key)
  • getIntegerArrayList(String key)
  • getLongArray(String key)
  • getFloatArray(String key)
  • getDoubleArray(String key)
  • getStringArray(String key)
  • getUriArray(String key)
  • getUriArrayList(String key)
  • getParcelableAsString(String key)
  • getParcelableArrayAsString(String key)
  • getParcelableArrayListAsString(String key)
  • getParcelable(String key)
See action Script for a description of the scripting language.
A variable is a container for a value that can be used in many actions and conditions to dynamically define a part of a text.
See action Script for a description.

Supplied Variables
result_code (only if Wait for result is enabled)
the returned result code
operation (only if Wait for result is enabled)
string "ok", when result_code was -1, "cancel" otherwise
action (only if Wait for result is enabled)
the action of the received intent
data_string (only if Wait for result is enabled)
the data of the received intent as a string
categories (only if Wait for result is enabled)
the list of categories
scheme (only if Wait for result is enabled)
the scheme of the received intent
type (only if Wait for result is enabled)
the explicitly set MIME type of the received intent
Top

Start Daydream

The action Start Daydream starts the daydream configured in the Android settings.

Warning: This function is not officially supported by Android and might not work on all devices.

Note: The action requires Android 4.2+.

 

Examples:
  • Start to daydream when a shortcut is clicked.
Top

Start Recording Audio

The action Start Recording Audio starts recording the specified audio source to the defined file. Only one audio file can be captured at a time.
The recording can be stopped manually using the shown statusbar notification or by executing the action Stop Recording Audio.

Warning: Some audio sources are not supported on most devices due to technical or legal reasons.

 

Examples:
  • Start recording the audio of an incoming call.
  • Record the audio at night between 1am and 2am.
  • Record the audio for 10 minutes when an SMS arrives and send the resulting audio file to your mail account.
Settings
Audio Source
The audio source to record.

Warning: The voice audio sources are not supported on most devices due to technical or legal reasons.
Audio Encoder
The audio encoding to use to compress the recorded audio.
Maximum Duration
The maximum duration to use when recording audio.
File
The path of the file to store the recorded audio in. A file ending of m4a or mp4 is recommended. Variables are supported.

Example:
  • /mnt/sdcard/audio_{triggertime,dateformat,yyyy_MM_dd}.m4a becomes /mnt/sdcard/audio_2011_02_13.m4a
Show status bar notification to stop recording
Shows a status bar notification when audio is recording to stop.
Top

Start Recording Screen (Experimental)

The action Start Recording Screen (Experimental) starts to record the screen as a video to the defined file. Only one recording session can be active at the same time.
The recording can be stopped manually using the shown statusbar notification or by executing the action Stop Recording Screen.

 

Examples:
  • Record the screen for a few seconds when the device was stolen.
Settings
Resolution
The resolution.
Bit rate
The bit rate..
File
The path of the file to store the recorded video in. A file ending of mp4 is recommended. Variables are supported.
Record audio
Whether to record audio using the device microphone or not.
Show status bar notification to stop recording
When enabled shows a status bar notification to stop recording.
Top

Start Service

The action Start Service starts a service using the specified intent. Please also see the documentation of the Android Intent class.
Tip: Some services require special permissions to be launched. Check the log after testing the action when a service fails to start.

 

Settings
Action
The action to use in the intent. Variables are supported.
Category List
The list of categories as a comma separated list to add to the intent. Variables are supported.
Data URI
The data URI to set on the intent. Variables are supported.
Mime Type
The mime type to set on the intent. Variables are supported.
Package Name
The specific package to launch. Variables are supported.
Class Name
The specific service to launch. Variables are supported.
Flag List
The flags to add to the intent.
Extras
A script used to add an unlimited number of extras to the intent.

Additionally to the regular built in functions of Automagic also the following functions are available to add the extras to the intent:
  • putString(key, value)
  • putBoolean(key, value)
  • putFloat(key, value)
  • putDouble(key, value)
  • putByte(key, value)
  • putShort(key, value)
  • putChar(key, value)
  • putInt(key, value)
  • putLong(key, value)
  • putUri(key, value)
  • putBooleanArray(key, value)
  • putByteArray(key, value)
  • putIntArray(key, value)
  • putIntegerArrayList(key, value)
  • putLongArray(key, value)
  • putFloatArray(key, value)
  • putDoubleArray(key, value)
  • putShortArray(key, value)
  • putCharArray(key, value)
  • putStringArray(key, value)
  • putStringArrayList(key, value)
  • putUriArray(key, value)
  • putUriArrayList(key, value)

Example:
putString("key1", "Hello");
putBoolean("key2", true);
putDouble("key3", 1.23);
putInt("key4", 42);
putInt("key5", a+4*b);
See action Script for a description of the scripting language.
Top

Stop Action Sound

The action Stop Action Sound stops a currently executing action Sound

A variable is a container for a value that can be used in many actions and conditions to dynamically define a part of a text.
See action Script for a description.

Supplied Variables
sound_position
the playback position of the stopped sound in milliseconds (first sound if multiple playing), null when no sound was stopped
sound_duration
the total duration of the sound in milliseconds (first sound if multiple playing), null when the media framework of Android can not determine the duration (live stream etc.)
Top

Stop Action Speech Output

The action Stop Action Speech Output stops a currently executing action Speech Output

Top

Stop Flows

The action Stop Flows stops one or multiple flows specified in the field Flow pattern list as soon as possible. Use an action Set Flow State to disable flows.

 

Examples:
  • Stop a wake-up flow when the device is shaken.
Settings
Flow pattern list
A comma separated list of flow names to stop. Glob patterns * and ? can be used to match similar named flows.

Examples:
  • Test Flow
  • Test Flow, SMS Flow
  • *battery save*
Exclude flow pattern list
A comma separated list of flow names to not stop, even when the field Flow pattern list includes the flow.
Top

Stop Recording Audio

The action Stop Recording Audio stops the currently recording audio started with action Start Recording Audio.

 

Examples:
  • Stop recording a call when the call ends.
Top

Stop Recording Screen (Experimental)

The action Stop Recording Screen (Experimental) stops a recording that was previously started with action Start Recording Screen.

Top

Store Audio Volumes

The action Store Audio Volumes stores the currently set audio volumes in global variables to restore using action Restore Audio Volumes.

 

Examples:
  • Store the audio volumes when a meeting begins, set all volumes to zero and restore the previously volumes when the meeting ends
Settings
Alarm
Whether or not to store the alarm volume and the name of the variable to store the volume in.
DTMF
Whether or not to store the DTMF volume and the name of the variable to store the volume in.
Music
Whether or not to store the music volume and the name of the variable to store the volume in.
Notification
Whether or not to store the notification volume and the name of the variable to store the volume in.
Ring
Whether or not to store the ringtone volume and the name of the variable to store the volume in.
System
Whether or not to store the system volume and the name of the variable to store the volume in.
Voice Call
Whether or not to store the voice call volume and the name of the variable to store the volume in.
Ringer Mode
Whether or not to store the ringer mode and the name of the variable to store the value in.
Interruptions Mode
Whether or not to store the interruptions mode and the name of the variable to store the value in.
A variable is a container for a value that can be used in many actions and conditions to dynamically define a part of a text.
See action Script for a description.

Supplied Variables
names of the variables defined in the text fields
the volumes, ringer mode and interruptions mode as numbers
Top

Take Picture

The action Take Picture takes a picture using the built-in camera app or directly in the background without showing a user interface/preview (Android 4+)

 

Examples:
  • Take a picture once an hour and upload the image to Dropbox
Settings
Recording Mode
Whether to use the camera app or to take the picture in the background without user interface (Android 4+).
Target File
The target file to save the picture. Variables are supported.
Camera
The camera to use to take the picture.
Picture Size
The resolution of the image.
Zoom
The zoom ratio.
Scene Mode
The scene mode.
Flash Mode
Whether to use the flash or not.
White Balance
The white balance setting to use.
Focus Mode
The focus mode to use.
Effect
The effect to apply to the image. Not all effects work with all cameras. Often the effect is ignored for the front-facing camera.
Await preview images
Whether or not Automagic should await that the camera produces valid preview images before it takes the picture. Can be unchecked to take pictures faster or to workaround issues when the camera does not produce any preview images and thus runs into a timeout.
Delay to fix black picture
Whether or not and how long Automagic should delay taking the picture after the camera has been initialized by Android. On some devices a delay of about 2 seconds can prevent the camera from producing black pictures.
Add to gallery
Whether or not the image should be made available in the gallery app. Otherwise the picture will become available when the system scans the device for media files the next time.
A variable is a container for a value that can be used in many actions and conditions to dynamically define a part of a text.
See action Script for a description.

Supplied Variables
picture_path
the target path of the picture
Top

Take Screenshot (Experimental)

The action Take Screenshot (Experimental) creates a screenshot of the currently displayed screen.

Tip: Action Execute Root Command: screencap -p image.png can be used on many rooted devices to take a screenshot on older versions of Android.

Note: Android delivers the screen content compressed to Automagic, the quality of the image is not always optimal. Some devices only allow to take screenshots with a low resolution.

Note: Views that are marked as secure by the displaying app can not be recorded.

Note: The display has to be turned on to take a screenshot.

 

Examples:
  • Create a screenshot and send the image as an attachment as an EMail when a special SMS is received.
Settings
Resolution
The resolution.
File
The path of the file to store Variables are supported.
A variable is a container for a value that can be used in many actions and conditions to dynamically define a part of a text.
See action Script for a description.

Supplied Variables
operation
"ok" when successful, "cancel" when interrupted
output_path
the target path of the screenshot
Top

Turn Screen On

The action Turn Screen On turns the screen on for a few seconds.

 

Examples:
  • Turn the screen on when an SMS arrives.
Settings
Screen Brightness
Whether to screen should be fully turned on or only dimmed.

Note: Some devices ignore this setting and always use the bright mode.
Duration
The amount of time to keep the screen on. Variables are supported.

Note: Some devices ignore this setting and use a longer duration.
Reset user activity timer
Whether or not to reset the user activity timer. Resetting the timer keeps the screen on a little bit longer.

Note: Some devices ignore this setting.
Top

Turn Screen On (Android Wear)

The action Turn Screen On (Android Wear) turns the screen on for a few seconds.

 

Examples:
  • Turn the screen on when an SMS arrives.
Settings
Android Wear device
The target device. Variables are supported.
Top

Unzip Files

The action Unzip Files unzips all files and folders contained in the ZIP file to the specified target folder.

 

Examples:
  • Unzip all files in archive.zip to directory /mnt/sdcard/xyz/
Settings
ZIP File
The ZIP File to uncompress. Variables are supported.
Target Directory
The absolute path of the target directory to unzip the archive to. Variables are supported.
Show progress notification
Whether or not to show a notification on the statusbar indicating the progress of the operation.
Top

Update Media Database (Experimental)

The action Update Media Database (Experimental) checks the specified file or folder to delete not existing files from the media database and scans all existing files so the system can add them to the media database when desired.

Note: Please note that scanning of files is a heavy weight process and should be executed only infrequently. It's not recommended to scan the entire external storage.

 

Examples:
  • Scan a new folder after the folder has been copied to ensure that images are shown immediately in the gallery.
Settings
File
The file or folder to scan. Variables are supported.
Top

Update Quick Settings Tile

The action Update Quick Settings Tile updates a tile that was create with trigger Quick Settings Tile Selected.

Note: Deactivating/activating a flow containing the trigger Quick Settings Tile Selected will update the tile with the information available to the trigger.

 

Examples:
  • Change the icon of a tile when a particular system setting was turned off.
Settings
Tile
The tile to use.
Icon
Label
State
The state of the tile.
Top

Vibrate

The action Vibrate vibrates with a specific pattern.

 

Examples:
  • Vibrate when WiFi has been disconnected.
  • Vibrate when entering a location.
Settings
Pattern Type
Whether to use a predefined pattern or to enter/record a custom pattern.
Vibrate Pattern
The vibration pattern to use.
A custom pattern can be composed using a list of numbers in milliseconds to turn the vibrator on/off like 0,500,1000,500 (0ms pause, 500ms vibration, 1000ms pause, 500ms vibration).
Top

Vibrate (Android Wear)

The action Vibrate (Android Wear) vibrates with a specific pattern.

 

Examples:
  • Vibrate when WiFi has been disconnected.
  • Vibrate when entering a location.
Settings
Android Wear device
The target device. Variables are supported.
Pattern Type
Whether to use a predefined pattern or to enter/record a custom pattern.
Vibrate Pattern
The vibration pattern to use.
A custom pattern can be composed using a list of numbers in milliseconds to turn the vibrator on/off like 0,500,1000,500 (0ms pause, 500ms vibration, 1000ms pause, 500ms vibration).
Top

Top

WiFi Reassociate

The action WiFi Reassociate reconnects to the currently active access point.

Top

WiFi Scan

The action WiFi Scan starts a scan for available access points.

Note: This is an asynchronous operation and you have to use a trigger WiFi Scan Results Available to process the results.

 

Examples:
  • Start a WiFi scan when you are coming home to faster connect to the access point.
Top

Write HTTP Response File (Experimental)

The action Write HTTP Response File (Experimental) writes the specified file as a response to a HTTP request. The flow must be invoked by a trigger HTTP Request to write a response.

 

Example:
  • Fetch a file on your Android device from your desktop PC when connected to the same WiFi network.
Settings
File
The name of the file to deliver. Variables are supported.
Custom HTTP Headers
A text containing the custom HTTP headers to send. Variables are supported.

Each line should start with the header name and a colon followed by the value to send.

Examples:
  • User-Agent: my own user agent
  • SOAPAction: "test"
Top

Write HTTP Response Text (Experimental)

The action Write HTTP Response Text (Experimental) writes the specified text as a response to a HTTP request. The flow must be invoked by a trigger HTTP Request to write a response.

 

Example:
  • Return a page with device information when a specific page is requested.
Settings
Text
The text to write. Variables are supported.
Content Type
The content type (like text/plain or text/html) of the content. The content type is only considered when no data has been returned to the client yet. Variables are supported.
Custom HTTP Headers
A text containing the custom HTTP headers to send. Variables are supported.

Each line should start with the header name and a colon followed by the value to send.

Examples:
  • User-Agent: my own user agent
  • SOAPAction: "test"
Top

Write to File

The action Write to File writes the defined text to the specified file. The action automatically creates the file when the file does not exist yet.

 

Examples:
  • Record your location every 20 minutes to a file.
  • Write all incoming SMS to a file.
Settings
File
The file to write the text to. Variables are supported.
Text
The text to write into the file. The text can contain multiple lines. Variables are supported.
Append
Whether to append the text to the end of the file or to overwrite the file.
Top

Write to Log

The action Write to Log appends the defined text to the log file.

 

Examples:
  • Log a variable to debug a flow.
Settings
Text
The text to write to the log file. Variables are supported.
Top

Zip Files

The action Zip Files creates a Zip archive containing the specified files and directories.

 

Examples:
  • Zip all files in directory /mnt/sdcard/xyz/ to the zip file /mnt/sdcard/backup.zip
Settings
Source Files
A comma separated list of files or directories to zip. Glob patterns can be used to match multiple files. Variables are supported.
Examples:
  • /mnt/sdcard/export* matches all files with a name starting with export in folder /mnt/sdcard
The files in the ZIP file are stored relative based on the parent directory of the files to archive:
  • Source Files /mnt/sdcard/export* will store all export* files directly (without parent folder) in the ZIP file
  • Source Files /mnt/sdcard/download/ (note the trailing slash) will store all files in folder download directly (without parent folder) in the ZIP file
  • Source Files /mnt/sdcard/download (no trailing slash) will store the folder download and its contained files in the ZIP file
ZIP File
The absolute path of the target ZIP file to create. Variables are supported.
Show progress notification
Whether or not to show a notification on the statusbar indicating the progress of the operation.
Top