Sei sulla pagina 1di 341

Base Concepts

Creating the First Flow


Creating a Custom Widget
Main Screens
Triggers
Conditions
Actions
Actions
Answer Ringing Call
Call Number
Clear Automagic Log
Close System Dialogs
Connect/Disconnect Bluetooth Device
Control Audio Player
Control UI
Copy File
Copy Files
Copy Text from Clipboard
Copy Text to Clipboard
Create Calendar Event
Create Directories
Delete Files
Dismiss Slide to Unlock Keyguard
Download URL
Dropbox Delete Files
Dropbox Download Files
Dropbox Upload File
Dropbox Upload Files
Enable WiFi Access Point
End Call
Execute Command
Execute Flows
Execute Root Command
Export Flows/Widgets
Flashlight
FTP Delete Files
FTP Download Files
FTP Upload File
FTP Upload Files
Gleeo Create Entry
Gleeo Filesystem Export
Gleeo Start Recording
Gleeo Stop Recording
Google Drive Delete Files (Experimental)
Google Drive Download Files
(Experimental) Google Drive Upload Files
(Experimental) Hide Custom Widget
Overlay
HTTP Request
Import Flows/Widgets
Init Variable File List
Init Variable Image File
Init Variable Location
Init Variable Random Number
Init Variable System Setting
Init Variable Text File
Init Variables Call Log
Init Variables Device Orientation
Init Variables File Info
Init Variables Gleeo Recording
Init Variables Phone Info
Input Dialog
Input Speech (Experimental)
Kill App
Kill App Process
Launch App
Launch Shortcut
Lock Device
Mail with Gmail
Map Values
Message Dialog
Modify Call Log
Modify Image
Move Files
Notification on Screen
Notification on Statusbar
Open URL in Browser
Perform Action on Notification on Statusbar
Plugin (Experimental)
Post Tweet
Post Twitter Direct Message
Query Content Provider
Reboot
Remove Notification Missed Calls Remove
Notification on Statusbar Request Sync
Reregister Media Button Receiver Restore
Audio Volumes
Save Variable in Image File
Scan Barcode
Script
Send Broadcast
Send SMS
Send Wake on LAN Packet
Set Airplane Mode
Set Alarm
Set Audio Manager Mode
Set Audio Volume
Set Auto Sync State
Set Auto-rotate Screen State
Set Bluetooth SCO State
Set Bluetooth State
Set Bluetooth Tethering State
Set Car UI Mode
Set Data Roaming State
Set Default Input Method
Set Default Ringtone
Set Flow State
Set GPS State
Set Keyguard State
Set Lock Pattern State
Set Lock PIN/Password
Set Microphone Mute
Set Mobile Datanetwork State
Set Mobile Network Mode (2G/3G)
Set Network Location State
Set NFC State
Set Night Mode
Set Ringer Mode
Set Screen Brightness
Set Screen Orientation
Set Screen Timeout
Set Speakerphone State
Set System Locale
Set System Setting
Set Telephony Radio State
Set Timer
Set USB Debugging State
Set USB Tethering State
Set Vibrate on Ring State
Set Wallpaper
Set WiFi Access Point Priority
Set WiFi Sleep Policy
Set WiFi State
Set Wifi Tethering State
Show Call Log
Show Custom Widget Overlay
Show Home Screen
Show Input Method Selector
Shutdown
Silence Ringer
Sleep
Sound
Speech Output
Start Activity
Start Daydream
Start Recording Audio
Start Service
Stop Action Sound
Stop Action Speech Output
Stop Flows
Stop Recording Audio
Store Audio Volumes
Take Picture
Turn Screen On
Unzip Files
Vibrate
Voice Search (Experimental)
WiFi Reassociate
WiFi Scan
Write HTTP Response File (Experimental)
Write HTTP Response Text (Experimental)
Write to File
Write to Log
Zip Files
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.
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
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.
The action Clear Automagic Log clears the internal log of Automagic (not the log on the SD-card when enabled in the
preferences).
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.
Clear Automagic Log
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.
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
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.
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()
Opens the notifications.
Boolean quickSettings()
Opens the quick settings.
Boolean recents()
Opens the recent application list.
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 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 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 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 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 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 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 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 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 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 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(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 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 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 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+)
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.
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].
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 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).
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.
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.
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
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.
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
The title. Variables are supported.
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).
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.
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.
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.
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 can be used to create dynamic urls based on time.
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
Show progress notification
Whether or not to show a notification on the statusbar indicating the progress of the operation.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Disable other access points
Whether to disable all other access point configurations or not.
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.
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.
Working Directory
The path the command is executed in.
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
Execute Flows
The action Execute Flows executes one or multiple flows specified in the field Flow pattern list.
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.
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
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.
Working Directory
The path the command is executed in.
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
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
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.
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
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.
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
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.
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
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.
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
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.
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
Project
The name of the project to create an entry for. The project has to already exist in Gleeo Time Tracker.
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.
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
Projects to Export
The list of projects to export.
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
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
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
Project
The name of the project to start recording. The project has to already exist in Gleeo Time Tracker.
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.
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
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.
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.
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.
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.
Hide Custom Widget Overlay
The action Hide Custom Widget Overlay hides a previously shown overlay.
Settings
Overlay name
The name/identification of the overlay to hide.
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.
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.
Request Method
The HTTP request method to use.
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.
Timeout
The timeout to use.
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
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
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.
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
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
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)
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
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
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
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
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
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
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 title 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 Project Title
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_project_title
the project title
recording_task_name
the task name
recording_start
the start time of the currently recording task
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
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=SIM PIN required, 3=SIM PUK required, 4=network PIN required, 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
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
Title
The title of the input dialog. Variables are supported.
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
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.
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)
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
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)
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.
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
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.
Launch Shortcut
The action Launch Shortcut starts a previously defined shortcut.
Examples:
Open a specific settings page
Play an audio playlist
Directly display a contact
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!
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 xyz@gmail.com. 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.
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
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.
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.
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.
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
How the image should be modified (scale, rotate or mirror).
Width
The new width of the image. The width is adjusted proportionally, when only the new height is specified. Variables are
supported.
Height
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.
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
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.
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
Text
The text to show. Variables are supported.
Duration
Whether to show the duration for a short duration (about 2 seconds) or longer (about 4 seconds).
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.
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. Notification LED and user defined colors are not supported on all
devices.
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.
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 can be used to remove a notification with this ID on the statusbar.
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).
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.
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
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.
Perform Action on Notification on Statusbar
The action Perform Action on Notification on Statusbar clicks 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' 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
Button
The label of the button to click. The label needs to match the entered text exactly. Variables are supported.
Plugin (Experimental)
The action Plugin (Experimental) executes the action defined in a plugin. A flow has no technical way to wait for a plugin to
finish the action. 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)
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.
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.
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.
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
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.
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.
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+)
Notification ID
The ID of the notification to remove. The ID must match the ID used in the action Notification on Statusbar.
All removes all notifications irrespective of the ID.
Notifications
Whether to remove all removable notifications or only the notifications of the specified app.
Package Name
The name of the package/app 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.
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
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.
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 volume from.
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.
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
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 files (see action Init Variable File List) as a multiline text with one file per line when no
pattern is specified.
Following listformat patterns are supported:
comma: Formats the list of files as a comma separated list.
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
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
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 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.
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.
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.
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.)
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 removeElementValue(List list, Object o1)
Returns the same list after removing all elements with the specified value.
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.
Object getElement(List list, Number index)
Returns the object at the specified index (zero based).
Object getRandomElement(List list)
Returns a random element 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.
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
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.",
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.
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).
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.
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.
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.
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 getWidgetNames()
Returns a list containing the names of all widgets.
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
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)
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.
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
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.
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
Turn Airplane Mode On/Off
Whether to turn airplane mode on or off.
Set Alarm
The action Set Alarm creates an alarm in the alarm app available on the device.
Settings
Label
The label to use in the alarm. Variables are supported.
Hour (023)
The hour to use in the alarm. Variables are supported.
Minutes (059)
The minutes to use in the alarm. Variables are supported.
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.
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.
Volume
The volume level to use. The maximum level differs for the different audio streams.
Play Sound
Whether to play the short volume adjustment sound when the action is executed.
Show Volume Level Popup
Whether to show a popup indicating the new volume level.
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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+)
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:
Important: Set the screen lock in the settings of Android to 'None'
activate the desired PIN/Password screen lock in the settings of Android
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.
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.
PIN
The PIN to set.
Password
The password to set.
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.
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.
Examples:
Turn the mobile datanetwork off at night.
Settings
Mobile Datanetwork
Whether to turn mobile datanetwork on or off.
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.
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.
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.
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.
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.
Set Ringer Mode
The action Set Ringer Mode changes the ringer to either Normal, Silent or Vibrate mode.
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.
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.
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
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.
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.
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.
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 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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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.
Show Call Log
The action Show Call Log opens the built-in App to show the call log.
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.
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.
Show Home Screen
The action Show Home Screen launches the home screen.
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.
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.
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.
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.
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 play.
Select Sound
To select the sound of the category above.
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)
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)
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)
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
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.
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.
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.
Stop Action Sound
The action Stop Action Sound stops a currently executing action Sound
Stop Action Speech Output
The action Stop Action Speech Output stops a currently executing action Speech Output
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.
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.
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 volume 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 and ringer mode as numbers
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.
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
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.
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.
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).
Voice Search (Experimental)
The action Voice Search (Experimental) starts the built-in voice search of the system. The speech recognition engine
usually requires network access.
Settings
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.
WiFi Reassociate
The action WiFi Reassociate reconnects to the currently active access point.
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.
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.
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.
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.
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.
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.
Base Concepts
Creating the First Flow
Creating a Custom Widget
Main Screens
Triggers
Conditions
Actions
Base Concepts
Flow
An automatic process executed by Automagic is defined using a flow.
A flow consists of three types of elements:
Trigger
Condition
Action
A flow can consist of an unlimited number of such elements. The same trigger,
condition or action can be used in more than one flow. Changes to an element affect
all flows where this element is used.
Triggers
A trigger initiates the flow whenever some type of event is detected by the system.
Several types of triggers exist:
Time
Location
Shortcut
Incoming SMS (Premium)
Battery State (Premium)
Power State (Premium)
...and many more...
Multiple triggers can be added to the same flow. A flow is executed when one of the
triggers receives an event.
Conditions
A condition executes a check and continues the flow depending on the result on one
of the two possible outputs true or false.
Several types of conditions exist:
Gleeo is recording
Location
Time range
Confirmation dialog
Expression (Premium)
...and many more...
A flow stops executing when a condition is evaluated to an output that has no
subsequent conditions or actions defined.
Actions
An action executes an operation or changes a setting.
Several types of actions exist:
Gleeo Start Recording
Gleeo Stop Recording
Gleeo Filesystem Export
Turn WiFi on/off (Premium)
Turn Flightmode on/off (Premium)
Send SMS (Premium)
Send mail (Premium)
Change audio settings (Premium)
...and many more...
Variables
Variables are a very powerful feature and can be used to define a part of a text dynamically.
Example: Every trigger stores the time of execution in a variable called triggertime.
You can show the time in an action Notification on Screen by defining the text 'It is {triggertime}'.
A variable can be formatted using patterns like {triggertime,dateformat,HH:mm} to show the time as 14:35.
Every trigger, condition and action can make variables available to a flow. See the the Help of each object to see what
variables are made available to the flow.
Global Variables start with global_ and are available in all flows and are kept when the flow has ended.
Variables can be modified using action Script and can be evaluated using condition Expression.
Base Concepts
Creating the First Flow
Creating a Custom Widget
Main Screens
Triggers
Conditions
Actions
Creating the First Flow
This tutorial is a guide to build a basic flow that shows every 5 minutes a text on the display. The first version shows the text
"Hello Automagic". The slightly more advanced version displays the formatted current time.
Step 1 - Creating a New Flow
Every automated processes in Automagic is modeled as a flow so we have to create a new empty flow first.
Please start Automagic and ensure that you are positioned on the flow list as shown in the following screen:
Press the menu button to open the menu.
The menu button looks slightly different on different versions of Android.
Your device might also have a dedicated hardware button to open the
menu.
Select the menu item New Flow to create a flow.
Step 2 - Adding the Trigger
In this step we are going to add a trigger that will execute the flow every 5 minutes.
The gray rounded rectangle contains the triggers that automatically
execute a flow. The rectangle is empty since we did not yet define the
trigger to use.
Press the list icon above the rounded rectangle to show a list of existing
triggers.
The list with existing triggers is displayed on the screen.
A 5 minute trigger does not exist yet in the list so we have to create a
new one.
Press the New button to create a new trigger.

The list of all available types of triggers is shown.
Scroll down and select the trigger type Periodic Timer.

You can change the values in this screen to define how often the trigger
will execute the flow by changing the interval to a different value like
"2m" or "2m 30s". A help screen with a description of valid time intervals
in Automagic can be accessed using the blue question mark icon.
There is also a more detailed description of each trigger type available
using the ?-button.
You can use the default settings for this trigger and press the Save
button.
Step 3 - Adding the Action
In this step we are going to add an action that will display the text "Hello Automagic" on the screen.
Press and hold the plus icon under the trigger and drag the icon down to
a free area to add a new container for a condition or action to the flow.
Select the container type Action.

A list with existing actions is displayed.
Press the New button to create a new action.

The list of all available action types is displayed.
Scroll down and select the type Notification on Screen to display a
simple text that automatically vanishes after a few seconds.
Enter the text "Hello Automagic".
Note that the name of the action is automatically adjusted to reflect your
settings.
The name of the action must be unique within Automagic since an
action is identified by its name. Automagic will check if an action with the
same name already exists and allows to reuse an already existing
action.
It is often required to test if the settings of an action are correct and the
action does what you want.
Open the menu and press the Execute menu item to test the action.
The action is executed in complete isolation. This means that the rest of
the flow is not executed. The action itself is executed for real, this
means that an action that is configured to delete a file on the device will
really delete the file when executed using the Execute menu item.

Ensure that the displayed text matches your expectations.
Press the Save button to accept the values of the action.

The action is now displayed in the flow.
Step 4- Manually Starting a Flow
It is often helpful to manually test a newly built flow so you don't have to wait for the trigger event. Otherwise you would have
to wait 5 minutes to see if your flow actually works.
Open the menu and select the Execute menu item.
The flow displays the currently executing element in red. There also
exists a menu item Stop to interrupt a flow if you see that there is a
problem and you want to stop the flow early.
The text "Hello Automagic" should be shown as soon as the action
"Notification on Screen" is reached.
You can now enable the flow by turning the switch button to ON.
The flow is registered in the system and will be executed every 5
minutes automatically from now on.

Note that the container with the trigger changes the background color
when the flow is enabled.
You can rename a flow opening the menu and selecting Rename.

Rename the flow to "Notification Flow". The name of a flow must be
unique within Automagic.
Step 5 - Extend the Flow to Show the Current Time
In this step we are going to enhance the flow to show the current time instead of the static text "Hello Automagic".
The time (and optionally the date) can be shown using a variable. Almost all text fields allow to define a dynamic text by using
a variable in curly braces {}.
Press the edit icon to directly open the editing screen of the action.
Change the text to "It is " then open the menu and select the item
Select Variable.

Automagic determines the variables that are likely available when the
flow execution reaches this action.
One of the variables available in all flows is the variable triggertime. It
contains the date and time when the trigger has been executed.
The first five entries in the list show usage examples of this variable with
three different formatting options. The first entry formats the time using
the 24-hour format with minutes and seconds.
Select the first entry of the list.

Notice that the selected variable is copied to the clipboard.
Long-press the text field to paste the contents of the clipboard into the
text field.
The variable is rendered in blue to indicate that this part of the text is
dynamic and will be replaced when the action is executed.

Open the menu and execute the action. The current time should be
displayed.

You can now save the action. Notice that the action name has been
automatically adjusted to reflect the new text of the action.
Base Concepts
Creating the First Flow
Creating a Custom Widget
Main Screens
Triggers
Conditions
Actions
Creating a Custom Widget
This tutorial is a guide to build a basic custom widget that displays the current time and battery level.
The widget will open the device clock app when the upper half of the widget is pressed and will open the battery usage
summary when the lower half of the widget is pressed.
Step 1 - Creating a new Custom Widget
Press the menu button to open the menu.
The menu button looks slightly different on different versions of Android.
Your device might also have a dedicated hardware button to open the
menu.
Select Custom Widgets to open the list with your custom widgets.
The list is empty since no custom widgets exist yet. Select the New
Widget button in the action bar to create a new widget.
The widget initially consists of an empty, semi transparent background
with rounded corners.
The lower half of the screen shows the currently selected element in a
dropdown. The complete widget is selected by default, thus the
dropdown contains the name of the widget itself.
The sections Widget Settings and Clickable Actions are groups of
properties pertaining to the widget in general. The property groups can
be expanded and collapsed by touching on the group name.
We are going to add a text element to the widget to show the current
time on the widget.
Select Add Element in the action bar to add a new element.
The list of the available element types is shown.
Select Text to create an element that can display one or multiple lines of
text.

The new text element is placed on the upper left corner of the widget
and initially contains the static text Text1.
An element on a widget can be moved around by dragging and can be
resized by dragging the lower right corner of the element.
Note that different widget property sections are available now, since
every type of widget element has specific properties that can be
adjusted.
A text element contains:
Bounds: to adjust position, size and rotation
Text: to adjust the displayed text, typeface, alignment etc.
Fill: to adjust fill color, shadow properties of the fill shape
Outline: to adjust outline color, outline width and shadow of the
outline shape

Drag the text element approximately to the upper half of the widget. You
can also expand the property group Bounds and enter the position
manually or precisely move the element with the arrow buttons.
Since the text element should not show a static but a dynamic text, we
will enter a short inline expression that will dynamically evaluate to the
current time. You can use the [...]-button to select the predefined text
from the list.
The function getDate returns the current time.
dateformat instructs Automagic to format the value as a date.
HH:mm instructs Automagic to use the 24-hour format for the hours and
format the minutes to two digits. You can also use the pattern hh:mm a
to format to the 12-hour AM/PM format.
Note that the widget design area directly executes the inline expression
and displays the current formatted time.
To display the battery level, we have to add another text element to the
widget.
Select the Add Element button in the action bar again and place the
element in the lower half of the widget and set the text to
{global_battery_level}.
This instructs Automagic to display the contents of the global variable
global_battery_level.
Since the variable does not exist yet, the value null is displayed.
Automagic only refreshes a widget when it detects either a change in a
global variable that is used by the widget or when a property of a widget
element is modified. Since neither is the case in the text element that
displays the time, we have to instruct Automagic to refresh the widget
every minute.
Select the widget in the dropdown list or touch a free area in the design
area.
Expand the property group Widget Settings.
Check Automatically refresh and set the refresh interval to one
minute.
Press Back to leave the widget design area and to go back to the
widget list.

Select the widget menu to open the list of actions for your widget and
select Rename to give the widget the name Info Widget.
Press Back to leave the widget list and to go back to the flow list.

Step 2 - Updating the battery level
In this step we are going to create a flow that updates the global variable containing the battery level.
Create a new flow and add a trigger Battery Level.
Configure the trigger as shown on the screenshot.
This will ensure that the flow is executed whenever the battery level
changes and will provide the variable battery_level to the flow.
Please also check both ignore-checkboxes in the filter since some
devices will execute the trigger very often when the device is connected
to a charger.
Now we have to fill the battery level available in the local variable battery_level into the global variable global_battery_level
used by the widget.
Add an action Script to the flow.
Configure the action Script as shown in the screenshot.
The script global_battery_level = battery_level + "%" reads the
battery_level available in the flow, appends a percent character and
stores the resulting string in the global variable global_battery_level.
The global variable global_battery_level will contain a value like 65%
when the flow is executed. The widget will display this value since we
instructed the text element on the widget to show the contents of the
variable with {global_battery_level}.
The complete flow should look as shown in the screenshot.

Step 3 - Adding the widget to the launcher
In this step we are going to add the widget to a home screen of the launcher.
Open the widget drawer by opening the Apps drawer and switch to the
widgets tab. Press and hold AM Custom Widget to add your widget to
one of the home screens.
Depending on device, Android version and manufacturer, you can also
add a widget by long-pressing a free area on the home screen and by
selecting Widgets in the popup dialog.

The widget should look approximately as shown in the screenshot. The
widget will be updated every minute and every time the battery level
changes.
Step 4 - Adding actions to the widget
In this step we are going to add clickable actions to the widget.
The widget will open the device clock app when the upper half of the widget is pressed and will open the battery usage
summary when the lower half of the widget is pressed.
Open the widget (Menu->Custom Widgets then select your Info Widget).
Expand the property group called Clickable Actions and add two rows
by pressing the [+]-button two times.
The layout of the two clickable actions is also faintly painted in blue in
the design area to illustrate where the active regions will be in the
widget. Please also read the quick guide available on this screen to get
more information about resizing behavior.
You can press one of the two added blue fields to open the action
selection dialog. You can either use an existing action or create a new
action.
Add an action Launch App: com.google.android.deskclock to the
first field to start the device clock app when the upper half of the widget
is pressed. The package of the clock app can be different on different
versions of Android.
Add an action Launch App:
com.android.settings/fuelgauge.PowerUsageSummary to the
second field to open the power usage screen when the lower half of the
widget is pressed.
You can use every action available in Automagic on a widget. It's also
possible to use an action Execute Flows to execute a complete flow
consisting of multiple actions and conditions.
Go back to the home screen containing your widget and touch the
widget to execute the actions.
Tips
Automagic allows to modify almost every aspect of a widget element with scripts. You can also use this method to update the
widget with the current battery level instead of using a global variable.
To do this, open the action Script previously created in this tutorial and press the button Function to list all available functions
in Automagic. Scroll down and select the function setWidgetElementProperty.
Automagic shows a dialog Widget Property that allows to select the widget, element and property to modify.
Select the Info Widget and the element containing the battery level.
The element could be called Text_2 if you did not give a custom name to the element. Select the property text and change
the value from {global_battery_level} to {battery_level}% and confirm with OK.
The script should approximately look like this: setWidgetElementProperty("Info Widget", "Text_2", "text", "
{battery_level}%");
Since the widget and the elements are referenced by name, it is a good idea to properly name the widget and the widget
elements you want to modify in a script before you start to write complex scripts.
This method is extremely flexible and can be used to achieve almost everything. For example:
change the background color of the widget to red, when the battery level falls below 30%
change the image in an image element from a sun to a moon at night
gradually change the width of a rectangle element to show the battery level using a bar
use an ellipse/arc to show the battery level in a pie chart style
create the arms of an analog clock by rotating a thin rectangle element
switch between two images when toggling a setting
show the name of the last missed caller in the widget
change the shadow position of a text element depending on daytime like a sun-dial
Please note that updating a widget is quite a heavyweight process so it is advised to change a widget only when necessary.
Battery consumption could be high if you change a widget every 5 seconds.
Base Concepts
Creating the First Flow
Creating a Custom Widget
Main Screens
Triggers
Conditions
Actions
Main Screens
Flow List
When you first start Automagic Premium you are presented with the main screen containing a list of predefined flows.
1. Automagic icon indicating that the Automagic service is running
2. A group of flows that can be expanded and collapsed. Select the
dropdown icon on the right side to create a new flow and to
rename the group.
3. An enabled flow is displayed using a blue background color and
the switch set to ON. Use the dropdown icon on the right side to
execute common actions on the flow.
4. A disabled flow is displayed using a grey background color and the
switch set to OFF.
5. Menu button with common actions to add new flows, to open the
catalog and much more
Only the flow "Countdown" is enabled by default when Automagic is started for the first time. All other flows are disabled and
therefore rendered in grey. A disabled flow is inactive, not registered with the operating system and hence does not
automatically execute anything until the flow is enabled. You can open and change a flow by selecting the flow in the list.
Flow List - Menu
New Flow: Allows to create a new flow
Custom Widgets: Allows to design your own widgets
Tutorial: Explains the basic concepts like flows and triggers used in
Automagic
Catalog: Contains many predefined flows that you can import into
Automagic
Forum: Opens the forum where you can ask questions and share
flows with other users of Automagic
Search: Allows to search for a flow
Recommend Automagic: Tell your friends about Automagic
Manage: Item to access the Preferences, Global Variables, the
Log and much more

Flow
The flow screen can be used to view a flow, watch a flow while the flow is executing and to modify the flow.
A rectangular container with rounded corners contains one or multiple triggers. A flow is executed whenever one of the
triggers detects an event like an incoming SMS or the WiFi adapter is turned on.
A container with a diamond shape contains a condition that tests if a condition holds true. The flow continues to execute the
condition or action in the subsequent container attached at the true or false output of the condition.
A rectangular container contains an action.
Also see the Base Concepts for a description.
1. The name of the flow. The switch shows whether the flow is
currently enabled (ON) or disabled (OFF).
2. A selected trigger/condition/action with the four main edit
commands:
Selection: Opens the list to reuse an action in this place of the
flow.
Edit: Opens the screen to edit the action.
Delete: Removes the selected action from this flow. This
command does not delete the action definition since the same
action might still be used in another flow.
Add: Drag this icon to a free area on the screen to add a new
action or condition.
3. Menu button with actions to enable/disable the flow, manually
execute the flow, reset the zoom level, send the flow and to open
the log filtered for this flow only
The area containing the flow can be moved around by dragging with the finger in a free area. Pinch zooming is also
supported. The menu contains an item to reset the zoom/offset of the flow area in case you can not find your flow anymore.
Touch on a container with triggers, a condition or an action to select the container. You can move a container to another place
by dragging the container. The flow is structurally not modified when you rearrange the containers, this means that the flow
executes the same actions and stays logically the same.
A connection between two containers can be selected by clicking on the connection.
A connection can be deleted using the trash can. You can modify the visual routing of the connection by selecting the
connection and then clicking on one of the four small yellow dots on the source and target container. Note that this does only
change the appearance of the connection and does not structurally change the flow.
Edit Action
1. Buttons to save or cancel the changes you have made to the
action. The default behavior when the back button is pressed can
be configured in the preferences of Automagic.
Cancel: Closes the screen and discards the changes made to
this action.
Save: Closes the screen and stores the properties of the
action.
2. Menu button to select variables, test execute the action or to open
the log.
3. Spinner to change the type.
4. Whether a name should be generated based on the properties of
action or a custom name for the action should be used. The name
of an action is also the identifier and thus has to be unique.
5. Properties of the action. This area contains the action specific
settings and is different for every action type.
Edit Action - Menu
Select Variable: Opens a list of variables that are probably
available for this action when the flow executes. The list contains
the variables set by the predecessor actions, conditions and the
trigger. Not all variables are guaranteed to be available since some
variables are only set conditionally.
Execute: Executes the action with the currently set properties.
Variables are not available when an action is executed using this
menu since the action is executed in isolation and the predecessor
actions are not executed.
Log: Opens the log file.
Base Concepts
Creating the First Flow
Creating a Custom Widget
Main Screens
Triggers
Conditions
Actions
Triggers
Active Network Type
Activity Ended
Activity Started
Airplane Mode
App Package Event
App Task Ended
App Task Started
Assist
Audio Volume
Auto Sync State
Automagic Notification Selected
Automagic Startup
Battery Level
Battery Low Condition
Bluetooth Device Connected
Bluetooth Device Disconnected
Bluetooth State
Calendar
Calendar Event
Car UI Mode
Clipboard Changed
Command Output
Compass
Daydream State
Desk UI Mode
Device Orientation
Device Storage Space Low
Display State
Dock Event
File Observer
General Broadcast
Gleeo Recording Started
Gleeo Recording Stopped
Global Variable
Global Variable Date/Time
Gmail Unread Conversation Count
HTTP Request (Experimental)
Incoming Call
K-9 Mail Received
Light Sensor
Locale Adjusted
Location
Location Provider State
Login Attempt
Media Button Event (Experimental)
Mobile Datanetwork Type
Next Alarm
NFC State
NFC Tag
Notification on Screen Displayed
Notification on Statusbar Displayed
Notification on Statusbar Removed
Notification on Statusbar Selected
Outgoing Call
Periodic Location Update Periodic
Timer
Periodic Timer Inexact Phone Cell
CDMA
Phone Cell GSM
Phone Service State Phone Signal
Strength Plugin (Experimental) Plugin
Event (Experimental) Power Source
Pressure Sensor Proximity Sensor
Screen Orientation
Shake
Shortcut
Shutdown
Significant Motion Detected SMS
Received
SMS Sent
Sound Level (Experimental) Speed
Storage Media Event System Setting
Changed Time
Time Adjusted
Timezone Adjusted
User Activity (Experimental) User
Present
WiFi Connected
WiFi Disconnected
WiFi Scan Results Available WiFi State
Wired Headset Plugged
Triggers
Active Network Type
The trigger Active Network Type executes a flow when the active network type changes to another type.
Settings
Network type changed to
Defines for what network types the trigger should be executed
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
triggertime
the time the trigger executed
network_type
the network type as number (None=-1, Mobile=0, WiFi=1, WiMAX=6, Bluetooth=7, Ethernet=9)
network_type_name
the name of the network as string like WIFI or MOBILE
network_subtype
the network subtype as number
network_subtype_name
the network subtype as number
network_state
the network state (CONNECTING, CONNECTED, SUSPENDED, DISCONNECTING, DISCONNECTED, UNKNOWN)
network_detailed_state
the detailed network state (IDLE, SCANNING, CONNECTING, AUTHENTICATING, OBTAINING_IPADDR, CONNECTED,
SUSPENDED, DISCONNECTING, DISCONNECTED, FAILED, BLOCKED, VERIFYING_POOR_LINK,
CAPTIVE_PORTAL_CHECK)
network_extra_info
additional info as string (like SSID), when available
network_reason
the reason of a failure, when available
Activity Ended
The trigger Activity Ended is executed when an activity is moved to the background.
Settings
Package Name
The package name of the app or comma separated list. Glob patterns are supported.
Class Name
The class name of the activity or comma separated list. Glob patterns 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
triggertime
the time the trigger executed
package_name
the name of the package
app_name
the display name of the app
activity_class
the class of the activity
activity_name
the display name of the activity
Activity Started
The trigger Activity Started is executed when an activity is moved to the foreground.
Examples:
Increase the display brightness when Google Maps is started.
Settings
Package Name
The package name of the app or comma separated list. Glob patterns are supported.
Class Name
The class name of the activity or comma separated list. Glob patterns 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
triggertime
the time the trigger executed
package_name
the name of the package
app_name
the display name of the app
activity_class
the class of the activity
activity_name
the display name of the activity
Airplane Mode
The trigger Airplane Mode is executed when the airplane mode is turned on or off.
Example:
Disable all flows that are downloading data when the airplane mode is turned on.
Settings
Airplane Mode On/Off
Whether the trigger should be executed when the airplane mode is turned on or off.
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
triggertime
the time the trigger executed
App Package Event
The trigger App Package Event is executed when a app/package is installed, updated or removed.
Examples:
Write the date and time of an app update to a log file for reference
Settings
Event
The event type:
Added: A new package has been installed
Changed: A component of a package has been enabled/disabled
Data cleared: The data of the app has been cleared
Replaced: A package has been updated
Restarted: A package has been restarted and all processes of the package have been killed
Removed: A package was removed or is in the process of being updated
Fully removed: A package has been uninstalled (and data deleted) (Android 4)
Package Name
The list of package names to check. Glob patterns 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
triggertime
the time the trigger executed
package_name
the name of the package
app_name
the display name of the app
uid
the UID assigned to the package
replacing
true when the package is updated (only set for event Added and Removed)
changed_component_name_list
the list of changed components (only set for event Changed)
dont_kill_app
true when the app should not be killed (only set for event Changed)
data_removed
true when also the data has been removed (only set for event Removed)
App Task Ended
The trigger App Task Ended is executed when an application is moved to the background or closed respectively the user
moved the focus to another app.
The application might still be running in the background or the process hosting the application might still be in memory.
Examples:
Raise the media volume back to normal when you leave the browser
Change the display brightness back to normal when you don't use Google Maps anymore
Settings
Package Name
Enter the name of the package of the application or use the button to show a list of available applications.
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
triggertime
the time the trigger executed
package_name
the name of the package
app_name
the display name of the app
App Task Started
The trigger App Task Started is executed when an application is moved to the foreground or opened respectively the user
moved the focus to this app.
Examples:
Lower the media volume when you open the browser
Raise the display brightness when you start using Google Maps
Settings
Package Name
Enter the name of the package of the application or use the button to show a list of available applications. Glob patterns (*,
?) can be used to match apps with similar names. A single *-character matches all apps.
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
triggertime
the time the trigger executed
package_name
the name of the package
app_name
the display name of the app
Assist
The trigger Assist is executed when the home button is long-pressed or dragged upwards (Galaxy Nexus) or the home button
is long-pressed and the middle icon is selected (S3).
Warning: This function requires Android 4.1+ and is not officially supported by Android.
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
triggertime
the time the trigger executed
Audio Volume
The trigger Audio Volume is executed when the volume of the device has been changed. Some devices report the volume
change slightly delayed.
Warning: This function is not officially supported by Android and might not work on all devices.
Examples:
Vibrate whenever the volume is changed
Settings
Sound Type
The type of the audio stream to check.
Condition
Whether the condition should check if the volume is above or below the volume level.
Volume
The volume value to check.
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
triggertime
the time the trigger executed
Auto Sync State
The trigger Auto Sync State is executed when the auto sync setting is changed to on or off.
Examples:
Turn an hourly executed download flow off when auto sync is disabled.
Settings
Auto Sync
On
Execute the flow when the auto sync has been turned on.
Off
Execute the flow when the auto sync has been turned off.
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
triggertime
the time the trigger executed
Automagic Notification Selected
The trigger Automagic Notification Selected executes a flow when the Automagic-wand notification available in the
statusbar is selected.
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
triggertime
the time the trigger executed
Automagic Startup
The trigger Automagic Startup is executed when the Automagic service is completely started and the flows have been
loaded.
Examples:
Initialise global variables to default values when Automagic started.
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
triggertime
the time the trigger executed
Battery Level
The trigger Battery Level is executed whenever the battery level changes and the built in condition about the level holds true.
Examples:
Lower the display brightness when the battery level falls below 50%
Turn off WiFi when the battery level falls below 30%
Settings
Battery Level
Defines the condition that must be met to execute the flow:
becomes lower than
Executes the flow when the last reported percentage was above the defined level and the current percentage is below the
defined level
becomes higher than
Executes the flow when the last reported percentage was below the defined level and the current percentage is above the
defined level
becomes equal to
Executes the flow when the last reported percentage was different than the defined level and the current percentage
equals the defined level
becomes full
Executes the flow when the last reported battery status was not full and is now full
lower than
Executes the flow whenever the reported percentage by the system is below the defined level. Depending on device this
might cause the flow to be executed every few seconds. The flow is executed even when the last percentage has been
the same.
higher than
Executes the flow whenever the reported percentage by the system is above the defined level. Depending on device this
might cause the flow to be executed every few seconds. The flow is executed even when the last percentage has been
the same.
exactly
Executes the flow whenever the reported percentage by the system is exactly on the defined level. Depending on device
this might cause the flow to be executed every few seconds. The flow is executed even when the last percentage has
been the same.
full
Executes the flow whenever the reported battery status by the system is full. Depending on device this might cause the
flow to be executed every few seconds. The flow is executed even when the last status has been already full.
Level Percentage
Defines the level percentage.
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
triggertime
the time the trigger executed
battery_level
the charging level of the battery
battery_percentage
the charging percentage
battery_plugged
whether the battery is plugged (1=AC adapter, 2=USB, 4=Wireless) or not (0=not plugged)
battery_present
whether the battery is present or not
battery_scale
the maximum battery level
battery_status
the status of the battery (1=unknown, 2=charging, 3=discharging, 4=not charging, 5=full)
battery_technology
the technology of the battery
battery_temperature
the temperature of the battery
battery_voltage
the current battery voltage
battery_health
the health of the battery (1=unknown, 2=good, 3=overheat, 4=dead, 5=over voltage, 6=unspecified failure, 7=cold)
Battery Low Condition
The trigger Battery Low Condition is executed when the battery level becomes low or when the battery level becomes OK
again after it was low.
Examples:
Lower the display brightness when the battery level becomes low
Turn off WiFi when the battery level becomes low
Turn on WiFi when the battery level becomes OK again
Settings
Battery Condition
low
The battery level becomes low (the exact value can differ between different devices).
OK
The battery level becomes OK again (the exact value can differ between different devices).
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
triggertime
the time the trigger executed
Bluetooth Device Connected
The trigger Bluetooth Device Connected is executed when a bluetooth device is connected.
Examples:
Turn down the volume when a bluetooth headset is connected
Settings
Bluetooth Device
Defines whether the trigger should be executed for all devices or only for a specific device.
Bluetooth Device Address
The address of the bluetooth device.
Bluetooth Device Name
The name of the bluetooth device.
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
triggertime
the time the trigger executed
name
the name of the device
address
the address of the device
bluetooth_class
the bluetooth class of the device
bond_state
the bonding state of the device
Bluetooth Device Disconnected
The trigger Bluetooth Device Disconnected is executed when a bluetooth device is disconnected.
Examples:
Turn up the volume when a bluetooth headset is disconnected
Settings
Bluetooth Device
Defines whether the trigger should be executed for all devices or only for a specific device.
Bluetooth Device Address
The address of the bluetooth device.
Bluetooth Device Name
The name of the bluetooth device.
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
triggertime
the time the trigger executed
name
the name of the device
address
the address of the device
bluetooth_class
the bluetooth class of the device
bond_state
the bonding state of the device
Bluetooth State
The trigger Bluetooth State is executed when the bluetooth adapter of the device is turned on or off depending on the
settings used.
Examples:
Enable some flows using the bluetooth adapter as soon as the bluetooth is turned on.
Settings
Bluetooth state
Defines the bluetooth states to trigger the flow. Selecting multiple states triggers the flow once for each state.
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
triggertime
the time the trigger executed
previous_bluetooth_state
the state of the bluetooth adapter before
bluetooth_state
the current state of the bluetooth adapter
Calendar
The trigger Calendar is executed on the defined date and time.
Examples:
Send a reminder mail on the last Friday of each month
Export and mail your time tracking data on the first Monday of each month
Note: You can use the trigger Time to execute a flow on every weekday or on every Monday.
Settings
Date/Time
Defines the date and time when the flow should be executed or the first time a flow should be executed when this is a
repeating trigger.
Repeats
Defines when this trigger should repeat.
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
triggertime
the time the trigger executed
Calendar Event
The trigger Calendar Event is executed when an event on the calendar starts or ends.
Examples:
Mute the ringer when a meeting starts
Vibrate 5 minutes before a meeting starts
Start recording a task in Gleeo Time Tracker when a meeting starts
Settings
Trigger at Event Start
Whether the trigger should execute at the start of the event. The duration specifies whether the trigger should execute a
certain amount of time before or after the event begins.
Trigger at Event End
Whether the trigger should execute at the end of the event. The duration specifies whether the trigger should execute a
certain amount of time before or after the event ends.
Calendars
A comma separated list of calendar names that should be checked for events. The names can contain glob pattern
characters like * and ?.
Titles
A comma separated list of event titles to match. The titles can contain glob pattern characters like * and ?.
Examples:
Plan* matches titles like Planning, Plan B etc.
Descriptions
A comma separated list of event descriptions to match. The descriptions can contain glob pattern characters like * and ?.
Locations
A comma separated list of event locations to match. The locations can contain glob pattern characters like * and ?.
Event Type
Whether the trigger should consider all day events or regular events (not all day) or both.
Event Availability
Whether the trigger should consider events marked as free, busy or tentative.
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
triggertime
the time the trigger executed
event_calendar
the name of the calendar of the event
event_title
the title of the event
event_description
the description of the event
event_location
the location of the event
event_start
the start time of the event
event_end
the end time of the event
event_all_day
boolean indicating if the event is all day or not
event_availability
FREE, BUSY or TENTATIVE depending on the availability of the event
event_id
the ID of the event
Car UI Mode
The trigger Car UI Mode is executed when the device is put into car UI mode when placed in a car dock.
Examples:
Raise the audio volume when the device is put into the car dock.
Settings
Enter or Exit car UI mode
Enter
When selected executes the flow when the device is put into car UI mode.
Exit
When selected executes the flow when the car UI mode has been ended.
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
triggertime
the time the trigger executed
Clipboard Changed
The trigger Clipboard Changed is executed when the content of the clipboard changes.
Use the action Copy Text from Clipboard to access 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
triggertime
the time the trigger executed
Command Output
The trigger Command Output is executed when a command prints a line containing a specific text.
Settings
Command
The command to execute. The command is passed to /bin/sh to be interpreted or to su when as root is checked.
Working Directory
The path the command is executed in.
Output trigger condition
The text which needs to be contained in the output to trigger.
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
triggertime
the time the trigger executed
stdout
the last 10 lines written to stdout
stderr
the last 10 lines written to stderr
output
the triggering line
output_type
the string stdout when the triggering line was written to stdout, stderr otherwise
Compass
The trigger Compass executes the flow when the device changes its orientation.
Warning: This trigger 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:
Play a beep sound when the device is heading north.
Settings
Type
The type of the trigger.
Periodic: executes the flow in periodic time intervals
On Change: executes the flow when the orientation changed for at least some degrees.
On Relative Sector Change: Remembers the device orientation when this trigger is enabled first, divides the
orientation into the specified number of equal sectors and executes the flow whenever the device stays in a different
sector.
Frequency
Defines the frequency between flow executions.
Tolerance in Degrees
The minimum amount of change in the device orientation required to execute the flow.
trigger when steady
Executes the flow only when the device does not change the direction for a short period of time anymore.
Number of Sectors
The number of equal sectors to divide the orientation of the device. The sectors are numbered starting at 1 and
incrementing in clockwise order.
Example:
When 4 sectors are desired the 360 possible degrees are divided into 4 sectors with an opening angle of 90 each. The
sectors are relative to the initial device orientation when the trigger was enabled.
Sector 1: 315 to 45
Sector 2: 45 to 135
Sector 3: 135 to 225
Sector 4: 225 to 315
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
triggertime
the time the trigger executed
azimuth
the azimuth in degrees
pitch
the pitch in degrees
roll
the roll in degrees
azimuth_sector (On Relative Sector Change only)
the azimuth sector (1 to Number of Sectors)
pitch_sector (On Relative Sector Change only)
the pitch sector (1 to Number of Sectors)
roll_sector (On Relative Sector Change only)
the roll sector (1 to Number of Sectors)
Daydream State
The trigger Daydream State is executed when the daydream of the system starts or stops.
Settings
Daydream Started/Stopped
Whether to trigger on the daydream start or the stop.
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
triggertime
the time the trigger executed
Desk UI Mode
The trigger Desk UI Mode is executed when the device is put into desk UI mode when placed in a desk dock.
Examples:
Raise the audio volume when the device is put into the desk dock.
Settings
Enter or Exit desk UI mode
Enter
When selected executes the flow when the device is put into desk UI mode.
Exit
When selected executes the flow when the desk UI mode has been ended.
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
triggertime
the time the trigger executed
Device Orientation
The trigger Device Orientation executes the flow when the device is moved to the defined orientation.
Warning: This trigger 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:
Reduce the ringer volume when the device screen is facing down.
Settings
Device Orientation
The desired orientation of the device.
Face down: The display of the device is facing down for example when lying on a table with the display towards the
table.
Face up: The display of the device is facing up for example when lying on a table with the display facing away from
the table.
Face left: The display faces to the left with the longer side lying on a table when the upper edge of the device is
pointing away from you.
Face right: The display faces to the right with the longer side lying on a table when the upper edge of the device is
pointing away from you.
Standing upright: The device is standing upright on a table.
Standing upside-down: The device is standing upside-down on a table.
Negate
Whether the condition should be negated or not.
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
triggertime
the time the trigger executed
Device Storage Space Low
The trigger Device Storage Space Low executes the flow when the internal device storage space becomes low or the free
storage space is back to a normal level.
Note: The amount of free space to consider as low is defined by the device manufacturer.
Standard Android considers less than 10% of free internal memory as low.
Example:
Play a warning sound when the device storage space is low.
Settings
Device Storage Space
becomes low
Executes the flow when the storage space becomes low.
becomes OK
Executes the flow when the storage space is back to a normal level.
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
triggertime
the time the trigger executed
Display State
The trigger Display State is executed when the display is turned on or off.
Examples:
Turn on WiFi when you turn the display on. Turn WiFi off when you turn the display off.
Count how many times a day you turn your display on.
Remind you with a sound alert when you are recording your time and you are starting to use the device.
Settings
Display On/Off
On
Execute the flow when the display has been turned on.
Off
Execute the flow when the display has been turned off.
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
triggertime
the time the trigger executed
Dock Event
The trigger Dock Event is executed when the device is put into a dock (car, desk, some external hardware keyboard).
The dock type can be distinguished using a condition Dock State.
Examples:
Raise the audio volume when the device is put into a dock.
Settings
Docked/Undocked
Docked
When selected executes the flow after the device has been put into a dock.
Undocked
When selected executes the flow after the device has been removed from a dock.
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
triggertime
the time the trigger executed
dock_state
the state/dock type
File Observer
The trigger File Observer is executed when a path of interest on the filesystem is accessed or changed.
Examples:
Create a copy of a file after it has been modified.
Upload a new image to Dropbox when a new subfile is created in folder /sdcard/DCIM/Camera/.
Settings
Paths to Observe
A comma separated list of files or directories to observe.
Event Types
The type of events to observe.
File accessed: Data was read from a file
Modify: Data was written to a file
Metadata changed: Metadata (permissions, owner, timestamp) was changed explicitly
Writeable file closed: Someone had a file or directory open for writing, and closed it
Unwriteable file closed: Someone had a file or directory open read-only, and closed it
File opened: A file or directory was opened
File moved from: A file or subdirectory was moved from the monitored directory
File moved to: A file or subdirectory was moved to the monitored directory
Subfile created: A new file or subdirectory was created under the monitored directory
Subfile deleted: A file was deleted from the monitored directory
Delete Self: The monitored file or directory was deleted; monitoring effectively stops
Self moved: The monitored file or directory was moved; monitoring continues
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
triggertime
the time the trigger executed
registered_path
the path of the observed file or directory
event
the event represented as a number:
File accessed: 1 (0x00000001)
Modify: 2 (0x00000002)
Metadata changed: 4 (0x00000004)
Writeable file closed: 8 (0x00000008)
Unwriteable file closed: 16 (0x00000010)
File opened: 32 (0x00000020)
File moved from: 64 (0x00000040)
File moved to: 128 (0x00000080)
Subfile created: 256 (0x00000100)
Subfile deleted: 512 (0x00000200)
Delete Self: 1024 (0x00000400)
Self moved: 2048 (0x00000800)
path
the path of the file or directory which triggered the event, relative to the main monitored file or directory
General Broadcast
The trigger General Broadcast dynamically registers a broadcast receiver at runtime with the specified intent filter.
Please also see the Android Developer Documentation.
Examples:
Receive the current WiFi signal strength (only when the display is turned on):
Action: android.net.wifi.RSSI_CHANGED
Access Intent Extras: value=getInt("newRssi", 0);
Receive a message from NMA (https://www.notifymyandroid.com/):
Action: com.usk.app.notifymyandroid.NEW_NOTIFICATION
Access Intent Extras:
app=getString("app");
event=getString("event");
desc=getString("desc");
prio=getInt("prio", 0);
url=getString("url");
Settings
Action
The action to use in the intent filter.
Category List
The list of categories to use in the intent filter.
Data Scheme List
The list of data schemes to use in the intent filter. (like http, content etc.).
Data Authority List
The list of data authorities to use in the intent filter (host:port).
Data Path Literal List
The list of data paths to use in the intent filter (the specified pattern has to match the entire path)
Data Path Prefix List
The list of data paths to use in the intent filter (the specified pattern has to match the prefix of the path)
Data Path Glob List
The list of data paths to use in the intent filter (the specified glob pattern has to match the entire path)
Data Type List
The list of MIME types to use in the intent filter.
Access Intent Extras
Script to access the extras in the received 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)
Examples:
value = getString("key1");
value = getBoolean("key2", true);
value = getDouble("key3", 1.23);
value = getInt("key4", 42);
value = getInt("key5", a+4*b);

Data of intents wrapped in a Bundle-extra can be accessed using function getBundle(String name).
Values contained in a bundle can be accessed with the functions used to accessed regular extras but by additionally
specifying the bundle.
Example:
bundle = getBundle("key1");
value = getString(bundle, "key2");

compact form:
value = getString(getBundle("key1"), "key2");
Example to access the track info of PowerAMP:
track_info = getBundle("track");
artist = getString(track_info, "artist");
album = getString(track_info, "album");
title = getString(track_info, "title");
path = getString(track_info, "path");
duration = getInt(track_info, "dur", 0);
Initial Sticky Broadcast
Whether to ignore the initial broadcast sent for a sticky broadcast or not.
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
triggertime
the time the trigger executed
action
the action of the received intent
data_string
the data of the received intent as a string
categories
the list of categories
scheme
the scheme of the received intent
type
the explicitly set MIME type of the received intent
Gleeo Recording Started
The trigger Gleeo Recording Started is executed when a task in Gleeo Time Tracker has been started.
Settings
Project Filter List
A comma separated list of the projects to accept.
Task Filter List
A comma separated list of the tasks to accept.
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
triggertime
the time the trigger executed
project_title
contains the title of the project
task_name
contains the name of the task
start
contains the start date and time of the recording entry
Gleeo Recording Stopped
The trigger Gleeo Recording Stopped is executed when a task in Gleeo Time Tracker has been stopped.
Settings
Project Filter List
A comma separated list of the projects to accept.
Task Filter List
A comma separated list of the tasks to accept.
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
triggertime
the time the trigger executed
project_title
contains the title of the project
task_name
contains the name of the task
start
contains the start date and time of the entry
end
contains the end date and time of the entry
Global Variable
The trigger Global Variable is executed when a different value is assigned to a global variable. The trigger is not executed
when the same value is assigned to the variable again.
Examples:
Show a reminder when you sent more than 10 SMS in one day
Settings
Global Variable
The name of the global variable to watch.
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
triggertime
the time the trigger executed
old_name_of_the_global_variable
contains the old value of the global variable before it has been updated
Global Variable Date/Time
The trigger Global Variable Date/Time is executed when the point of time stored in the global variable is reached.
Examples:
Execute a flow daily on sunrise/sunset
Execute a flow in irregular intervals
Settings
Global Variable
The name of the global variable containing the point of time.
trigger immediately on missed events
Execute the trigger when the point in time stored in the variable has passed and the trigger did not yet execute the trigger
for this point in time (for example when the device was turned off at the date/time specified in the variable or when a past
date is assigned to the global 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
triggertime
the time the trigger executed
Gmail Unread Conversation Count
The trigger Gmail Unread Conversation Count is executed when the count of unread conversations in the Gmail app on the
device changes.
Examples:
Play a notification sound, when more unread conversations are available
Settings
Accounts
The accounts to check. The sum of unread conversations is checked when multiple accounts are specified.
Increasing Unread Count
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
triggertime
the time the trigger executed
count
the number of unread conversations
old_count
the number of unread conversations before
HTTP Request (Experimental)
The trigger HTTP Request (Experimental) is executed when a HTTP request is received using the specified path and port.
Note: The built-in webserver is neither fast nor should you try to upload large files. Please don't use it to run webshops,
corporate websites or sites like Slashdot on your phone.
Examples:
Send an SMS from your Phone using your PC when the URL http://192.168.1.XX:8080/sms?
receiver=12345&text=test is requested
Return a page with the list of files on the SD card when the URL http://192.168.1.XX:8080/files/xyz is requested
Settings
Path
The path to handle by this trigger. Glob patterns (*, ?) are supported.
Examples:
/automagic/test
/automagic/files/* to handle all paths that start with /automagic/files/
The trigger with the longest path is preferred when multiple triggers match requested path since only one response can be
written.
Examples: The first trigger is preferred when two triggers with paths /automagic/test and /automagic/* are available.
Port
The port of the server.
Keep WiFi awake
Whether to keep the WiFi radio awake, otherwise the WiFi radio might turn off to save battery and a connection to your
device is no longer possible.
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
triggertime
the time the trigger executed
request_path
the decoded path of the request (e.g. /automagic/test)
method
the HTTP method (e.g. GET, POST, PUT)
header_*
All values of the 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.
param_*
All values of the request parameters. The name of the variable is built using the prefix param_ and the name of the
parameter by converting the name to lowercase.
Example:
Parameter test is stored in variable param_test
Parameters leading to an invalid variable name are ignored.
file_*
All paths of the uploaded files. The name of the variable is built using the prefix file_ and the name of the parameter by
converting the name to lowercase.
Example:
Parameter File is stored in a variable file_file
Parameters leading to an invalid variable name are ignored.
Incoming Call
The trigger Incoming Call is executed when a call is received depending on the criteria defined in the options.
Examples:
Start recording in Gleeo Time Tracker when your employer calls.
Send a mail containing the callers number and time to your mail account.
Settings
Incoming callnumbers
The list of callnumbers when the flow should be executed. 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.
Warning: The formatting of the incoming number depends on the operator in use. Some operators format the number as
an international callnumber like +17001111111, local fixed line network numbers often use the local format.
You have to check the log file to see the exact formatting used or you can add an action Notification on Screen with text
{incoming_number} to see the actual number.
Phone state
Defines the state of the call to trigger the flow. Selecting multiple states triggers the flow once for each state.
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
triggertime
the time the trigger executed
incoming_number
the number of the calling party or null when suppressed
call_state
the state of the call (IDLE, RINGING, OFFHOOK)
call_missed_rejected
true or false whether or not the call has been missed or rejected when the phone enters the idle state
contact_name
the name of the contact if available
contact_company
the company of the contact if available
contact_title
the title of the contact if available
contact_note
the note of the contact if available
contact_nickname
the nickname of the contact if available
contact_email
an email address of the contact if available
contact_groups
the list of groups of the contact if available
K-9 Mail Received
The trigger K-9 Mail Received is executed when K-9 Mail receives a mail.
Examples:
Play an alert sound when you receive a mail from the boss.
Settings
K9 Account List
The comma separated list of accounts to consider (case insensitive). Glob patterns (*, ?) are supported.
Sender List
The comma separated list of sender mail addresses to consider (case insensitive). Glob patterns (*, ?) are supported.
Subject List
The comma separated list of subjects to consider (case insensitive). Glob patterns (*, ?) are supported.
Receiver List
The comma separated list of receiver mail addresses to consider (case insensitive). Glob patterns (*, ?) are supported.
CC List
The comma separated list of CC-mail addresses to consider (case insensitive). Glob patterns (*, ?) 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
triggertime
the time the trigger executed
k9_account
the K-9 Mail account of the mail
k9_folder
the K-9 folder of the mail
k9_to
the recipients of the mail
k9_from
the sender of the mail
k9_from_self
whether or not the mail was sent by yourself (only set on newer versions of K-9)
k9_subject
the subject of the mail
k9_sent_date
the date the mail has been sent
k9_cc
the cc of the mail
k9_bcc
the bcc of the mail
Light Sensor
The trigger Light Sensor is executed when the measured surrounding light intensity passes the defined value.
Warning: This trigger 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.
Settings
Sensitivity
The sensitivity of the slider to define the light level.
Light Level
Whether the trigger should execute when the illuminance passes above or below a certain value and the level to use.
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
triggertime
the time the trigger executed
light_level
the effective illuminance in lux
Locale Adjusted
The trigger Locale Adjusted is executed when the locale has been changed in the system.
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
triggertime
the time the trigger executed
locale
the new locale
Location
The trigger Location is executed when the location is entering the defined region or exiting the defined region.
The accuracy of the location depends heavily on the available location provider.
Tip: Enabling GPS in the phone settings can yield much better location accuracy but might use more battery. Locations with
WiFi access points might work accurate enough and GPS can be disabled in the global phone settings to reduce battery
strain.
Examples:
Start recording in Gleeo Time Tracker when you are in the office, stop recording when you leave.
Switch the ringer to vibrate when you are at your office.
Turn off the ringer in the church. (Do it manually when it is important!)
Send an SMS when you are home.
Note: The location is usually checked every 4 minutes when the device is not actively used and the classic method is used.
This can result in the GPS icon on the statusbar being visible every 4 minutes. Entering/exiting a location can be missed when
you are moving fast through a location with a small radius and the 4 minute check misses the location. Locations can be
reported more often when the device is active or another application also uses the location features (for example when using
Google Maps).
Settings
Method
The method used to detect the geofence.
Modern uses the new geofence API provided by Google and should be tuned to use only a minimum amount of battery
power.
The algorithms to detect the locations are not known and can vary depending on device model. Please experiment with
both methods to see what works best for you.
Location
The location used by this trigger.
Location Name
The name to use for this location. This name is used in the trigger name and to select an existing location on the map.
Radius
The radius around the location in meters.
Entering/Exiting
Whether to execute the flow when the location within the defined radius is entered or exited.
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
triggertime
the time the trigger executed
location
the configured location
location_name
the name of the location
entering
whether the location has been entered or not
Location Provider State
The trigger Location Provider State is executed when a location provider (GPS or Network) is enabled or disabled.
Examples:
Deactivate a flow that uses GPS when GPS is turned off.
Settings
Location Provider
The location provider to monitor (GPS or Network)
Enabled/Disabled
Whether to trigger when the provider was enabled or disabled.
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
triggertime
the time the trigger executed
Login Attempt
The trigger Login Attempt is executed, whenever someone unsuccessfully tries to login to the device respectively tries to
unlock the device.
Examples:
Take a picture with the front camera when someone enters the wrong PIN code three times.
Settings
Failed/Successful after failed
Failed: executes the trigger when the login attempt fails
Successful after failed: executes the trigger when the login attempt was successful after it failed one or multiple
times before
When
On every failed attempt: executes once for every failed attempt
On the Nth failed attempt: executes the trigger exactly once when the number of failed login attempts reach the
specified amount of times
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
triggertime
the time the trigger executed
failed_login_attempt
the number of failed login attempts
Media Button Event (Experimental)
The trigger Media Button Event (Experimental) executes a flow when the system detects a media button event, for example
when the play-button is pressed on a headset.
Warning: When an audio player is launched, future events are usually sent to the audio player and not to Automagic anymore.
If this is not the desired behaviour, Automagic has to be registered to receive the events again using an action Reregister
Media Button Receiver.
Settings
Events
Whether the trigger should be executed for all media button events or only for a specific button.
Specific event
The Event/Button that should be reacted upon.
Wired headsets usually generate the event Headset Hook.
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
triggertime
the time the trigger executed
key_code
the numeric keycode
key_code_name (Android 3.1+)
the name of the keycode
key_duration
the duration of the event in milliseconds
key_source_device_id
the ID of the sending device
Mobile Datanetwork Type
The trigger Mobile Datanetwork Type is executed when the network type switches to one selected in the list.
Examples:
Play an alert sound when the network switches to GPRS
Settings
Network Type
The network types to execute the trigger.
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
triggertime
the time the trigger executed
previous_mobile_network_type
the type of the network before
mobile_network_type
the type of the network (0=Unknown, 1=GPRS, 2=EDGE, 3=UMTS, 4=CDMA, 5=CDMA - EvDo rev. 0, 6=CDMA - EvDo
rev. A, 7=CDMA - 1xRTT, 8=HSDPA, 9=HSUPA, 10=HSPA, 11=iDEN, 12=CDMA - EvDo rev. B, 13=LTE, 14=CDMA -
eHRPD, 15=HSPA+)
Next Alarm
The trigger Next Alarm is executed when the next alarm set in the Android alarm app is reached.
Warning: This function is not officially supported by Android and might not work on all devices.
Examples:
Start the coffee machine when you are woken up in the morning.
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
triggertime
the time the trigger executed
NFC State
The trigger NFC State is executed when the NFC adapter of the device is turned on or off depending on the settings used.
Settings
NFC state
Defines the NFC states to trigger the flow. Selecting multiple states triggers the flow once for each state.
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
triggertime
the time the trigger executed
nfc_state
the current state of the NFC adapter
NFC Tag
The trigger NFC Tag executes the flow when an NFC tag is detected.
You can either write a special ID to the NFC tag that will be used to identify the tag and execute the flow (this is the
recommended option to use when you have a writeable NFC tag) or you can also read the ID of an existing NFC tag. This is
especially useful for read-only NFC tags like the ones often found in credit cards or read-only NFC tags (Live Tags, Smart
Tags etc.) of some device manufacturers. Please also check the Tip in the settings section of this page.
Note: Not all NFC tags are supported.
Examples:
Turn on the airplane mode when an NFC tag in the bedroom is scanned
Settings
Tag Type
Whether an NFC tag is written using a specific ID defined in Automagic (recommended) or an existing NFC tag should be
used (does not work with all tags, some devices show an app selection list when other apps are installed that also handle
NFC tags).
Tag IDs
A comma separated list of tag IDs. Glob patterns can be used to match multiple tag IDs.
Write ID to NFC tag
Opens a screen to write the specified IDs to an NFC tag. The NFC tag must be writeable and must be able to contain
NDEF formatted data.
Multiple IDs can be written to the tag but the tag IDs must contain only regular characters, underscore and numbers.
Option Write alternate tag information on the writer screen allows to define whether or not different type of information
should be written to the NFC tag. Some devices show a warning dialog when a regular Automagic NFC tag is scanned
since the tag contains a Web-URL. Writing an alternate tag uses a different URL that avoids this warning message.
Android 4+: Option Include Android Application Record on the writer screen allows to define whether or not an
additional AAR (Android Application Record) should be written to the tag. An AAR uses slightly more space on the NFC
tag but ensures that the tag is preferably handled by Automagic and not by another app.
Read ID from NFC Tag
Opens a screen to read the ID of an existing NFC tag.
Tip: Some devices contain apps that can handle generic NFC tags and are shown in a selection list when an NFC tag is
scanned. Uninstall or deactivate unused apps when the selection dialog bugs you. You can deactivate apps in the system
settings on an Android 4+ device (System settings->Apps->All, Select the app->Deactivate).
For example, you can disable the app Tags on a Galaxy Nexus to prevent the selection list from showing.
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
triggertime
the time the trigger executed
nfc_tag_ids
the scanned tag ID or a comma separated list when the tag contained multiple IDs
Notification on Screen Displayed
The trigger Notification on Screen Displayed is executed when a notification is displayed on the screen.
Note: At least Android 4.0 (ICS) is required.
Examples:
Read out the text of a notification
Settings
Package Name
The comma separated list of apps that displayed the notification. Glob patterns can be used to match multiple packages.
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
triggertime
the time the trigger executed
notification_message
the text of the displayed notification
package_name
the name of the package that displayed the notification
app_name
the display name of the app
Notification on Statusbar Displayed
The trigger Notification on Statusbar Displayed is executed when a notification is displayed in the statusbar.
Examples:
Turn the screen on when Gmail app receives a mail
Settings
Package Name
The comma separated list of apps that displayed the notification. Glob patterns can be used to match multiple packages.
Ignore ongoing events
Defines whether or not the trigger should execute the flow for ongoing events.
A notification is marked as an ongoing event by the application that posts the notification and is usually set when a
notification shows some progress like a file download, an app is playing a sound, or an app is running as a foreground
service.
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
triggertime
the time the trigger executed
title
the title of the displayed 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
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
Notification on Statusbar Removed
The trigger Notification on Statusbar Removed is executed when a notification is removed from the statusbar.
Examples:
Disable mobile data access when a music app displaying a notification is stopped
Settings
Package Name
The comma separated list of apps that displayed the notification. Glob patterns can be used to match multiple packages.
Ignore ongoing events
Defines whether or not the trigger should execute the flow for ongoing events.
A notification is marked as an ongoing event by the application that posts the notification and is usually set when a
notification shows some progress like a file download, an app is playing a sound, or an app is running as a foreground
service.
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
triggertime
the time the trigger executed
title
the title of the displayed 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
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
Notification on Statusbar Selected
The trigger Notification on Statusbar Selected executes the flow when a notification is selected that was previously shown
using action Notification on Statusbar.
Example:
Show a notification when the airplane mode is enabled by a flow. Turn airplane mode manually off when the notification in
the statusbar is selected.
Settings
Notification
Create own Notification
Creates a new notification on the statusbar.
Trigger on Notification from Action
Trigger the flow when a notification supplied by action Notification on Statusbar was selected.
Icon
The icon to use for this notification.
Title
The title of the notification.
Message
The message of the notification.
Play Sound
Plays the default notification sound when checked.
Vibrate
Vibrates when checked.
Flash LED
Flash the notification LED using the supplied color. Notification LED and user defined colors are not supported on all
devices.
Ongoing
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.
Priority (Android 4.1+)
Defines the priority of the notification. A notification with a low priority might be displayed in the expanded statusbar only
(depends on Android version).
Notification IDs
Whether the trigger should be executed for one specific ID or for all notifications. The ID can be defined in the action
Notification on Statusbar.
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.
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
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
triggertime
the time the trigger executed
notification_title
the title of the notification
notification_message
the message of the notification
notification_id
the ID of the selected notification
Outgoing Call
The trigger Outgoing Call is executed when an outgoing call is made and the criteria defined in the options match.
Examples:
Start recording in Gleeo Time Tracker when you call your employer.
Send a mail containing the called number and time to your mail account.
Settings
Called Callnumber List
The list of callnumbers when the flow should be executed. 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.
Warning: Verify that the called number is formatted to your expectations.
You have to check the log file to see the exact formatting used or you can add an action Notification on Screen with text
{called_number} to see the actual number.
Phone state
Defines the state of the call to trigger the flow. Selecting multiple states triggers the flow once for each state.
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
triggertime
the time the trigger executed
called_number
the number of the called party
call_state
the state of the call (IDLE, OFFHOOK)
contact_name
the name of the contact if available
contact_company
the company of the contact if available
contact_title
the title of the contact if available
contact_note
the note of the contact if available
contact_nickname
the nickname of the contact if available
contact_email
an email address of the contact if available
contact_groups
the list of groups of the contact if available
Periodic Location Update
The trigger Periodic Location Update is executed in periodic intervals and delivers a location to the executed flow.
The accuracy of the location heavily depends on the selected location provider.
Tip: The higher the time interval between updates the less battery will be used. A frequency of about 4 minutes is
recommended.
Examples:
Record the location every 5 minutes to a file.
Send an SMS with your location every hour to someone.
Settings
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.
Frequency
The desired time between location updates. The actual time between location updates depends on the location provider
when Enforce Exact Frequency is not checked.
A location provider (for example GPS) can ignore the specified frequency and deliver updates every few seconds.
Enforce Exact Frequency
Ensures that the location is provided in the intervals specified by Frequency even when the location provider delivers the
location updates more often or less often.
Minimum Accuracy (in meters)
Only newer locations with at least the specified accuracy are passed to the flow.
This can be useful to filter out locations calculated using the cell tower when also more exact locations using WiFi are
available.
Limit time range
Whether the trigger should be active all the time or only within a defined time range.
Weekdays
The day on which the trigger should be active.
From - To
The start of the time range and the end of the time range. A To-time smaller than the From-time will move the To-time to
the next day to simplify checks for time ranges crossing midnight.
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
triggertime
the time the trigger executed
location
the reported location
location_accuracy
the accuracy of the location
location_altitude
the altitude of the location when available
location_bearing
the direction of travel in degrees East of true North when available
location_speed
the speed of travel in meters per second when available
Periodic Timer
The trigger Periodic Timer is executed in the specified interval.
Examples:
Remind about a recording task in Gleeo Time Tracker every 5 minutes.
Settings
Interval
Defines the time interval between flow executions.
Wake device when in sleep mode
Defines whether the device should be woken up from sleep mode.
Disabling this option saves a bit of battery but delays the trigger invocation for an unknown amount of time when the
devices is asleep.
Limit time range
Whether the trigger should be active all the time or only within a defined time range.
Weekdays
The day on which the trigger should be active.
From - To
The start of the time range and the end of the time range. A To-time smaller than the From-time will move the To-time to
the next day to simplify checks for time ranges crossing midnight.
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
triggertime
the time the trigger executed
Periodic Timer Inexact
The trigger Periodic Timer Inexact is executed approximately in the specified interval. The device can adjust the time of the
trigger a bit and call the trigger when the device is currently also executing other tasks. This trigger uses less battery than the
regular trigger Periodic Timer
Examples:
Check approximately once an hour if a server is online.
Settings
Interval (Inexact)
Defines the time interval between flow executions. Android only supports the times available in this list.
Wake device when in sleep mode
Defines whether the device should be woken up from sleep mode.
Disabling this option saves a bit of battery but delays the trigger invocation for an unknown amount of time when the
devices is asleep.
Limit time range
Whether the trigger should be active all the time or only within a defined time range.
Weekdays
The day on which the trigger should be active.
From - To
The start of the time range and the end of the time range. A To-time smaller than the From-time will move the To-time to
the next day to simplify checks for time ranges crossing midnight.
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
triggertime
the time the trigger executed
Phone Cell CDMA
The trigger Phone Cell CDMA is executed when the device connects or disconnects from the defined cells. Changes within
the defined list of cells don't invoke the trigger.
Warning: Some devices don't report the cell to Automagic when the screen is turned off.
Examples:
Turn WiFi on, when the device connects to one of the cells at home
Settings
Cell List
A comma separated list of cell IDs. Glob patterns (*, ?) are supported. Variables are supported.
Cell List to Ignore
A comma separated list of cell IDs to ignore. Glob patterns (*, ?) are supported. Variables are supported.
Connected / Disconnected
Whether the trigger should be executed when the device connects or disconnects from the listed cells. Changes within the
defined list of cells don't invoke the trigger.
Wake device
Whether the trigger should wake the CPU of the device every X minutes or not. This is necessary for some devices when
the cell is not updated regularly. Consumes more battery when a shorter time interval is chosen.
Turn screen on
Whether the display should be turned on briefly or not. This is necessary for some devices when the cell is not updated
otherwise. This option increases battery consumption and should only be enabled when the cell is not updated otherwise.
Force update
Whether the cell update should be forced. This option increases battery consumption and should only be enabled when the
cell is not updated otherwise.
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
triggertime
the time the trigger executed
cell_id
the cell id, null if unknown
base_station_id
the ID of the base station , -1 if unknown
network_id
the ID of the network, -1 if unknown
system_id
the ID of the system, -1 if unknown
base_station_latitude
the latitude of the base station in quarter degree seconds, 2147483647 if unknown. Divide value by 14400 to get decimal
degrees. Not all networks provide meaningful values.
base_station_longitude
the longitude of the base station in quarter degree seconds, 2147483647 if unknown. Divide value by 14400 to get decimal
degrees. Not all networks provide meaningful values.
connected
true when connected to the defined cells, false otherwise
disconnected
true when disconnected from the defined cells, false otherwise
Phone Cell GSM
The trigger Phone Cell GSM is executed when the device connects or disconnects from the defined cells. Changes within the
defined list of cells don't invoke the trigger.
Warning: Some devices don't report the cell to Automagic when the screen is turned off.
Examples:
Turn WiFi on, when the device connects to one of the cells at home
Settings
Location Area Code (LAC) List
A comma separated list of location area codes. A location area is set of base stations and usually covers a large area.
Glob patterns (*, ?) are supported. Variables are supported.
Cell ID (CID) List
A comma separated list of cell IDs. Glob patterns (*, ?) are supported. Variables are supported.
Cell ID (CID) List to Ignore
A comma separated list of cell IDs to ignore. Glob patterns (*, ?) are supported. Variables are supported.
Connected / Disconnected
Whether the trigger should be executed when the device connects or disconnects from the listed cells. Changes within the
defined list of cells don't invoke the trigger.
Wake device
Whether the trigger should wake the CPU of the device every X minutes or not. This is necessary for some devices when
the cell is not updated regularly. Consumes more battery when a shorter time interval is chosen.
Turn screen on
Whether the display should be turned on briefly or not. This is necessary for some devices when the cell is not updated
otherwise. This option increases battery consumption and should only be enabled when the cell is not updated otherwise.
Force update
Whether the cell update should be forced. This option increases battery consumption and should only be enabled when the
cell is not updated otherwise.
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
triggertime
the time the trigger executed
lac
the currently connected location area code (LAC), -1 if unknown
cid
the currently connected cell ID (CID), -1 if unknown
psc
the primary synchronization code (PSC), -1 if unknown
connected
true when connected to the defined cells, false otherwise
disconnected
true when disconnected from the defined cells, false otherwise
Phone Service State
The trigger Phone Service State is executed when the device detects the specified state.
Warning: Some devices don't send the current service state to applications when the screen is turned off. You can periodically
use the action Turn Screen On to mitigate this problem.
Examples:
Play a warning sound when no service is available.
Settings
Phone Service State
In Service
Execute the flow when the telephony is back to regular operation.
Out of Service
Execute the flow when telephony becomes unavailable.
Emergency Only
Execute the flow when only emergency numbers can be called.
Power Off
Execute the flow when the radio is explicitly powered off.
Wake device
Whether the trigger should wake the CPU of the device every X minutes or not. Consumes more battery when a shorter
time interval is chosen.
Turn screen on
Whether the display should be turned on briefly or not. This option increases battery consumption and should only be
enabled when the values are not updated otherwise.
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
triggertime
the time the trigger executed
previous_service_state
the previous service state (0=in service, 1=out of service, 2=emergency only, 3=power off)
service_state
the current state of the service (0=in service, 1=out of service, 2=emergency only, 3=power off)
roaming
boolean indicating the roaming status
Phone Signal Strength
The trigger Phone Signal Strength is executed when the signal strength falls under or raises over the specified value.
Examples:
Play an alert when the signal strength becomes bad.
Settings
Signal Strength Condition
Defines the condition that must be met to execute the flow:
becomes lower than
Executes the flow when the last reported value was above the defined level and the current value is below the defined
level
becomes higher than
Executes the flow when the last reported value was below the defined level and the current value is above the defined
level
becomes equal to
Executes the flow when the last reported value was different than the defined level and the current value equals the
defined level
lower than
Executes the flow whenever the reported value by the system is below the defined level. Depending on device this might
cause the flow to be executed every few seconds. The flow is executed even when the last value has been the same.
higher than
Executes the flow whenever the reported value by the system is above the defined level. Depending on device this might
cause the flow to be executed every few seconds. The flow is executed even when the last value has been the same.
exactly
Executes the flow whenever the reported value by the system is exactly on the defined level. Depending on device this
might cause the flow to be executed every few seconds. The flow is executed even when the last value has been the
same.
Signal Strength
Defines the signal strength to use.
Wake device
Whether the trigger should wake the CPU of the device every X minutes or not. Consumes more battery when a shorter
time interval is chosen.
Turn screen on
Whether the display should be turned on briefly or not. This option increases battery consumption and should only be
enabled when the values are not updated otherwise.
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
triggertime
the time the trigger executed
is_gsm
true when GSM
signal_strength_level
the signal strength in a value from 0 to 4 like the bars on a standard Android device
signal_strength_asu
the signal strength in ASU (0-31)
gsm_signal_strength
the GSM signal strength (0-31, 99 for unknown, -1 for unavailable)
gsm_bit_error_rate
the GSM bit error rate (0-7, 99 for unknown, -1 for unavailable)
cdma_dbm
the CDMA RSSI value in dBm (-1 for unavailable)
cdma_ecio
the CDMA Ec/Io value in dB*10 (-1 for unavailable)
evdo_dbm
the EVDO RSSI value in dBm (-1 for unavailable)
evdo_ecio
the EVDO Ec/Io value in dB*10 (-1 for unavailable)
evdo_snr
the EVDO signal to noise ratio (0-8, -1 for unavailable)
Plugin (Experimental)
The trigger Plugin (Experimental) executes a flow when the condition of a plugin changes to true and/or false.
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.
Condition
becomes true: when the condition measured in the plugin changes from false or undefined to true
becomes false: when the condition measured in the plugin changes from true or undefined to false
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
triggertime
the time the trigger executed
condition
whether the condition became true or false
Plugin Event (Experimental)
The trigger Plugin Event (Experimental) executes a flow when an event-plugin indicates an event.
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.
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
triggertime
the time the trigger executed
Power Source
The trigger Power Source is executed when a power source is connected to the device (charger or USB cable).
Examples:
Turn on WiFi when a power source is connected.
Increase the screen brightness when a power source is connected.
Set screen brightness to automatic when a power source is disconnected.
Settings
Power connected/disconnected
Connected
When selected executes the flow when a power source is connected.
AC Adapter: when charging with the AC adapter
USB: when charging over an USB connection
Wireless: when charging wirelessly
Disconnected
When selected executes the flow when a power source is disconnected.
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
triggertime
the time the trigger executed
battery_level
the charging level of the battery
battery_percentage
the charging percentage
battery_plugged
whether the battery is plugged (1=AC adapter, 2=USB, 4=Wireless) or not (0=not plugged)
battery_present
whether the battery is present or not
battery_scale
the maximum battery level
battery_status
the status of the battery (1=unknown, 2=charging, 3=discharging, 4=not charging, 5=full)
battery_technology
the technology of the battery
battery_temperature
the temperature of the battery
battery_voltage
the current battery voltage
battery_health
the health of the battery
Pressure Sensor
The trigger Pressure Sensor is executed when the measured pressure of the pressure sensor rises above or declines below
a certain level or when the pressure changes at least the specified amount in the given time.
Warning: This trigger 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.
Tip: If you need to check the pressure only every few minutes, it is recommended to use a condition Pressure Sensor since
the condition will not use the sensor constantly and thus consumes less battery.
Examples:
Execute a flow when the pressure changes when walking down a stair
Settings
Type
Declines below: executes the trigger when the measured pressure falls under a certain value
Rises above: executes the trigger when the measured pressure rises above a certain value
Declines within duration: executes the trigger when the measured pressure declines a certain amount within a
given time
Rises within duration: executes the trigger when the measured pressure rises a certain amount within a given time
Pressure (in mbar)
The pressure in millibar to compare.
Threshold
The minimal change in pressure before the trigger is executed again.
Example:
Type: Declines below, Pressure 1000mbar, Threshold: 5mbar
The trigger is executed when the pressure declines below 1000mbar. The pressure has to rise to at least 1005mbar again
before the trigger is executed again.
Change (in mbar)
The change in pressure in mbar.
Duration
The duration the pressure change has to happen for the trigger to execute.
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
triggertime
the time the trigger executed
pressure
the measured pressure in mbar
Proximity Sensor
The trigger Proximity Sensor is executed when the measured distance of the proximity sensor passes the defined distance.
Warning: This trigger 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.
Settings
Distance (in cm)
Whether to execute the trigger when the distance passes above or below the defined distance and the distance in cm.
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
triggertime
the time the trigger executed
proximity
the measured value of the proximity sensor
Screen Orientation
The trigger Screen Orientation is executed when the orientation of the device changes to portrait or landscape.
Examples:
Change the active keyboard type depending on screen orientation
Settings
Portrait or Landscape
Whether the trigger should be executed when the display changes to portrait or landscape.
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
triggertime
the time the trigger executed
Shake
The trigger Shake is executed when the device is shaken.
Warning: This trigger 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:
Raise the screen brightness for 1 minute when the device is shaken.
Turn silent mode on when the device is shaken.
Settings
Sensitivity
Defines how strong a shake must be to invoke the trigger.
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
triggertime
the time the trigger executed
Shortcut
The trigger Shortcut is executed when a shortcut on the launcher is pressed.
You can create the shortcut and select an icon by pressing the Install Shortcut button.
Examples:
Turn WiFi on by pressing the shortcut.
Launch a settings application screen by pressing the shortcut.
Start recording in Gleeo Time Tracker by pressing the shortcut.
Settings
Title
The title/name of the shortcut to create.
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
triggertime
the time the trigger executed
Shutdown
The trigger Shutdown is executed before the device shutdown.
A flow is executed on a best effort basis, Automagic might not have enough time to execute the flow completely or some
services or interfaces might already be unavailable when the shutdown is detected.
Examples:
Vibrate before the device shuts down
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
triggertime
the time the trigger executed
Significant Motion Detected
The trigger Significant Motion Detected is executed when the special hardware sensor of the device detects a significant
motion. Automagic can not configure how strong or how long the duration of the motion needs to be to activate the sensor.
Warning: This trigger hardware sensors of the device. This special hardware sensor used by this trigger should have a very
low battery consumption.
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
triggertime
the time the trigger executed
SMS Received
The trigger SMS Received is executed when an SMS is received depending on the criteria defined in the options.
Examples:
Play a special alert when an SMS containing the keyword Alert!
Send an SMS containing your location back to the SMS sender when the SMS contains Where are you?
Read the received SMS aloud.
Delete a password file on the SD card when the SMS contains house search!
Play a repeating sound and vibrate when an SMS contains device lost!
Tip: Use a keyword or password that will not be part of a regular SMS to avoid unpleasant surprises.
Settings
SMS Sender List
The list of callnumbers when the flow should be executed. 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.
Warning: The formatting of the incoming number depends on the operator in use.
You have to check the log file to see the exact formatting used or you can add an action Notification on Screen with text
{sms_sender} to see the actual number.
Contains Text
Only executes the flow when the text of the SMS contains the given text (no wildcards supported). The text is not case
sensitive.
Prevent other apps from receiving the SMS
Prevents the regular SMS application from receiving the SMS.
Warning: Only check this option when you are sure that Contains Text does not match regular SMS by accident.
Warning: This feature is not supported on Android 4.4+.
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
triggertime
the time the trigger executed
sms_text
the text of the SMS
sms_sender
the sender of the SMS
contact_name
the name of the contact if available
contact_company
the company of the contact if available
contact_title
the title of the contact if available
contact_note
the note of the contact if available
contact_nickname
the nickname of the contact if available
contact_email
an email address of the contact if available
contact_groups
the list of groups of the contact if available
SMS Sent
The trigger SMS Sent is executed when an SMS is sent and stored as a sent SMS in the default SMS outbox of the standard
Android SMS database.
Warning: This function is not officially supported by Android and might not work on all devices.
Examples:
Send every sent SMS as a mail to your mail account
Settings
SMS Receiver List
The list of callnumbers when the flow should be executed. 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.
Contains Text
Only executes the flow when the text of the SMS contains the given text (no wildcards supported). The text is not case
sensitive.
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
triggertime
the time the trigger executed
sms_text
the text of the SMS
sms_receiver
the receiver of the SMS
contact_name
the name of the contact if available
contact_company
the company of the contact if available
contact_title
the title of the contact if available
contact_note
the note of the contact if available
contact_nickname
the nickname of the contact if available
contact_email
an email address of the contact if available
contact_groups
the list of groups of the contact if available
Sound Level (Experimental)
The trigger Sound Level (Experimental) is executed when the recorded sound level in the environment exceed a certain
level.
Warning: This condition records the environment sound using the microphone of the device which does not work, when
another app already uses the microphone.
Settings
Average
If the current sound level should be considered or the duration to record and calculate the sound level.
Sensitivity
The sensitivity of the slider to define the sound level.
Sound Level
The sound level to check.
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
triggertime
the time the trigger executed
sound_level
the detected sound level
Speed
The trigger Speed is executed when the measured speed of the GPS receiver rises above or declines below a certain level.
Warning: This trigger uses the GPS receiver and might increase battery usage (depending on device model).
Examples:
Record the location in a file whenever you are driving faster than 120km/h
Settings
Type
Declines below: executes the trigger when the reported speed falls under a certain value
Rises above: executes the trigger when the reported speed rises above a certain value
Speed
The speed to compare.
Unit
The unit of the speed.
Threshold
The minimal change in speed before the trigger is executed again.
Example:
Type: Declines below, Speed 40km/h, Threshold: 10km/h
The trigger is executed when the speed declines under 40km/h. The speed has to rise to at least 50km/h again before the
trigger is executed again.
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
triggertime
the time the trigger executed
location
the reported location
location_accuracy
the accuracy of the location
location_altitude
the altitude of the location when available
location_bearing
the direction of travel in degrees East of true North when available
location_speed
the speed of travel in meters per second
Storage Media Event
The trigger Storage Media Event is executed when the system mounts or unmounts the SD card or makes other changes
involving the storage media.
Examples:
Disable a flow writing the location to the SD card when the sdcard is removed.
Settings
Event
Defines the event when the flow should be executed.
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
triggertime
the time the trigger executed
path
the affected path
System Setting Changed
The trigger System Setting Changed is executed whenever a setting in the systems setting database was changed.
Warning: This function is not officially supported by Android and might not work on all devices.
Examples:
Play an alert when the system turns on the blocking mode.
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 watch.
Variable
The name of the variable with the new value of the setting to pass to the 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
triggertime
the time the trigger executed
old_setting
the value of the setting before it was changed
setting
the new value of the setting
Time
The trigger Time is executed regularly on the defined weekday and time.
Examples:
Download a PDF newspaper every morning at 6am.
Turn on airplane mode every evening at 11pm.
Turn off airplane mode every morning at 6am.
Settings
Weekdays
The day on which the trigger should execute the flow.
Time
The time of the day when the trigger should execute the 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
triggertime
the time the trigger executed
Time Adjusted
The trigger Time Adjusted is executed when the time of the system is changed.
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
triggertime
the time the trigger executed
Timezone Adjusted
The trigger Timezone Adjusted is executed when the timezone of the system has been changed.
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
triggertime
the time the trigger executed
timezone
the new timezone
User Activity (Experimental)
The trigger User Activity (Experimental) asks the device to periodically check most probably physical activity of the user like
driving a car, riding a bike or walking.
Note: The detection of the current activity is a feature of the device provided by Google. Automagic can not change or improve
the quality of the detected activity.
Examples:
Check the activity every 5 minutes to measure how much time the user walks per day and how much time the user sits in
the office.
Increase the ringer volume when the user is driving in a car.
Settings
Trigger when
Activity detected: execute the flow when the defined activity begins or ends.
Periodically: execute the flow periodically even when the activity stays the same.
Activity
Defines which activity should trigger the flow. Begin executes the flow when the detected activity switches to the defined
activity and was different before. Ends executed the flow when the defined activity was in progress before and is not
detected anymore.
Enforce Exact Frequency
Ensures that the flow is executed exactly at the defined frequency even when the detected activity changes more or less
frequent.
Check Frequency
The desired time between activity checks. The actual time between activity updates depends on the device when Enforce
Exact Frequency is not checked.
The device can detect the activity more frequently when another app is interested in activity updates and uses a shorter
update interval. Some devices turn off activity detection when activity still is detected and a low power sensor to detect
device movement is available.
Minimum Confidence
The minimum confidence level to accept (0=unconfident, 100=confident).
Limit time range
Whether the trigger should be active all the time or only within a defined time range.
Weekdays
The day on which the trigger should be active.
From - To
The start of the time range and the end of the time range. A To-time smaller than the From-time will move the To-time to
the next day to simplify checks for time ranges crossing midnight.
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
triggertime
the time the trigger executed
activity_name
the name of the activity ("in_vehicle", "on_bicycle", "on_foot", "tilting" or "unknown")
activity_type
the type of the activity as a number (0=in_vehicle, 1=on_bicycle, 2=on_foot, 3=still, 4=unknown, 5=tilting)
activity_confidence
the confidence in a number from between 0=unconfident and 100=confident
activity_time
the time when the activity was originally detected
User Present
The trigger User Present executes the flow when the user activates the device and passed the unlock screen.
Example:
Start the browser when the device is unlocked at home.
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
triggertime
the time the trigger executed
WiFi Connected
The trigger WiFi Connected is executed when a connection with the defined network has been established.
Examples:
Download a file as soon as WiFi is available.
Settings
SSID List
The list of SSIDs to execute the flow when connected. The list can contain glob pattern characters like * and ?.
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
triggertime
the time the trigger executed
bssid
the BSSID of the connected WiFi network
ssid
the SSID of the connected WiFi network
WiFi Disconnected
The trigger WiFi Disconnected is executed when a connection with the defined network has been separated.
Examples:
Play an alert when WiFi is not available anymore.
Turn off flows causing big data transfers.
Settings
SSID List
The list of SSIDs to execute the flow when disconnected. The list can contain glob pattern characters like * and ?.
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
triggertime
the time the trigger executed
bssid
the BSSID of the disconnected WiFi network
ssid
the SSID of the disconnected WiFi network
WiFi Scan Results Available
The trigger WiFi Scan Results Available is executed when the results of a WiFi access point scan are available.
Examples:
Connect to a free WiFi network when it 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
triggertime
the time the trigger executed
access_points
the list of available access points
WiFi State
The trigger WiFi State is executed when the devices wireless network adapter changes to one of the defined states.
Examples:
Enable some download flows when WiFi is turned on
Settings
WiFi States
The accepted states.
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
triggertime
the time the trigger executed
previous_wifi_state
the wifi state (0=disabling, 1=disabled, 2=enabling, 3=enabled, 4=unknown)
wifi_state
the wifi state (0=disabling, 1=disabled, 2=enabling, 3=enabled, 4=unknown)
Wired Headset Plugged
The trigger Wired Headset Plugged is executed when a wired headset or earphones have been connected or disconnected.
Examples:
Turn down the volume when the headset is connected.
Settings
Wired headset plugged/unplugged
Plugged
Execute the flow when the headset has been plugged.
Unplugged
Execute the flow when the headset has been unplugged.
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
triggertime
the time the trigger executed
headset_type
the type of the headset
microphone
whether a microphone is available or not
Base Concepts
Creating the First Flow
Creating a Custom Widget
Main Screens
Triggers
Conditions
Actions
Conditions
Active Network Type
Airplane Mode On
App Process Running
App Task Running
Audio Manager Mode
Audio Volume
Auto Sync Enabled
Auto-rotate Screen Enabled
Battery Level
Bluetooth Device Connected
Bluetooth Enabled
Bluetooth SCO On
Calendar Event
Call State
Confirmation Dialog
Debug Dialog
Device Orientation
Device Storage Space
Device Storage Space Low
Dock State
Execution Count
Expression
Flow Enabled
Flow Executing
Gleeo is Recording
Gmail Unread Conversation Count
Host Reachable
Keyguard Locked
Light Sensor
Location
Location Entering
Location Provider Enabled
Time Range
UI Mode
Vibrate on Ring Enabled
WiFi Access Point Enabled
WiFi Available
WiFi Connected
Wifi Signal Level
WiFi State
Microphone Mute
Mobile Datanetwork
Enabled Mobile
Datanetwork Type
Music Active
Network Connected
NFC Enabled
Night Mode
Notification on Statusbar
Displayed Phone Cell
CDMA
Phone Cell GSM
Phone Service State
Phone Signal Strength
Plugin (Experimental)
Power Source Connected
Pressure Sensor
Proximity Sensor
Ringer Mode
Roaming
Screen On
Screen Orientation
Service Running
Sound Level
(Experimental)
Speakerphone On
Telephony Radio Enabled
WiFi Tethering State Wired
Headset Plugged
Conditions
Active Network Type
The condition Active Network Type checks if a network (usually WiFi or Mobile) is active and usable for data traffic.
Examples:
Execute a download action only when the current active network is WiFi
Settings
Network Type
Defines for what network types the condition should be true
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
network_type
the network type as number (None=-1, Mobile=0, WiFi=1, WiMAX=6, Bluetooth=7, Ethernet=9)
network_type_name
the name of the network as string like WIFI or MOBILE
network_subtype
the network subtype as number
network_subtype_name
the network subtype as number
network_state
the network state (CONNECTING, CONNECTED, SUSPENDED, DISCONNECTING, DISCONNECTED, UNKNOWN)
network_detailed_state
the detailed network state (IDLE, SCANNING, CONNECTING, AUTHENTICATING, OBTAINING_IPADDR, CONNECTED,
SUSPENDED, DISCONNECTING, DISCONNECTED, FAILED, BLOCKED, VERIFYING_POOR_LINK,
CAPTIVE_PORTAL_CHECK)
network_extra_info
additional info as string (like SSID), when available
network_reason
the reason of a failure, when available
Airplane Mode On
The condition Airplane Mode On checks whether the airplane mode is on or not.
Examples:
Only download a file when airplane mode is turned off.
App Process Running
The condition App Process Running checks whether the process hosting an app is currently running.
Note: Android keeps processes in memory even when the process might not be required anymore and enough free memory is
available.
Settings
Package Name
The name of the process to check. 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
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
App Task Running
The condition App Task Running checks whether a task for one of the specified packages is currently running.
Settings
Package Name
The name of the app to check. Glob patterns (*, ?) are supported. Variables are supported.
check most recent app task only
if only the most recent app task should be checked (this is the active app on many Android versions)
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
index
the index of this task. An index of zero denotes the most recent running task.
base_activity
the component launched as the first activity in the task
top_activity
the activity component at the top of the history stack of the task
id
a unique identifier for this task
num_running
the number of activities that are currently running (not stopped and persisted) in this task
description
a description of the task's current state
Audio Manager Mode
The condition Audio Manager Mode checks whether the device is currently configured to use the desired audio manager
mode.
Settings
Audio Manager Mode
The desired audio manager mode to check.
Audio Volume
The condition Audio Volume checks whether the volume of the selected stream type is above or below a certain level.
Examples:
Execute a vibrate action only when the music volume is very low
Settings
Sound Type
The type of the audio stream to check.
Condition
Whether the condition should check if the volume is above or below the volume level.
Volume
The volume value to check.
Auto Sync Enabled
The condition Auto Sync Enabled checks whether the automatic synchronisation is turned on or off either globally (the
master switch) or for a specific account/authority.
Examples:
Check the current state of auto sync to toggle the setting to the opposite value
Settings
Global or Specific
Whether the global master switch should be checked or a specific account/authority.
Account
The account to check in format Type:Name. Variables are supported.
Authority
The part/database of the account to check. Variables are supported.
Auto-rotate Screen Enabled
The condition Auto-rotate Screen Enabled checks whether the system setting to automatically rotate the screen is enabled
or not.
Battery Level
The condition Battery Level checks whether the battery level is above or below a certain level.
Examples:
Download a file only when the battery level is above 50%.
Settings
Battery Level
Defines the condition that must be met to continue the flow on the true branch:
lower than
true when the reported percentage by the system is below the defined level
higher than
true when the reported percentage by the system is above the defined level
exactly
true when the reported percentage by the system is exactly on the defined level
full
true when the reported battery status by the system is full
Level Percentage
Defines the level percentage.
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
battery_level
the charging level of the battery
battery_percentage
the charging percentage
battery_plugged
whether the battery is plugged (1=AC adapter, 2=USB, 4=Wireless) or not (0=not plugged)
battery_present
whether the battery is present or not
battery_scale
the maximum battery level
battery_status
the status of the battery (1=unknown, 2=charging, 3=discharging, 4=not charging, 5=full)
battery_technology
the technology of the battery
battery_temperature
the temperature of the battery
battery_voltage
the current battery voltage
battery_health
the health of the battery (1=unknown, 2=good, 3=overheat, 4=dead, 5=over voltage, 6=unspecified failure, 7=cold)
Bluetooth Device Connected
The condition Bluetooth Device Connected checks whether a connection to a Bluetooth device exists.
Warning: This function is not directly supported by Android. The list of currently connected Bluetooth devices is collected
using connect/disconnect events reported to Automagic. Under certain circumstances, the list of connected devices might not
correspond to the list of really connected devices, for example when Automagic is freshly installed and a bluetooth device was
already connected. In such cases, the bluetooth adapter must be disabled temporarily and reenabled in the preferences of
Android to force the Bluetooth devices to reconnect.
Examples:
Turn on WiFi in the evening only when one of the Bluetooth devices at home is connected.
Settings
Bluetooth Device
Defines whether the condition should check if at least one connection to a device exists or if the condition should check a
specific device.
Bluetooth Device Address
The address of the bluetooth device. Variables are supported.
Bluetooth Device Name
The name of the bluetooth device.
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
connected_devices_addresses
list of addresses of the connected devices
connected_devices_names
list of names of the connected devices
Bluetooth Enabled
The condition Bluetooth Enabled checks whether bluetooth is turned on or off.
Examples:
Open an app when bluetooth is turned on.
Bluetooth SCO On
The condition Bluetooth SCO On checks whether communications use Bluetooth SCO or not.
Calendar Event
The condition Calendar Event checks, whether an event on the calendar is currently active.
Examples:
Send an SMS to the calling number telling when your meeting ends
Don't let the SMS be read aloud in a meeting
Settings
Starting
The start time offset the condition should consider an event as active.
Ending
The end time offset the condition should consider an event as active.
Calendars
A comma separated list of calendar names that should be checked for events. The values can contain glob pattern
characters like * and ?. Variables are supported.
Titles
A comma separated list of event titles to match. The values can contain glob pattern characters like * and ?. Variables are
supported.
Examples:
Plan* matches titles like Planning, Plan B etc.
Descriptions
A comma separated list of event descriptions to match. The values can contain glob pattern characters like * and ?.
Variables are supported.
Locations
A comma separated list of event locations to match. The values can contain glob pattern characters like * and ?. Variables
are supported.
Event Type
Whether the trigger should consider all day events or regular events (not all day) or both.
Event Availability
Whether the trigger should consider events marked as free, busy or tentative.
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
event_calendar
the name of the calendar of the event
event_title
the title of the event
event_description
the description of the event
event_location
the location of the event
event_start
the start time of the event
event_end
the end time of the event
event_all_day
boolean indicating if the event is all day or not
event_availability
FREE, BUSY or TENTATIVE depending on the availability of the event
event_id
the ID of the event
Call State
The condition Call State checks whether a call is currently active or not.
Settings
Phone state
The accepted states.
Note: State Ringing is only valid for incoming calls, an outgoing call directly changes the state from Idle to Off-hook
Confirmation Dialog
The condition Confirmation Dialog shows a dialog with a question and continues flow execution depending on the button
pressed.
Examples:
Turn on bluetooth but ask for confirmation first.
Settings
Question
The text of the question to ask. Variables are supported.
Activate Timeout
Whether an automatic timeout should be used 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
Whether the flow should be continued on the Yes or No branch.
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:
yes when the user pressed the Yes-button
no when the user pressed the No-button
timeout when the dialog was closed by a timeout
Debug Dialog
The condition Debug Dialog shows a dialog containing all variables and the corresponding values in a dialog. Buttons can be
used to control if the condition continues at "true" or "false.
Examples:
Debug a complex flow.
Device Orientation
The condition Device Orientation checks whether the device is in one of the specified orientation.
Examples:
Beep every 5 minutes when recording your time but only when the device display is not facing down.
Settings
Device Orientation
The desired orientation of the device.
Face down: The display of the device is facing down for example when lying on a table with the display towards the
table.
Face up: The display of the device is facing up for example when lying on a table with the display facing away from
the table.
Face left: The display faces to the left with the longer side lying on a table when the upper edge of the device is
pointing away from you.
Face right: The display faces to the right with the longer side lying on a table when the upper edge of the device is
pointing away from you.
Standing upright: The device is standing upright on a table.
Standing upside-down: The device is standing upside-down on a table.
Device Storage Space
The condition Device Storage Space checks the storage space on the filesystem containing the specified path.
Example:
Check every morning if 100MB are still free on the SD card.
Settings
Filesystem
The path of the filesystem to check. Variables are supported.
Compare Free or Used Space
Whether to check the free or used space on the filesystem.
Size
The size to check.
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
available_blocks
the number of free blocks available to applications
free_blocks
the number of free blocks inclusive reserved blocks not usable by applications
block_count
the total number of blocks in the filesystem
block_size
the size of the blocks in bytes
available_space
the available space in bytes
used_space
the used space in bytes
Device Storage Space Low
The condition Device Storage Space Low checks whether the free space of the internal memory of the device is low.
Note: The amount of free space to consider as low is defined by the device manufacturer.
Standard Android considers less than 10% of free internal memory as low.
Example:
Play a warning sound every 5 minutes when the device storage space is low.
Dock State
The condition Dock State checks whether the device is in one of the docking states or not.
Settings
Dock States
The accepted docking states.
Docked Car: in a car dock
Docked Desk: in a desk dock
Docked Desk (High End, Digital): in a high end, digital dock
Docked Desk (Low End, Analog Dock): in a low end, analog dock
Docked Special: in a special dock like a hardware keyboard for an ASUS Transformer
Undocked: not in a dock
Execution Count
The condition Execution Count checks whether the condition has been executed a certain amount of times. An internal
counter is incremented whenever the condition is executed. The counter is reset to zero when to condition is met.
Examples:
Play an alarm when 2 SMS are received in 5 minutes.
Turn off the screen when the device is shook 2 times in 10 seconds.
Settings
Count
The count to compare.
Timed
Only consider executions that happened within the given duration.
Duration
The maximum age of executions to consider.
Expression
The condition Expression checks whether the expression is true or not.
Example Expressions:
a==1
b > =3
c < b AND a > 3
(a--)==0
startsWith(a, "test")
a > addDays(b, 4)
isEmpty(files)
Examples:
Check if the accuracy of a location is good enough: location_accuracy<300
Check if a counter reached zero: counter==0
See action Script for a description of the scripting language.
Settings
Expression
The expression to evaluate.
Note: Variables can be used directly in an expression and don't need to be escaped using curly braces.
Example: use location_accuracy instead of {location_accuracy}.
Flow Enabled
The condition Flow Enabled checks whether a flow is enabled or disabled.
Settings
Flow Name
The exact name of the flow to check. Variables are supported.
Flow Executing
The condition Flow Executing checks if a particular flow is currently executing.
Examples:
Don't execute a flow when the flow is already executed.
Settings
Flow Name
The name of the flow to check. 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
flow_execution_contexts
how many times the flow is currently executing
Gleeo is Recording
The condition Gleeo is Recording checks whether Gleeo Time Tracker is currently recording a specific project or task.
Settings
Project Filter List
A comma separated list of the projects to accept. Variables are supported.
Task Filter List
A comma separated list of the tasks to accept. Variables are supported.
Gmail Unread Conversation Count
The condition Gmail Unread Conversation Count checks the number of unread conversations available in the Gmail app on
the device.
Examples:
Play an alert sound every 5 minutes when unread conversations are available
Settings
Condition
Defines the condition that must be met to continue the flow on the true branch:
lower than
true when the reported count is below the defined count
higher than
true when the reported count is above the defined count
exactly
true when the reported count is exactly matches the defined count
Unread Count
The number to compare in the condition.
Accounts
The accounts to check. The sum of unread conversations is checked when multiple accounts are specified. The values can
contain glob pattern characters like * and ?. 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
count
the number of unread conversations
Host Reachable
The condition Host Reachable tests whether a host can be reached by either opening a TCP-connection using a socket or by
executing a ping command.
Examples:
Check once an hour if a server can be reached or not.
Settings
Type
Type of the check:
Automatic: Tries to connect to the host to port 7 to determine if the host is available. This method might use ping on
some versions of Android.
Socket: Tries to establish a TCP-connection to the specified host and port. The host is only considered to be
reachable when the connection can be successfully established.
Ping: Checks the reachability of the host using a ping-command (only one echo-request is sent). This option only
works when the ping-command is available on the device.
Host
The host to check. Variables are supported.
Port
The port to connect to (only for type=Socket). Variables are supported.
Keyguard Locked
The condition Keyguard Locked checks whether or not the keyguard is currently active.
Light Sensor
The condition Light Sensor checks whether the measured value of the light sensor is below or above the defined level.
Warning: Some devices turn off the sensors when the screen is off.
Warning: Some devices can not determine the current value of the sensor and only deliver a value when the measured value
of the sensor changes. This condition does not work on such devices.
Settings
Sensitivity
The sensitivity of the slider to define the light level.
Light Level
Whether the trigger should execute when the illuminance passes above or below a certain value and the level to use.
Timeout
The amount of time to wait for a value of the sensor, the condition 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
light_level
the effective illuminance in lux
Location
The condition Location checks whether a location is inside a specific area or not. The condition can also check if an area is
entered or exited by comparing the location of the last execution and the current location.
The condition uses the location already made available to the flow from a location trigger or uses the last known location of
the system.
The condition fails when no location is available in the flow and the device does not have a last known location ready. This
usually happens when the flow is executed manually. Either use one of the location triggers to execute your flow or explicitly
acquire the location using an action Init Variable Location before the condition is reached.
Examples:
Enable WiFi when you enter your office.
Stop recording in Gleeo Time Tracker when you leave your office.
Settings
Location
The location used by this condition.
Location Name
The name to use for this location. This name is used in the condition name and to select an existing location on the map.
Radius
The radius around the location in meters.
Entering
True when the location was outside the defined location and is inside now.
Exiting
True when the location was inside the defined location and is outside now.
Ignore when previous state was not known
Ignore entering/exiting when the location has not been known before. This is usually the case when the flow is executed for
the first time after starting Automagic.
Inside
True when the location is inside. This is also true when the location has been inside before and therefore is possibly true
for every location provided by a trigger.
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_name
the name of the location
entering
whether the location has been entered or not
exiting
whether the location has been exited or not
inside
whether the location is inside the defined area or not
Location Entering
The condition Location Entering checks whether an area has been entered or exited. This condition should only be used in
conjunction with a Location trigger.
Examples:
Enable WiFi when entering a location, disable WiFi when exiting the location.
Start recording in Gleeo Time Tracker when coming to the office, stop recording when exiting the office.
Settings
Entering/Exiting
Whether the condition should be true when entering or when exiting the location.
Location Provider Enabled
The condition Location Provider Enabled checks whether a particular location provider like GPS is enabled or not.
Examples:
Report your location per SMS only when GPS is active.
Settings
Location Provider
The location provider to check.
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.
Microphone Mute
The condition Microphone Mute checks whether the microphone is currently muted.
Examples:
Play a warning sound when the microphone is mute.
Mobile Datanetwork Enabled
The condition Mobile Datanetwork Enabled checks whether the mobile datanetwork is turned on or off.
Warning: This function is not officially supported by Android and might not work on all devices.
Examples:
Open an app when the mobile datanetwork is turned on.
Mobile Datanetwork Type
The condition Mobile Datanetwork Type checks if the current datanetwork type matches one selected in the list.
Examples:
Download a PDF only when the network type is UMTS or LTE
Settings
Network Type
The network types to accept.
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
mobile_network_type
the type of the network (0=Unknown, 1=GPRS, 2=EDGE, 3=UMTS, 4=CDMA, 5=CDMA - EvDo rev. 0, 6=CDMA - EvDo
rev. A, 7=CDMA - 1xRTT, 8=HSDPA, 9=HSUPA, 10=HSPA, 11=iDEN, 12=CDMA - EvDo rev. B, 13=LTE, 14=CDMA -
eHRPD, 15=HSPA+)
Music Active
The condition Music Active checks whether the music audio stream is currently in use.
Examples:
Turn down the media volume when entering a location and the music is playing.
Network Connected
The condition Network Connected checks if a network connection is currently available.
Examples:
Check that a network connection is available before sending a mail.
NFC Enabled
The condition NFC Enabled checks whether NFC is turned on or off.
Examples:
Play an alert sound when NFC is turned off when you enter the office.
Night Mode
The condition Night Mode checks whether the device is currently configured to use the desired night mode.
Settings
Night Mode
The accepted night modes.
Notification on Statusbar Displayed
The condition Notification on Statusbar Displayed checks whether a notification of an app is displayed in the statusbar and
supplies the information of the first matching notification as variables to the flow.
Examples:
Check every 5 minutes if an Hangout message is displayed in the statusbar and play a notification sound
Settings
Package Name
The comma separated list of apps that displayed the notification. Glob patterns can be used to match multiple packages.
Variables are supported.
Ignore ongoing events
Defines whether or not the condition should ignore ongoing events.
A notification is marked as an ongoing event by the application that posts the notification and is usually set when a
notification shows some progress like a file download, an app is playing a sound, or an app is running as a foreground
service.
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
title
the title of the displayed 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
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
count
the number of notifications matching the condition
Phone Cell CDMA
The condition Phone Cell CDMA checks whether the phone is connected to one of the specified cells of interest.
Examples:
Turn on WiFi when the phone cell at home is detected
Settings
Cell List
A comma separated list of cell IDs. 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
triggertime
the time the trigger executed
cell_id
the cell id, null if unknown
base_station_id
the ID of the base station , -1 if unknown
network_id
the ID of the network, -1 if unknown
system_id
the ID of the system, -1 if unknown
base_station_latitude
the latitude of the base station in quarter degree seconds, 2147483647 if unknown. Divide value by 14400 to get decimal
degrees. Not all networks provide meaningful values.
base_station_longitude
the longitude of the base station in quarter degree seconds, 2147483647 if unknown. Divide value by 14400 to get decimal
degrees. Not all networks provide meaningful values.
Phone Cell GSM
The condition Phone Cell GSM checks whether the phone is connected to one of the specified cells of interest.
Examples:
Turn on WiFi when the phone cell at home is detected
Settings
Location Area Code (LAC) List
A comma separated list of location area codes. A location area is set of base stations and usually covers a large area.
Glob patterns (*, ?) are supported. Variables are supported.
Cell ID (CID) List
A comma separated list of cell IDs. 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
lac
the currently connected location area code (LAC), -1 if unknown
cid
the currently connected cell ID (CID), -1 if unknown
psc
the primary synchronization code (PSC), -1 if unknown
neighboring_cells
the list of neighboring cells. Null or empty if not available
Phone Service State
The condition Phone Service State checks whether the phone service is currently available, unavailable or only emergency
calls can be placed.
Warning: Some devices don't send the current service state to applications when the screen is turned off. You can periodically
use the action Turn Screen On to mitigate this problem.
Settings
Phone Service state
The accepted states.
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
service_state
the state of the service (0=in service, 1=out of service, 2=emergency only, 3=power off)
roaming
boolean indicating the roaming status
Phone Signal Strength
The condition Phone Signal Strength checks whether the signal strength of the mobile network is above or below a certain
level.
Warning: Some devices don't send the current signal strength to applications when the screen is turned off. You can use the
options to periodically turn the screen on or wake the device.
Examples:
Beep every five minutes when the network strength is very weak
Settings
Signal Strength Condition
Defines the condition that must be met to execute the flow:
lower than
true when the reported signal strength by the system is below the defined level
higher than
true when the reported signal strength by the system is above the defined level
exactly
true when the reported signal strength by the system is exactly on the defined level
Signal Strength
Defines the signal strength to use.
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
is_gsm
true when GSM
signal_strength_level
the signal strength in a value from 0 to 4 like the bars on a standard Android device
signal_strength_asu
the signal strength in ASU (0-31)
gsm_signal_strength
the GSM signal strength (0-31, 99 for unknown, -1 for unavailable)
gsm_bit_error_rate
the GSM bit error rate (0-7, 99 for unknown, -1 for unavailable)
cdma_dbm
the CDMA RSSI value in dBm (-1 for unavailable)
cdma_ecio
the CDMA Ec/Io value in dB*10 (-1 for unavailable)
evdo_dbm
the EVDO RSSI value in dBm (-1 for unavailable)
evdo_ecio
the EVDO Ec/Io value in dB*10 (-1 for unavailable)
evdo_snr
the EVDO signal to noise ratio (0-8, -1 for unavailable)
Plugin (Experimental)
The condition Plugin (Experimental) checks the condition of a plugin.
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.
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)
Power Source Connected
The condition Power Source Connected checks whether the device is currently connected to a power source.
Examples:
Turn on WiFi only when the device is connected to an AC adapter.
Settings
Power connected/disconnected
Connected
When a power source is connected.
AC Adapter: when charging with the AC adapter
USB: when charging over an USB connection
Wireless: when charging wirelessly
Disconnected
When no power source is connected.
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
battery_level
the charging level of the battery
battery_percentage
the charging percentage
battery_plugged
whether the battery is plugged (1=AC adapter, 2=USB, 4=Wireless) or not (0=not plugged)
battery_present
whether the battery is present or not
battery_scale
the maximum battery level
battery_status
the status of the battery (1=unknown, 2=charging, 3=discharging, 4=not charging, 5=full)
battery_technology
the technology of the battery
battery_temperature
the temperature of the battery
battery_voltage
the current battery voltage
battery_health
the health of the battery
Pressure Sensor
The condition Pressure Sensor checks whether the measured pressure is below or above the defined value.
Warning: Some devices turn off the sensors when the screen is off.
Warning: Some devices can not determine the current value of the sensor and only deliver a value when the measured value
of the sensor changes. This condition does not work on such devices.
Settings
Pressure (in mbar)
Whether the condition should check if the pressure is above or below the defined pressure.
Timeout
The amount of time to wait for a value of the sensor, the condition 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
pressure
the measured pressure in mbar
Proximity Sensor
The condition Proximity Sensor checks whether the measured distance of the proximity sensor is below or above the defined
distance.
Warning: Some devices turn off the sensors when the screen is off.
Warning: Some devices can not determine the current value of the sensor and only deliver a value when the measured value
of the sensor changes. This condition does not work on such devices.
Settings
Distance (in cm)
Whether the condition should check if the distance is above or below the defined distance and the distance in cm.
Timeout
The amount of time to wait for a value of the sensor, the condition 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
proximity
the measured value of the proximity sensor
Ringer Mode
The condition Ringer Mode checks whether the device is currently configured to use the desired ringer mode.
Settings
Ringer Mode
The desired ringer mode to check.
Roaming
The condition Roaming checks whether you are currently in a roaming location.
Examples:
Only download a file when you are not using a more expensive roaming tariff.
Screen On
The condition Screen On checks whether the screen is currently turned on.
Examples:
Show an alert only when the display is on.
Screen Orientation
The condition Screen Orientation tests whether the device is currently in portrait or landscape mode.
Settings
Portrait or Landscape
Whether the condition should check for portrait or landscape.
Service Running
The condition Service Running checks whether the specified service is currently running.
Settings
Service Class
The class name of the service to check. 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
package_name
the package name of the service
service_name
the display name of the service
pid
the process this service is running in
uid
the user id owning this service
active_since
the time this service has been started (in milliseconds since the device was booted)
last_activity_time
the time this service was last active (in milliseconds since boot not counting sleep phases)
restarting
the time when this service will be started, 0 when the service is currently running
foreground
true when the service is run as a foreground process
Sound Level (Experimental)
The condition Sound Level (Experimental) checks whether or not the environment sound exceed a certain level.
Warning: This condition records the environment sound using the microphone of the device which does not work, when
another app already uses the microphone.
Settings
Average
The duration to record and calculate the sound level.
Sensitivity
The sensitivity of the slider to define the sound level.
Sound Level
The sound level to check.
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_level
the detected sound level
Speakerphone On
The condition Speakerphone On checks whether speakerphone is turned on or off.
Telephony Radio Enabled
The condition Telephony Radio Enabled checks if the radio of the phone is enabled or not.
Warning: This function is not officially supported by Android and might not work on all devices.
Time Range
The condition Time Range is true when the current time is in the defined time range.
Examples:
Play an alert only during the day.
Settings
Weekdays
The day on which the condition should check the time range.
From - To
The start of the time range and the end of the time range. A To-time smaller than the From-time will move the To-time to
the next day to simplify checks for time ranges crossing midnight.
UI Mode
The condition UI Mode checks whether the device is currently in car, desk, TV or normal UI mode.
Note: Many devices only support the normal UI mode.
Settings
UI Mode
The UI mode to check.
Vibrate on Ring Enabled
The condition Vibrate on Ring Enabled checks whether the setting to vibrate on ring is enabled or not.
Warning: This function is not officially supported by Android and might not work on all devices.
WiFi Access Point Enabled
The condition WiFi Access Point Enabled checks whether a WiFi configuration is enabled and the system is allowed to
connect to this access point.
Settings
SSID
The SSID to check. Variables are supported.
WiFi Available
The condition WiFi Available checks whether one specific WiFi access point is currently available. The condition waits for the
first available scan result when wifi has just been enabled and no scan result is available yet.
Examples:
Check if a specific free access point is available and enable this one.
Settings
SSID List
The comma separated list of SSIDs to accept. The condition is true when one of the access points in the list is available.
Glob patterns can be used to match multiple SSIDs. Variables are supported.
The variables supplied by the condition relate to the available access point with the highest signal strength.
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 list of available access point SSIDs
bssid (only set when the SSID is available)
the BSSID of the available access point
bssids (only set when the SSID is available)
the list of BSSIDs of the available access points
ssid (only set when the SSID is available)
the SSID of the WiFi network
capabilities (only set when the SSID is available)
the capabilities of the WiFi network
frequency (only set when the SSID is available)
the frequency of the WiFi network
level (only set when the SSID is available)
the signal strength level of the WiFi network
WiFi Connected
The condition WiFi Connected checks whether the device is currently connected to one of the specified WiFi networks.
Examples:
Start recording in Gleeo Time Tracker when you are in the office and connected to the wireless network.
Enable a flow downloading big PDF files only when connected to your free wireless network at home.
Settings
SSID List
The comma separated list of SSIDs to accept. Glob patterns can be used to match multiple SSIDs. 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
bssid
the BSSID of the connected WiFi network
ssid
the SSID of the connected WiFi network
Wifi Signal Level
The condition Wifi Signal Level checks the signal level of the connected wifi network.
Note: The current signal strength has to be measured using a wifi scan when the display is turned off. A wifi scan can take a
few seconds and increases battery consumption.
Settings
Signal Level Condition
Defines the condition that must be met to continue the flow on the true branch:
lower than
true when the reported level by the system is below the defined level
higher than
true when the reported level by the system is above the defined level
exactly
true when the reported level by the system is exactly on the defined level
Signal Level
Defines the level to compare (usually in range 0-4).
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
rssi
the signal strength in dBm
signal_strength_level
the signal strength mapped to levels (usually in range 0-4)
WiFi State
The condition WiFi State checks whether the device wireless network adapter is in the specified state.
Settings
WiFi States
The accepted states.
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
wifi_state
the wifi state (0=disabling, 1=disabled, 2=enabling, 3=enabled, 4=unknown)
WiFi Tethering State
The condition WiFi Tethering State checks whether the device wireless network adapter is in the specified state.
Settings
WiFi Tethering States
The accepted states.
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
wifi_tethering_state
the wifi tethering state (10=disabling, 11=disabled, 12=enabling, 13=enabled, 14=failed) on older devices (0=disabling,
1=disabled, 2=enabling, 3=enabled, 4=failed)
Wired Headset Plugged
The condition Wired Headset Plugged checks whether a wired headset is currently plugged in or not.
Examples:
Turn the volume to maximum only when the headset is not plugged.

Potrebbero piacerti anche