Skip to content

Instantly share code, notes, and snippets.

@justaguywhocodes
Created April 14, 2022 19:16
Show Gist options
  • Save justaguywhocodes/105907361b4fc8918fe883f2b96ddd6f to your computer and use it in GitHub Desktop.
Save justaguywhocodes/105907361b4fc8918fe883f2b96ddd6f to your computer and use it in GitHub Desktop.
Shortycuts
<button>
Muhrights
<div class="content" style="display:none">
</div>
<div class="col2">WFQuickActionSurface
'WFQuickActionSurfaces': [],
'WFWorkflowClientVersion': '1146.11.1',
'WFWorkflowHasOutputFallback': false,
'WFWorkflowHasShortcutInputVariables': false,
'WFWorkflowIcon': {
'WFWorkflowIconStartColor': 463140863,
'WFWorkflowIconGlyphNumber': 61440
},
'WFWorkflowImportQuestions': [],
'WFWorkflowInputContentItemClasses': [
'WFAppStoreAppContentItem',
'WFArticleContentItem',
'WFContactContentItem',
'WFDateContentItem',
'WFEmailAddressContentItem',
'WFFolderContentItem',
'WFGenericFileContentItem',
'WFImageContentItem',
'WFiTunesProductContentItem',
'WFLocationContentItem',
'WFDCMapsLinkContentItem',
'WFAVAssetContentItem',
'WFPDFContentItem',
'WFPhoneNumberContentItem',
'WFRichTextContentItem',
'WFSafariWebPageContentItem',
'WFStringContentItem',
'WFURLContentItem'
],
'WFWorkflowMinimumClientVersion': 900,
'WFWorkflowMinimumClientVersionString': '900',
'WFWorkflowOutputContentItemClasses': [],
'WFWorkflowTypes': []
</div>
<div class="content"></div>
<button id="m1">
Create Code Block
</button>
</button>
<!---<a
</div></div>
<button class='gDocuments' id='m0'>
0 Text</button>
<button class='button gDocuments' id='m0'>
0 Text</button>
<div class='content'></div>
<button class='button gUnknown' id='m1'>
1 com.alexhay.nautomate.CreateCodeBlockIntent</button>
<div class='content'></div>
<button class='button gUnknown' id='m1'>
1 com.alexhay.nautomate.CreateCodeBlockIntent</button>
<div class='content'></div>
<button class='button gUnknown' id='m1'>
1 com.alexhay.nautomate.CreateCodeBlockIntent</button>
<div class='content'></div>
<button class='button gUnknown' id='m1'>
1 com.alexhay.nautomate.CreateCodeBlockIntent</button>
<div class='content'></div>
<button class='button gUnknown' id='m1'>
1 com.alexhay.nautomate.CreateCodeBlockIntent</button>
<div class='content'></div>
<button class='button gUnknown' id='m2'>
2 com.alexhay.nautomate.AddBlocksToPageIntent</button>
<div class='content'></…
Console
Assets
Comments
Last saved LESS THAN A MINUTE AGO--->
/**
* functions
*
*/
// this variable is the keeper of the actions list by identifier.
const idDict = {
"is.workflow.actions.conditional": [
{
name: "If $\ufffc0 $\ufffc1",
group: "gLoop"
},
{
name: "Otherwise",
group: "gLoop"
},
{
name: "End If",
group: "gLoop"
}
],
"is.workflow.actions.repeat.count": [
{
name: "Repeat $\ufffc0 Times",
group: "gLoop",
param: {
WFRepeatCount: "$\ufffc0",
"$\ufffc0": "1"
}
},
{},
{
name: "End Repeat Times",
group: "gLoop"
}
],
"is.workflow.actions.repeat.each": [
{
name: "Repeat with Each in $\ufffc0",
group: "gLoop"
},
{},
{
name: "End Repeat with Each",
group: "gLoop"
}
],
"is.workflow.actions.choosefrommenu": [
{
name: "Choose from Menu",
group: "gLoop"
},
{
name: "Menu Item $\ufffc0",
group: "gLoop",
param: {
WFMenuItemTitle: "$\ufffc0"
}
},
{
name: "End Menu",
group: "gLoop"
}
],
"is.workflow.actions.runworkflow": [
{
name: "Run Shortcut $\ufffc1",
param: {
WFWorkflowName: "$\ufffc1"
}
}
],
"is.workflow.actions.exit": [
{
name: "Stop This Shortcut",
group: "gScripting"
}
],
"is.workflow.actions.output": [
{
name: "Stop and Output $\ufffc0",
group: "gScripting",
param: {
WFOutput: "$\ufffc0"
}
}
],
"is.workflow.actions.hide.app": [
{
name: "Hide $\ufffc0",
group: "gScripting",
param: {
WFHideAppMode: "$\ufffc0",
"$\ufffc0": "App"
}
}
],
"is.workflow.actions.quit.app": [
{
name: "Quit $\ufffc0",
group: "gScripting",
param: {
WFQuitAppMode: "$\ufffc0",
"$\ufffc0": "App"
}
}
],
"is.workflow.actions.waittoreturn": [
{
name: "Wait to Return"
}
],
"is.workflow.actions.nothing": [
{
name: "Nothing",
group: "gScripting"
}
],
"is.workflow.actions.comment": [
{
name: "Comment",
group: "gDocuments",
param: {
WFCommentActionText: "#"
}
}
],
"is.workflow.actions.detect.text": [
{
name: "Get Text from $\ufffc0",
group: "gDocuments"
}
],
"is.workflow.actions.detect.number": [
{
name: "Get Numbers from $\ufffc0"
}
],
"is.workflow.actions.detect.images": [
{
name: "Get Images from $\ufffc0"
}
],
"is.workflow.actions.detect.dictionary": [
{
name: "Get Dictionary from $\ufffc0",
group: "gScripting"
}
],
"is.workflow.actions.detect.link": [
{
name: "Get URLs from $\ufffc0"
}
],
"is.workflow.actions.detect.date": [
{
name: "Get Dates from $\ufffc0"
}
],
"is.workflow.actions.detect.contacts": [
{
name: "Get Contacts from $\ufffc0"
}
],
"is.workflow.actions.getvariable": [
{
name: "Get Variable $\ufffc0",
group: "gVariable",
param: {
WFVariable: "$\ufffc0"
}
}
],
"is.workflow.actions.setvariable": [
{
name: "Set Variable $\ufffc1 to $\ufffc0",
group: "gVariable",
param: {
WFVariableName: "$\ufffc1"
}
}
],
"is.workflow.actions.appendvariable": [
{
name: "Add $\ufffc0 to Variable $\ufffc1",
group: "gVariable",
param: {
WFVariableName: "$\ufffc1"
}
}
],
"is.workflow.actions.setitemname": [
{
name: "Set Name of $\ufffc0 to $\ufffc1",
group: "gScripting",
param: {
WFName: "$\ufffc1"
}
}
],
"is.workflow.actions.getitemname": [
{
name: "Get Name of $\ufffc0",
group: "gScripting"
}
],
"is.workflow.actions.getitemtype": [
{
name: "Get Type of $\ufffc0",
group: "gScripting"
}
],
"is.workflow.actions.ask": [
{
name: "Ask for $\ufffc0 Input",
group: "gScripting",
param: {
WFInputType: "$\ufffc0",
"$\ufffc0": "Text"
}
}
],
"is.workflow.actions.selectphoto": [
{
name: "Select Photos"
}
],
"is.workflow.actions.alert": [
{
name: "Show Alert",
group: "gScripting"
}
],
"is.workflow.actions.showresult": [
{
name: "Show Result",
group: "gDocuments",
param: {
Text: "#"
}
}
],
"is.workflow.actions.notification": [
{
name: "Show Notification",
param: {
WFNotificationActionTitle: "Title",
WFInput: "Attachment"
}
}
],
"is.workflow.actions.previewdocument": [
{
name: "Quick Look $\ufffc0",
group: "gDocuments"
}
],
"is.workflow.actions.speaktext": [
{
name: "Speak Text"
}
],
"is.workflow.actions.makespokenaudiofromtext": [
{
name: "Make Spoken Audio from $\ufffc0"
}
],
"is.workflow.actions.gettext": [
{
name: "Text",
group: "gDocuments",
param: {
WFTextActionText: "#"
}
}
],
"is.workflow.actions.text.split": [
{
name: "Split Text $\ufffc0 by $\ufffc1",
group: "gDocuments",
param: {
text: "$\ufffc0",
WFTextSeparator: "$\ufffc1",
"$\ufffc1": "New Lines"
}
}
],
"is.workflow.actions.text.combine": [
{
name: "Combine Text $\ufffc0 with $\ufffc1",
group: "gDocuments",
param: {
text: "$\ufffc0",
WFTextSeparator: "$\ufffc1",
"$\ufffc1": "New Lines"
}
}
],
"is.workflow.actions.text.replace": [
{
name: "Replace Text $\ufffc1 with $\ufffc2 in $\ufffc0",
group: "gDocuments",
param: {
WFReplaceTextFind: "$\ufffc1",
WFReplaceTextReplace: "$\ufffc2"
}
}
],
"is.workflow.actions.text.match": [
{
name: "Match Text $\ufffc0 in $\ufffc1",
group: "gDocuments",
param: {
WFMatchTextPattern: "$\ufffc0",
text: "$\ufffc1",
"$\ufffc1": "[0-9a-zA-Z]"
}
}
],
"is.workflow.actions.text.match.getgroup": [
{
name: "Get Matches $\ufffc0 in $\ufffc1",
group: "gDocuments",
param: {
WFGetGroupType: "$\ufffc0",
matches: "$\ufffc1",
"$\ufffc0": "Group At Index 1"
}
}
],
"is.workflow.actions.base64encode": [
{
name: "Base64 $\ufffc1 $\ufffc0",
group: "gScripting",
param: {
WFEncodeMode: "$\ufffc1",
"$\ufffc1": "Encode"
}
}
],
"is.workflow.actions.urlencode": [
{
name: "URL $\ufffc1 $\ufffc0",
group: "gScripting",
param: {
WFEncodeMode: "$\ufffc1",
"$\ufffc1": "Encode"
}
}
],
"is.workflow.actions.setclipboard": [
{
name: "Copy $\ufffc0 to Clipboard"
}
],
"is.workflow.actions.getclipboard": [
{
name: "Get Clipboard"
}
],
"is.workflow.actions.number": [
{
name: "Number $\ufffc0",
param: {
WFNumberActionNumber: "$\ufffc0"
}
}
],
"is.workflow.actions.count": [
{
name: "Count $\ufffc0 in $\ufffc1",
param: {
WFCountType: "$\ufffc0",
Input: "$\ufffc1",
"$\ufffc0": "Items"
}
}
],
"is.workflow.actions.math": [
{
name: "Calculate $\ufffc0 $\ufffc1 $\ufffc2",
param: {
WFMathOperation: "$\ufffc1",
WFMathOperand: "$\ufffc2",
"$\ufffc1": "+"
}
}
],
"is.workflow.actions.statistics": [
{
name: "Calculate the $\ufffc1 of $\ufffc0",
param: {
Input: "$\ufffc0",
WFStatisticsOperation: "$\ufffc1",
"$\ufffc1": "Average"
}
}
],
"is.workflow.actions.calculateexpression": [
{
name: "Calculate Expression $\ufffc0",
param: {
Input: "$\ufffc0"
}
}
],
"is.workflow.actions.dictionary": [
{
name: "Dictionary",
group: "gScripting",
param: {
WFItems: "#"
}
}
],
"is.workflow.actions.getvalueforkey": [
{
name: "Get Dictionary $\ufffc1 in $\ufffc0",
group: "gScripting",
param: {
WFGetDictionaryValueType: "$\ufffc1"
}
}
],
"is.workflow.actions.setvalueforkey": [
{
name: "Set Dictionary Value for $\ufffc0 to $\ufffc1 in $\ufffc2",
group: "gScripting",
param: {
WFDictionaryKey: "$\ufffc0",
WFDictionaryValue: "$\ufffc1",
WFDictionary: "$\ufffc2"
}
}
],
"is.workflow.actions.list": [
{
name: "List",
group: "gScripting",
param: {
WFItems: "#"
}
}
],
"is.workflow.actions.getitemfromlist": [
{
name: "Get List $\ufffc1 from $\ufffc0",
group: "gScripting",
param: {
WFItemSpecifier: "$\ufffc1",
"$\ufffc1": "First Item"
}
}
],
"is.workflow.actions.choosefromlist": [
{
name: "Choose from List $\ufffc0",
group: "gScripting"
}
],
"is.workflow.actions.getrichtextfrommarkdown": [
{
name: "Make Rich Text from Markdown $\ufffc0"
}
],
"is.workflow.actions.getrichtextfromhtml": [
{
name: "Make Rich Text from HTML $\ufffc0",
param: {
WFHTML: "$\ufffc0"
}
}
],
"is.workflow.actions.getmarkdownfromrichtext": [
{
name: "Make Markdown from Rich Text $\ufffc0"
}
],
"is.workflow.actions.gethtmlfromrichtext": [
{
name: "Make HTML from Rich Text $\ufffc0"
}
],
"is.workflow.actions.documentpicker.save": [
{
name: "Save $\ufffc0 to File"
}
],
"is.workflow.actions.documentpicker.open": [
{
name: "Get File $\ufffc0 from Folder",
param: {
WFGetFilePath: "$\ufffc0"
}
}
],
"is.workflow.actions.file.delete": [
{
name: "Delete Files $\ufffc0",
WFDeleteFileConfirmDeletion: "Confirm Before Deleting"
}
],
"is.workflow.actions.savetocameraroll": [
{
name: "Save Photos $\ufffc0 to $\ufffc1",
param: {
WFCameraRollSelectedGroup: "$\ufffc1",
"$\ufffc1": "Recents"
}
}
],
"is.workflow.actions.deletephotos": [
{
name: "Delete Photos $\ufffc0",
param: {
photos: "$\ufffc0"
}
}
],
"is.workflow.actions.photos.createalbum": [
{
name: "Create Photo Album $\ufffc1 with $\ufffc0",
param: {
AlbumName: "$\ufffc1"
}
}
],
"is.workflow.actions.url": [
{
name: "URL $\ufffc0",
param: {
WFURLActionURL: "$\ufffc0"
}
}
],
"is.workflow.actions.openurl": [
{
name: "Open URL $\ufffc0"
}
],
"is.workflow.actions.showwebpage": [
{
name: "Show Web Page at $\ufffc0",
param: {
WFURL: "$\ufffc0"
}
}
],
"is.workflow.actions.downloadurl": [
{
name: "Get Contents of URL $\ufffc0",
param: {
WFURL: "$\ufffc0"
}
}
],
"is.workflow.actions.getwebpagecontents": [
{
name: "Get Contents of Web Page at $\ufffc0"
}
],
"is.workflow.actions.safari.geturl": [
{
name: "Get Current Web Page from Safari"
}
],
"is.workflow.actions.runjavascriptonwebpage": [
{
name: "Run JavaScript on $\ufffc0",
param: {
WFJavaScript: "#"
}
}
],
"is.workflow.actions.runapplescript": [
{
name: "Run AppleScript with $\ufffc0",
param: {
Input: "$\ufffc0",
Script: "#"
}
}
],
"is.workflow.actions.runjavascriptforautomation": [
{
name: "Run JXA with $\ufffc0",
param: {
Input: "$\ufffc0",
Script: "#"
}
}
],
"is.workflow.actions.runshellscript": [
{
name: "Run Shell Script"
}
],
"is.workflow.actions.date": [
{
name: "Date $\ufffc0",
param: {
WFDateActionMode: "$\ufffc0",
"$\ufffc0": "Current Date"
}
}
],
"is.workflow.actions.format.date": [
{
name: "Format Date $\ufffc0",
param: {
WFDate: "$\ufffc0"
}
}
],
"is.workflow.actions.adjustdate": [
{
name: "Adjust $\ufffc0 Date $\ufffc1",
param: {
WFDate: "$\ufffc1",
WFAdjustOperation: "$\ufffc0",
"$\ufffc0": "Add"
}
}
],
"is.workflow.actions.gettimebetweendates": [
{
name: "Get Time Between $\ufffc1 and $\ufffc0 in $\ufffc2",
param: {
WFTimeUntilFromDate: "$\ufffc1",
WFTimeUntilUnit: "$\ufffc2",
"$\ufffc2": "Minutes"
}
}
],
"is.workflow.actions.converttimezone": [
{
name: "Convert Time Zone of $\ufffc0",
param: {
Date: "$\ufffc0"
}
}
],
"is.workflow.actions.addnewevent": [
{
name: "Add New Event $\ufffc0 from $\ufffc1 to $\ufffc2",
param: {
WFCalendarItemTitle: "$\ufffc0",
WFCalendarItemStartDate: "$\ufffc1",
WFCalendarItemEndDate: "$\ufffc2"
}
}
],
"is.workflow.actions.removeevents": [
{
name: "Remove Events $\ufffc0",
param: {
WFInputEvents: "$\ufffc0"
}
}
],
"is.workflow.actions.getupcomingevents": [
{
name: "Get Upcoming $\ufffc0 Events from $\ufffc1",
param: {
WFGetUpcomingItemCount: "$\ufffc0",
WFGetUpcomingItemCalendar: "$\ufffc1",
"$\ufffc0": "1",
"$\ufffc1": "All Calendars"
}
}
],
"is.workflow.actions.addnewcalendar": [
{
name: "Add New Calendar $\ufffc0",
param: {
CalendarName: "$\ufffc0"
}
}
],
"is.workflow.actions.contacts": [
{
name: "Contacts"
}
],
"is.workflow.actions.selectcontacts": [
{
name: "Select Contact"
}
],
"is.workflow.actions.setters.contacts": [
{
name: "$\ufffc1 to/from Contact $\ufffc0",
param: {
Mode: "$\ufffc1",
"$\ufffc1": "Set"
}
}
],
"com.apple.mobiletimer-framework.MobileTimerIntents.MTCreateAlarmIntent": [
{
name: "Create Alarm for $\ufffc0 called $\ufffc1",
param: {
dateComponents: "$\ufffc0",
label: "$\ufffc1"
}
}
],
"com.apple.mobiletimer-framework.MobileTimerIntents.MTGetAlarmsIntent": [
{
name: "Get All Alarms"
}
],
"is.workflow.actions.appendnote": [
{
name: "Append $\ufffc0 to Note $\ufffc1",
param: {
WFNote: "$\ufffc1"
}
}
],
"is.workflow.actions.shownote": [
{
name: "Show Note $\ufffc0"
}
],
"com.apple.mobilenotes.SharingExtension": [
{
name: "Create Note with $\ufffc0",
param: {
WFCreateNoteInput: "$\ufffc0"
}
}
],
"is.workflow.actions.addnewreminder": [
{
name: "Add New Reminder $\ufffc0 to $\ufffc1 with $\ufffc2",
param: {
WFCalendarItemTitle: "$\ufffc0",
WFCalendarItemCalendar: "$\ufffc1",
WFAlertEnabled: "$\ufffc2",
"$\ufffc1": "Reminders",
"$\ufffc2": "No Alert"
}
}
],
"is.workflow.actions.removereminders": [
{
name: "Remove Reminders $\ufffc0",
param: {
WFInputReminders: "$\ufffc0"
}
}
],
"is.workflow.actions.getupcomingreminders": [
{
name: "Get Upcoming $\ufffc0 Reminders from $\ufffc1",
param: {
WFGetUpcomingItemCount: "$\ufffc0",
WFGetUpcomingItemCalendar: "$\ufffc1",
"$\ufffc0": "1",
"$\ufffc1": "All Lists"
}
}
],
"is.workflow.actions.showincalendar": [
{
name: "Show $\ufffc0 in Calendar",
param: {
WFEvent: "$\ufffc0"
}
}
],
"is.workflow.actions.takephoto": [
{
name: "Take $\ufffc0 Photos with $\ufffc1 Camera",
param: {
WFPhotoCount: "$\ufffc0",
WFCameraCaptureDevice: "$\ufffc1",
"$\ufffc0": "1",
"$\ufffc1": "Back"
}
}
],
"is.workflow.actions.takevideo": [
{
name: "Take Video with $\ufffc0 Camera",
param: {
WFCameraCaptureDevice: "$\ufffc0",
"$\ufffc0": "Back"
}
}
],
"is.workflow.actions.wallpaper.set": [
{
name: "Set $\ufffc1 Wallpaper to $\ufffc0",
param: {
WFWallpaperLocation: "$\ufffc1",
"$\ufffc1": "Lock Screen, Home Screen"
}
}
],
"is.workflow.actions.getonscreencontent": [
{
name: "Get What's On Screen"
}
],
"is.workflow.actions.timer.start": [
{
name: "Start Timer for $\ufffc0",
param: {
WFDuration: "$\ufffc0"
}
}
],
"is.workflow.actions.detect.phonenumber": [
{
name: "Get Phone Numbers from $\ufffc0"
}
],
"is.workflow.actions.phonenumber": [
{
name: "Phone Number"
}
],
"is.workflow.actions.selectphone": [
{
name: "Select Phone Number"
}
],
"com.apple.facetime.facetime": [
{
name: "$\ufffc0 Call $\ufffc1",
param: {
WFFaceTimeType: "$\ufffc0",
WFFaceTimeContact: "$\ufffc1",
"$\ufffc0": "FaceTime"
}
}
],
"com.apple.mobilephone.call": [
{
name: "Call $\ufffc0",
param: {
WFCallContact: "$\ufffc0"
}
}
],
"is.workflow.actions.sendmessage": [
{
name: "Send Message $\ufffc0",
param: {
WFSendMessageContent: "$\ufffc0"
}
}
],
"is.workflow.actions.sendemail": [
{
name: "Send Email $\ufffc0 as $\ufffc1",
param: {
WFSendEmailActionInputAttachments: "$\ufffc0",
WFSendEmailActionSubject: "$\ufffc1"
}
}
],
"is.workflow.actions.email": [
{
name: "Email Address"
}
],
"is.workflow.actions.detect.emailaddress": [
{
name: "Get Email Addresses from $\ufffc0"
}
],
"is.workflow.actions.selectemail": [
{
name: "Select Email Address"
}
],
"is.workflow.actions.detect.address": [
{
name: "Get Addresses from $\ufffc0"
}
],
"is.workflow.actions.getdistance": [
{
name: "Get Distance"
}
],
"is.workflow.actions.gethalfwaypoint": [
{
name: "Get Halfway Point"
}
],
"is.workflow.actions.getmapslink": [
{
name: "Get Maps URL from $\ufffc0"
}
],
"is.workflow.actions.gettraveltime": [
{
name: "Get $\ufffc0 Time",
param: {
WFGetDirectionsActionMode: "$\ufffc0",
"$\ufffc0": "Driving"
}
}
],
"is.workflow.actions.searchlocalbusinesses": [
{
name: "Search Local Businesses"
}
],
"is.workflow.actions.getdirections": [
{
name: "Show $\ufffc0 Directions using $\ufffc1",
param: {
WFGetDirectionsActionMode: "$\ufffc0",
WFGetDirectionsActionApp: "$\ufffc1",
"$\ufffc0": "Driving",
"$\ufffc1": "Maps"
}
}
],
"is.workflow.actions.searchmaps": [
{
name: "Show in Maps"
}
],
"is.workflow.actions.address": [
{
name: "Street Address"
}
],
"is.workflow.actions.addtoplaylist": [
{
name: "Add Music $\ufffc0 to Playlist $\ufffc1",
param: {
WFPlaylistName: "$\ufffc1",
"$\ufffc1": "My Music Library"
}
}
],
"is.workflow.actions.addmusictoupnext": [
{
name: "Add Music $\ufffc0 to $\ufffc1 of Up Next",
param: {
WFMusic: "$\ufffc0",
WFWhenToPlay: "$\ufffc1",
"$\ufffc1": "Next"
}
}
],
"is.workflow.actions.clearupnext": [
{
name: "Clear Up Next"
}
],
"is.workflow.actions.createplaylist": [
{
name: "Create Playlist $\ufffc0 with $\ufffc1",
param: {
WFPlaylistName: "$\ufffc0",
WFPlaylistItems: "$\ufffc1"
}
}
],
"is.workflow.actions.getcurrentsong": [
{
name: "Get Current Song"
}
],
"is.workflow.actions.get.playlist": [
{
name: "Get Songs in Playlist $\ufffc0",
param: {
WFPlaylistName: "$\ufffc0"
}
}
],
"is.workflow.actions.playmusic": [
{
name: "Play Music $\ufffc0",
param: {
WFMediaItems: "$\ufffc0"
}
}
],
"is.workflow.actions.exportsong": [
{
name: "Select Music"
}
],
"is.workflow.actions.importaudiofiles": [
{
name: "Import Audio $\ufffc0 into Music"
}
],
"is.workflow.actions.getlatestphotoimport": [
{
name: "Get Last Import"
}
],
"is.workflow.actions.getlatestbursts": [
{
name: "Get Latest $\ufffc0 Bursts",
param: {
WFGetLatestPhotoCount: "$\ufffc0",
"$\ufffc0": "1"
}
}
],
"is.workflow.actions.getlatestlivephotos": [
{
name: "Get Latest $\ufffc0 Live Photos",
param: {
WFGetLatestPhotoCount: "$\ufffc0",
"$\ufffc0": "1"
}
}
],
"is.workflow.actions.getlastphoto": [
{
name: "Get Latest $\ufffc0 Photos",
param: {
WFGetLatestPhotoCount: "$\ufffc0",
"$\ufffc0": "1"
}
}
],
"is.workflow.actions.getlastscreenshot": [
{
name: "Get Latest $\ufffc0 Screenshots",
param: {
WFGetLatestPhotoCount: "$\ufffc0",
"$\ufffc0": "1"
}
}
],
"is.workflow.actions.getlastvideo": [
{
name: "Get Latest $\ufffc0 Videos",
param: {
WFGetLatestPhotoCount: "$\ufffc0",
"$\ufffc0": "1"
}
}
],
"is.workflow.actions.getepisodesforpodcast": [
{
name: "Get Episodes of Podcast $\ufffc0"
}
],
"is.workflow.actions.getpodcastsfromlibrary": [
{
name: "Get Podcasts from Library"
}
],
"is.workflow.actions.playpodcast": [
{
name: "Play Podcast $\ufffc0",
param: {
WFPodcastShow: "$\ufffc0"
}
}
],
"is.workflow.actions.searchpodcasts": [
{
name: "Search Podcasts"
}
],
"is.workflow.actions.podcasts.subscribe": [
{
name: "Subscribe to Podcast $\ufffc0"
}
],
"is.workflow.actions.reminders.showlist": [
{
name: "Show Reminders List $\ufffc0",
param: {
WFList: "$\ufffc0",
"$\ufffc0": "Reminders"
}
}
],
"is.workflow.actions.readinglist": [
{
name: "Add $\ufffc0 to Reading List",
param: {
WFURL: "$\ufffc0"
}
}
],
"is.workflow.actions.getarticle": [
{
name: "Get Article from $\ufffc0 using Safari Reader",
param: {
WFWebPage: "$\ufffc0"
}
}
],
"is.workflow.actions.searchweb": [
{
name: "Search Web $\ufffc1 for $\ufffc0",
param: {
WFSearchWebDestination: "$\ufffc1",
"$\ufffc1": "Google"
}
}
],
"com.apple.AccessibilityUtilities.AXSettingsShortcuts.AXStartMagnifierIntent": [
{
name: "Open Magnifier"
}
],
"is.workflow.actions.getmyworkflows": [
{
name: "Get My Shortcuts"
}
],
"is.workflow.actions.weather.currentconditions": [
{
name: "Get Current Weather"
}
],
"is.workflow.actions.weather.forecast": [
{
name: "Get $\ufffc0 Weather Forecast",
param: {
WFWeatherForecastType: "$\ufffc0",
"$\ufffc0": "Daily"
}
}
],
"is.workflow.actions.openapp": [
{
name: "Open App $\ufffc0",
param: {
WFAppIdentifier: "$\ufffc0"
}
}
],
"is.workflow.actions.handoff": [
{
name: "Continue in Shortcuts app"
}
],
"is.workflow.actions.dismisssiri": [
{
name: "Dismiss Siri and Continue"
}
],
"is.workflow.actions.returntohomescreen": [
{
name: "Return to Home Screen"
}
],
"is.workflow.actions.delay": [
{
name: "Wait $\ufffc0 seconds",
param: {
WFDelayTime: "$\ufffc0",
"$\ufffc0": "1"
}
}
],
"is.workflow.actions.hash": [
{
name: "Generate $\ufffc1 Hash of $\ufffc0",
param: {
WFHashType: "$\ufffc1",
"$\ufffc1": "MD5"
}
}
],
"is.workflow.actions.viewresult": [
{
name: "View Content Graph of $\ufffc0"
}
],
"is.workflow.actions.round": [
{
name: "Round Number $\ufffc0 to $\ufffc1",
param: {
WFRoundTo: "$\ufffc1",
"$\ufffc1": "Ones Place"
}
}
],
"is.workflow.actions.measurement.convert": [
{
name: "Convert Measurement $\ufffc0 into $\ufffc1",
param: {
WFMeasurementUnitType: "$\ufffc1",
"$\ufffc1": "Length",
"$\ufffc2": "meters"
}
}
],
"is.workflow.actions.measurement.create": [
{
name: "Measurement $\ufffc1 $\ufffc0",
param: {
WFMeasurementUnit: "$\ufffc0",
WFMeasurementUnitType: "$\ufffc1",
"$\ufffc1": "Length"
}
}
],
"is.workflow.actions.format.filesize": [
{
name: "Format File Size $\ufffc0 into $\ufffc1",
param: {
WFFileSize: "$\ufffc0",
WFFileSizeFormat: "$\ufffc1",
"$\ufffc1": "Closest Unit"
}
}
],
"is.workflow.actions.format.number": [
{
name: "Format Number $\ufffc0 to $\ufffc1 decimal places",
param: {
WFNumber: "$\ufffc0",
WFNumberFormatDecimalPlaces: "$\ufffc1",
"$\ufffc1": "2"
}
}
],
"is.workflow.actions.number.random": [
{
name: "Random Number between $\ufffc0 and $\ufffc1",
param: {
WFRandomNumberMinimum: "$\ufffc0",
WFRandomNumberMaximum: "$\ufffc1"
}
}
],
"is.workflow.actions.openxcallbackurl": [
{
name: "Open X-Callback URL $\ufffc0",
param: {
WFXCallbackURL: "$\ufffc0"
}
}
],
"is.workflow.actions.getcurrentlocation": [
{
name: "Get Current Location"
}
],
"is.workflow.actions.location": [
{
name: "Location"
}
],
"is.workflow.actions.airdropdocument": [
{
name: "AirDrop"
}
],
"is.workflow.actions.share": [
{
name: "Share $\ufffc0"
}
],
"is.workflow.actions.runextension": [
{
name: "Share $\ufffc0 with App $\ufffc1",
param: {
WFAppIdentifier: "$\ufffc1"
}
}
],
"is.workflow.actions.recordaudio": [
{
name: "Record Audio"
}
],
"is.workflow.actions.addframetogif": [
{
name: "Add Frame $\ufffc0 to GIF $\ufffc1",
param: {
WFImage: "$\ufffc0",
WFInputGIF: "$\ufffc1"
}
}
],
"is.workflow.actions.getframesfromimage": [
{
name: "Get Frames from Image $\ufffc0",
param: {
WFImage: "$\ufffc0"
}
}
],
"is.workflow.actions.makegif": [
{
name: "Make GIF from $\ufffc0"
}
],
"is.workflow.actions.makevideofromgif": [
{
name: "Make Video from GIF $\ufffc0",
param: {
WFInputGIF: "$\ufffc0"
}
}
],
"is.workflow.actions.image.combine": [
{
name: "Combine Images $\ufffc0 $\ufffc1",
param: {
WFImageCombineMode: "$\ufffc1",
"$\ufffc1": "Horizontally"
}
}
],
"is.workflow.actions.image.crop": [
{
name: "Crop Image $\ufffc0"
}
],
"is.workflow.actions.image.flip": [
{
name: "Flip Image $\ufffc0 $\ufffc1",
param: {
WFImageFlipDirection: "$\ufffc1",
"$\ufffc1": "Horizontally"
}
}
],
"is.workflow.actions.avairyeditphoto": [
{
name: "Markup $\ufffc0",
param: {
WFDocument: "$\ufffc0"
}
}
],
"is.workflow.actions.image.mask": [
{
name: "Mask Image $\ufffc0 with $\ufffc1",
param: {
WFMaskType: "$\ufffc1",
"$\ufffc1": "Rounded Rectangle"
}
}
],
"is.workflow.actions.overlayimageonimage": [
{
name: "Overlay Image $\ufffc1 with $\ufffc0",
param: {
WFImage: "$\ufffc1"
}
}
],
"is.workflow.actions.overlaytext": [
{
name: "Overlay Text $\ufffc0 on $\ufffc1 at $\ufffc2",
param: {
WFText: "$\ufffc0",
WFImage: "$\ufffc1",
WFTextPosition: "$\ufffc2",
"$\ufffc2": "Center"
}
}
],
"is.workflow.actions.image.resize": [
{
name: "Resize Image $\ufffc0 to $\ufffc1",
param: {
WFImage: "$\ufffc0",
WFImageResizeKey: "$\ufffc1",
"$\ufffc1": "Size"
}
}
],
"is.workflow.actions.image.rotate": [
{
name: "Rotate Image/Video $\ufffc0 by $\ufffc1 degrees",
param: {
WFImage: "$\ufffc0",
WFImageRotateAmount: "$\ufffc1",
"$\ufffc1": "90"
}
}
],
"is.workflow.actions.image.convert": [
{
name: "Convert Image $\ufffc0 to $\ufffc1",
param: {
WFImageFormat: "$\ufffc1",
"$\ufffc1": "JPEG"
}
}
],
"is.workflow.actions.pausemusic": [
{
name: "Play/Pause $\ufffc0",
param: {
WFPlayPauseBehavior: "$\ufffc0",
"$\ufffc0": "Play/Pause"
}
}
],
"is.workflow.actions.listeningmode.set": [
{
name: "Set Noise Control Mode"
}
],
"is.workflow.actions.skipback": [
{
name: "Skip Back to the $\ufffc0",
param: {
WFSkipBackBehavior: "$\ufffc0",
"$\ufffc0": "Beginning"
}
}
],
"is.workflow.actions.skipforward": [
{
name: "Skip Forward"
}
],
"is.workflow.actions.encodemedia": [
{
name: "Encode Media $\ufffc0",
param: {
WFMedia: "$\ufffc0"
}
}
],
"is.workflow.actions.trimvideo": [
{
name: "Trim Media $\ufffc0",
param: {
WFInputMedia: "$\ufffc0"
}
}
],
"is.workflow.actions.unzip": [
{
name: "Extract Archive $\ufffc0",
param: {
WFArchive: "$\ufffc0"
}
}
],
"is.workflow.actions.makezip": [
{
name: "Make $\ufffc1 Archive from $\ufffc0",
param: {
WFArchiveFormat: "$\ufffc1",
"$\ufffc1": ".zip"
}
}
],
"is.workflow.actions.file.append": [
{
name: "$\ufffc1 $\ufffc0 to Text File",
param: {
WFAppendFileWriteMode: "$\ufffc1",
"$\ufffc1": "Append"
}
}
],
"is.workflow.actions.file.createfolder": [
{
name: "Create Folder"
}
],
"is.workflow.actions.file.getlink": [
{
name: "Get Link to File $\ufffc0",
param: {
WFFile: "$\ufffc0"
}
}
],
"is.workflow.actions.file": [
{
name: "File"
}
],
"is.workflow.actions.folder": [
{
name: "Folder"
}
],
"is.workflow.actions.file.getfoldercontents": [
{
name: "Get Contents of Folder $\ufffc0",
param: {
WFFolder: "$\ufffc0"
}
}
],
"is.workflow.actions.getparentdirectory": [
{
name: "Get Parent Directory of $\ufffc0"
}
],
"is.workflow.actions.finder.getselectedfiles": [
{
name: "Get Selected Files in Finder"
}
],
"is.workflow.actions.file.reveal": [
{
name: "Reveal Files $\ufffc0 in Finder",
param: {
WFFile: "$\ufffc0"
}
}
],
"is.workflow.actions.file.move": [
{
name: "Move File $\ufffc0",
param: {
WFFile: "$\ufffc0"
}
}
],
"is.workflow.actions.file.rename": [
{
name: "Rename File $\ufffc0 to $\ufffc1",
param: {
WFFile: "$\ufffc0",
WFNewFilename: "$\ufffc1"
}
}
],
"is.workflow.actions.file.label": [
{
name: "Label Files $\ufffc0 with $\ufffc1",
param: {
WFLabelColorNumber: "$\ufffc1"
}
}
],
"is.workflow.actions.file.select": [
{
name: "Select File"
}
],
"is.workflow.actions.dropbox.open": [
{
name: "Get Dropbox File"
}
],
"is.workflow.actions.dropbox.savefile": [
{
name: "Save Dropbox File $\ufffc0"
}
],
"is.workflow.actions.dropbox.createfolder": [
{
name: "Create Dropbox Folder"
}
],
"is.workflow.actions.dropbox.appendfile": [
{
name: "Append $\ufffc0 to Dropbox Text File",
param: {
WFFile: "$\ufffc0",
WFNewFilename: "$\ufffc1"
}
}
],
"is.workflow.actions.gettypeaction": [
{
name: "Get File of Type $\ufffc1 from $\ufffc0",
param: {
WFFileType: "$\ufffc1",
"$\ufffc1": "public.rtf"
}
}
],
"is.workflow.actions.makepdf": [
{
name: "Make PDF from $\ufffc0"
}
],
"is.workflow.actions.splitpdf": [
{
name: "Split PDF $\ufffc0"
}
],
"is.workflow.actions.gettextfrompdf": [
{
name: "Get $\ufffc1 from PDF $\ufffc0",
group: "gDocuments",
param: {
WFGetTextFromPDFTextType: "$\ufffc1",
"$\ufffc1": "Text"
}
}
],
"is.workflow.actions.makeimagefrompdfpage": [
{
name: "Make $\ufffc1 from PDF $\ufffc0",
param: {
WFMakeImageFromPDFPageImageFormat: "$\ufffc1",
"$\ufffc1": "PNG image"
}
}
],
"is.workflow.actions.print": [
{
name: "Print $\ufffc0"
}
],
"is.workflow.actions.generatebarcode": [
{
name: "Generate QR Code from $\ufffc0",
param: {
WFText: "$\ufffc0"
}
}
],
"is.workflow.actions.scanbarcode": [
{
name: "Scan QR or Bar Code"
}
],
"is.workflow.actions.dictatetext": [
{
name: "Dictate Text"
}
],
"is.workflow.actions.getnameofemoji": [
{
name: "Get Name of Emoji in $\ufffc0",
group: "gDocuments"
}
],
"is.workflow.actions.showdefinition": [
{
name: "Show Definition of $\ufffc0",
param: {
Word: "$\ufffc0"
}
}
],
"is.workflow.actions.text.changecase": [
{
name: "Change $\ufffc0 to $\ufffc1",
group: "gDocuments",
param: {
text: "$\ufffc0",
WFCaseType: "$\ufffc1",
"$\ufffc1": "UPPERCASE"
}
}
],
"is.workflow.actions.correctspelling": [
{
name: "Correct Spelling of $\ufffc0",
group: "gDocuments",
param: {
text: "$\ufffc0"
}
}
],
"is.workflow.actions.text.translate": [
{
name: "Translate $\ufffc0 from $\ufffc1 to $\ufffc2",
param: {
WFInputText: "$\ufffc0",
WFSelectedFromLanguage: "$\ufffc1",
WFSelectedLanguage: "$\ufffc2",
"$\ufffc1": "Detected Language",
"$\ufffc2": "Default"
}
}
],
"is.workflow.actions.detectlanguage": [
{
name: "Detect Language of $\ufffc0"
}
],
"is.workflow.actions.extracttextfromimage": [
{
name: "Extract Text from Image $\ufffc0",
param: {
WFImage: "$\ufffc0"
}
}
],
"is.workflow.actions.rss": [
{
name: "Get $\ufffc0 Items from RSS Feed $\ufffc1",
param: {
WFRSSItemQuantity: "$\ufffc0",
WFURLs: "$\ufffc1",
"$\ufffc0": "10",
"$\ufffc1": "https://www.apple.com/newsroom/rss-feed.rss"
}
}
],
"is.workflow.actions.rss.extract": [
{
name: "Get RSS Feeds from Page $\ufffc0",
param: {
WFURLs: "$\ufffc0"
}
}
],
"is.workflow.actions.url.expand": [
{
name: "Expand URL $\ufffc0",
param: {
URL: "$\ufffc0"
}
}
],
"is.workflow.actions.geturlcomponent": [
{
name: "Get $\ufffc0 of URL $\ufffc1",
param: {
WFURLComponent: "$\ufffc0",
WFURL: "$\ufffc1",
"$\ufffc0": "Scheme"
}
}
],
"is.workflow.actions.url.getheaders": [
{
name: "Get Headers of URL $\ufffc0"
}
],
"is.workflow.actions.runsshscript": [
{
name: "Run Script Over SSH"
}
],
"is.workflow.actions.health.quantity.log": [
{
name: "Log Health Sample"
}
],
"is.workflow.actions.health.workout.log": [
{
name: "Log Workout"
}
],
"is.workflow.actions.filter.files": [
{
name: "Filter Files $\ufffc0",
param: {
WFContentItemInputParameter: "$\ufffc0"
}
}
],
"is.workflow.actions.filter.photos": [
{
name: "Find Photos $\ufffc0",
param: {
WFContentItemInputParameter: "$\ufffc0",
"$\ufffc0": "All Photos"
}
}
],
"is.workflow.actions.filter.calendarevents": [
{
name: "Find Calendar Events $\ufffc0 where",
param: {
WFContentItemInputParameter: "$\ufffc0",
"$\ufffc0": "All Calendar Events"
}
}
],
"is.workflow.actions.filter.contacts": [
{
name: "Find Contacts $\ufffc0",
param: {
WFContentItemInputParameter: "$\ufffc0",
"$\ufffc0": "All Contacts"
}
}
],
"is.workflow.actions.filter.notes": [
{
name: "Find Notes",
param: {
WFContentItemInputParameter: "$\ufffc0",
"$\ufffc0": "All Notes"
}
}
],
"is.workflow.actions.filter.reminders": [
{
name: "Find Reminders",
param: {
WFContentItemInputParameter: "$\ufffc0",
"$\ufffc0": "All Reminders"
}
}
],
"is.workflow.actions.filter.eventattendees": [
{
name: "Filter Event Attendees $\ufffc0",
param: {
WFContentItemInputParameter: "$\ufffc0"
}
}
],
"is.workflow.actions.filter.music": [
{
name: "Find Music $\ufffc0",
param: {
WFContentItemInputParameter: "$\ufffc0",
"$\ufffc0": "All Music"
}
}
],
"is.workflow.actions.filter.articles": [
{
name: "Filter Articles $\ufffc0",
param: {
WFContentItemInputParameter: "$\ufffc0"
}
}
],
"is.workflow.actions.filter.locations": [
{
name: "Filter Locations $\ufffc0",
param: {
WFContentItemInputParameter: "$\ufffc0"
}
}
],
"is.workflow.actions.filter.images": [
{
name: "Filter Images $\ufffc0",
param: {
WFContentItemInputParameter: "$\ufffc0"
}
}
],
"is.workflow.actions.filter.health.quantity": [
{
name: "Find Health Samples $\ufffc0",
param: {
WFContentItemInputParameter: "$\ufffc0",
"$\ufffc0": "All Health Samples"
}
}
],
"is.workflow.actions.filter.windows": [
{
name: "Find Windows $\ufffc0",
param: {
WFContentItemInputParameter: "$\ufffc0",
"$\ufffc0": "All Windows"
}
}
],
"is.workflow.actions.properties.calendarevents": [
{
name: "Get Details $\ufffc1 of Calendar Events $\ufffc0",
param: {
WFContentItemPropertyName: "$\ufffc1",
"$\ufffc1": "Start Date"
}
}
],
"is.workflow.actions.properties.reminders": [
{
name: "Get Details $\ufffc1 of Reminders $\ufffc0",
param: {
WFContentItemPropertyName: "$\ufffc1",
"$\ufffc1": "List"
}
}
],
"is.workflow.actions.properties.eventattendees": [
{
name: "Get Details $\ufffc1 of Event Attendees $\ufffc0",
param: {
WFContentItemPropertyName: "$\ufffc1",
"$\ufffc1": "Status"
}
}
],
"is.workflow.actions.properties.contacts": [
{
name: "Get Details $\ufffc1 of Contacts $\ufffc0",
param: {
WFContentItemPropertyName: "$\ufffc1",
"$\ufffc1": "Group"
}
}
],
"is.workflow.actions.properties.itunesartist": [
{
name: "Get Details $\ufffc1 of iTunes Artist $\ufffc0",
param: {
WFContentItemPropertyName: "$\ufffc1",
"$\ufffc1": "Genre"
}
}
],
"is.workflow.actions.properties.itunesstore": [
{
name: "Get Details $\ufffc1 of iTunes Product $\ufffc0",
param: {
WFContentItemPropertyName: "$\ufffc1",
"$\ufffc1": "Artist"
}
}
],
"is.workflow.actions.properties.music": [
{
name: "Get Details $\ufffc1 of Music $\ufffc0",
param: {
WFContentItemPropertyName: "$\ufffc1",
"$\ufffc1": "Artist"
}
}
],
"is.workflow.actions.properties.appstore": [
{
name: "Get Details $\ufffc1 of App Store App $\ufffc0",
param: {
WFContentItemPropertyName: "$\ufffc1",
"$\ufffc1": "Artist"
}
}
],
"is.workflow.actions.properties.podcastshow": [
{
name: "Get Details $\ufffc1 of Podcast from $\ufffc0",
param: {
WFContentItemPropertyName: "$\ufffc1",
"$\ufffc1": "Feed URL"
}
}
],
"is.workflow.actions.properties.podcast": [
{
name: "Get Details $\ufffc1 of Podcast Episode $\ufffc0",
param: {
WFContentItemPropertyName: "$\ufffc1",
"$\ufffc1": "Store ID"
}
}
],
"is.workflow.actions.properties.articles": [
{
name: "Get Details $\ufffc1 of Article $\ufffc0",
param: {
WFContentItemPropertyName: "$\ufffc1",
"$\ufffc1": "Title"
}
}
],
"is.workflow.actions.properties.safariwebpage": [
{
name: "Get Details $\ufffc1 of Safari Webpage $\ufffc0",
param: {
WFContentItemPropertyName: "$\ufffc1",
"$\ufffc1": "Page Contents"
}
}
],
"is.workflow.actions.properties.weather.conditions": [
{
name: "Get Details $\ufffc1 of Weather Conditions $\ufffc0",
param: {
WFContentItemPropertyName: "$\ufffc1",
"$\ufffc1": "Date"
}
}
],
"is.workflow.actions.properties.locations": [
{
name: "Get Details $\ufffc1 of Locations $\ufffc0",
param: {
WFContentItemPropertyName: "$\ufffc1",
"$\ufffc1": "Latitude"
}
}
],
"is.workflow.actions.properties.images": [
{
name: "Get Details $\ufffc1 of Images $\ufffc0",
param: {
WFContentItemPropertyName: "$\ufffc1",
"$\ufffc1": "Album"
}
}
],
"is.workflow.actions.properties.files": [
{
name: "Get Details $\ufffc1 of Files $\ufffc0",
param: {
WFContentItemPropertyName: "$\ufffc1",
"$\ufffc1": "File Size"
}
}
],
"is.workflow.actions.properties.health.quantity": [
{
name: "Get Details $\ufffc1 of Health Sample $\ufffc0",
param: {
WFContentItemPropertyName: "$\ufffc1",
"$\ufffc1": "Type"
}
}
],
"is.workflow.actions.getclassaction": [
{
name: "Get Object of Class $\ufffc0 from $\ufffc0",
param: {
Class: "$\ufffc0",
Input: "$\ufffc1",
"$\ufffc0": "NSURL"
}
}
],
"is.workflow.actions.openin": [
{
name: "Open File $\ufffc0"
}
],
"is.workflow.actions.gethomeaccessorystate": [
{
name: "Get the State of My Home"
}
],
"is.workflow.actions.homeaccessory": [
{
name: "Control My Home"
}
],
"is.workflow.actions.setplaybackdestination": [
{
name: "$\ufffc0 Playback Destination",
param: {
WFMediaRouteOperation: "$\ufffc0",
"$\ufffc0": "Set"
}
}
],
"is.workflow.actions.handoffplayback": [
{
name: "Hand Off Playback"
}
],
"is.workflow.actions.searchitunes": [
{
name: "Search iTunes Store for $\ufffc0",
param: {
WFSearchTerm: "$\ufffc0"
}
}
],
"is.workflow.actions.showinstore": [
{
name: "Show $\ufffc0 in iTunes Store",
param: {
WFProduct: "$\ufffc0"
}
}
],
"is.workflow.actions.searchappstore": [
{
name: "Search App Store for $\ufffc0",
param: {
WFSearchTerm: "$\ufffc0"
}
}
],
"is.workflow.actions.getdevicedetails": [
{
name: "Get Device Details $\ufffc0",
param: {
WFDeviceDetail: "$\ufffc0",
"$\ufffc0": "Device Name"
}
}
],
"is.workflow.actions.getbatterylevel": [
{
name: "Get Battery Level"
}
],
"is.workflow.actions.setvolume": [
{
name: "Set Volume to $\ufffc0",
param: {
WFVolume: "$\ufffc0",
"$\ufffc0": "0.5"
}
}
],
"is.workflow.actions.setbrightness": [
{
name: "Set Brightness to $\ufffc0",
param: {
WFBrightness: "$\ufffc0",
"$\ufffc0": "0.5"
}
}
],
"is.workflow.actions.playsound": [
{
name: "Play Sound $\ufffc0"
}
],
"is.workflow.actions.vibrate": [
{
name: "Vibrate Device"
}
],
"is.workflow.actions.takescreenshot": [
{
name: "Take Screenshot"
}
],
"com.apple.AccessibilityUtilities.AXSettingsShortcuts.AXStartGuidedAccessIntent": [
{
name: "Start Guided Access"
}
],
"com.apple.AccessibilityUtilities.AXSettingsShortcuts.AXStartSpeakScreenIntent": [
{
name: "Start Speak Screen"
}
],
"com.apple.AccessibilityUtilities.AXSettingsShortcuts.AXSetLargeTextIntent": [
{
name: "Set Text Size to $\ufffc0",
param: {
textSize: "$\ufffc0",
"$\ufffc0": "Extra Small"
}
}
],
"com.apple.AccessibilityUtilities.AXSettingsShortcuts.AXSetBackgroundSoundVolumeIntent": [
{
name: "Set Background Sounds $\ufffc1 to $\ufffc0",
param: {
volume: "$\ufffc0",
"$\ufffc0": "0.1",
volumeType: "$\ufffc1",
"$\ufffc1": "Volume"
}
}
],
"com.apple.AccessibilityUtilities.AXSettingsShortcuts.AXSetBackgroundSoundVolumeWhenMediaIsPlayingIntent": [
{
name: "Set Background Sounds Volume to $\ufffc0 When Media is Playing",
param: {
volume: "$\ufffc0",
"$\ufffc0": "0.1"
}
}
],
"com.apple.AccessibilityUtilities.AXSettingsShortcuts.AXSetBackgroundSoundIntent": [
{
name: "Change Background Sound to $\ufffc0",
param: {
backgroundSound: "$\ufffc0",
"$\ufffc0": "Balanced Noise"
}
}
],
"com.apple.AccessibilityUtilities.AXSettingsShortcuts.AXToggleBackgroundSoundsIntent": [
{
name: "$\ufffc0 Background Sounds $\ufffc1 $\ufffc9",
param: {
operation: "$\ufffc0",
"$\ufffc0": "Turn",
setting: "$\ufffc1",
"$\ufffc1": "",
state: "$\ufffc9"
}
}
],
"com.apple.AccessibilityUtilities.AXSettingsShortcuts.AXToggleBackgroundSoundsWhenMediaIsPlayingIntent": [
{
name: "$\ufffc0 Use Background Sounds When Media is Playing $\ufffc9",
param: {
operation: "$\ufffc0",
"$\ufffc0": "Turn",
state: "$\ufffc9"
}
}
],
"com.apple.mobiletimer-framework.MobileTimerIntents.MTToggleAlarmIntent": [
{
name: "$\ufffc0 Alarm “$\ufffc1” $\ufffc9",
param: {
operation: "$\ufffc0",
alarm: "$\ufffc1",
"$\ufffc0": "Turn",
state: "$\ufffc9"
}
}
],
"com.apple.AccessibilityUtilities.AXSettingsShortcuts.AXToggleAssistiveTouchIntent": [
{
name: "$\ufffc0 AssistiveTouch $\ufffc9",
param: {
operation: "$\ufffc0",
"$\ufffc0": "Turn",
state: "$\ufffc9"
}
}
],
"com.apple.AccessibilityUtilities.AXSettingsShortcuts.AXToggleAudioDescriptionsIntent": [
{
name: "$\ufffc0 Audio Descriptions $\ufffc9",
param: {
operation: "$\ufffc0",
"$\ufffc0": "Turn",
state: "$\ufffc9"
}
}
],
"com.apple.UniversalAccess.UASettingsShortcuts.UAToggleAudioDescriptionsIntent": [
{
name: "$\ufffc0 Audio Descriptions $\ufffc9",
param: {
operation: "$\ufffc0",
"$\ufffc0": "Turn",
state: "$\ufffc9"
}
}
],
"com.apple.AccessibilityUtilities.AXSettingsShortcuts.AXToggleClassicInvertIntent": [
{
name: "$\ufffc0 Classic Invert $\ufffc9",
param: {
operation: "$\ufffc0",
"$\ufffc0": "Turn",
state: "$\ufffc9"
}
}
],
"com.apple.UniversalAccess.UASettingsShortcuts.UAToggleClassicInvertIntent": [
{
name: "$\ufffc0 Classic Invert $\ufffc9",
param: {
operation: "$\ufffc0",
"$\ufffc0": "Turn",
state: "$\ufffc9",
"$\ufffc9": { default: 0 }
}
}
],
"com.apple.AccessibilityUtilities.AXSettingsShortcuts.AXToggleCaptionsIntent": [
{
name: "$\ufffc0 Closed Captions+SDH $\ufffc9",
param: {
operation: "$\ufffc0",
"$\ufffc0": "Turn",
state: "$\ufffc9"
}
}
],
"com.apple.UniversalAccess.UASettingsShortcuts.UAToggleCaptionsIntent": [
{
name: "$\ufffc0 Closed Captions+SDH $\ufffc9",
param: {
operation: "$\ufffc0",
"$\ufffc0": "Turn",
state: "$\ufffc9"
}
}
],
"com.apple.AccessibilityUtilities.AXSettingsShortcuts.AXToggleContrastIntent": [
{
name: "$\ufffc0 Increase Contrast $\ufffc9",
param: {
operation: "$\ufffc0",
"$\ufffc0": "Turn",
state: "$\ufffc9"
}
}
],
"com.apple.UniversalAccess.UASettingsShortcuts.UAToggleContrastIntent": [
{
name: "$\ufffc0 Increase Contrast $\ufffc9",
param: {
operation: "$\ufffc0",
"$\ufffc0": "Turn",
state: "$\ufffc9"
}
}
],
"com.apple.AccessibilityUtilities.AXSettingsShortcuts.AXToggleLEDFlashIntent": [
{
name: "$\ufffc0 LED Flash $\ufffc9",
param: {
operation: "$\ufffc0",
"$\ufffc0": "Turn",
state: "$\ufffc9"
}
}
],
"com.apple.AccessibilityUtilities.AXSettingsShortcuts.AXToggleMonoAudioIntent": [
{
name: "$\ufffc0 Mono Audio $\ufffc9",
param: {
operation: "$\ufffc0",
"$\ufffc0": "Turn",
state: "$\ufffc9"
}
}
],
"com.apple.UniversalAccess.UASettingsShortcuts.UAToggleMonoAudioIntent": [
{
name: "$\ufffc0 Mono Audio $\ufffc9",
param: {
operation: "$\ufffc0",
"$\ufffc0": "Turn",
state: "$\ufffc9"
}
}
],
"com.apple.AccessibilityUtilities.AXSettingsShortcuts.AXToggleReduceMotionIntent": [
{
name: "$\ufffc0 Reduce Motion $\ufffc9",
param: {
operation: "$\ufffc0",
"$\ufffc0": "Turn",
state: "$\ufffc9"
}
}
],
"com.apple.UniversalAccess.UASettingsShortcuts.UAToggleReduceMotionIntent": [
{
name: "$\ufffc0 Reduce Motion $\ufffc9",
param: {
operation: "$\ufffc0",
"$\ufffc0": "Turn",
state: "$\ufffc9",
"$\ufffc9": { default: 0 }
}
}
],
"com.apple.AccessibilityUtilities.AXSettingsShortcuts.AXToggleTransparencyIntent": [
{
name: "$\ufffc0 Reduce Transparency $\ufffc9",
param: {
operation: "$\ufffc0",
"$\ufffc0": "Turn",
state: "$\ufffc9"
}
}
],
"com.apple.UniversalAccess.UASettingsShortcuts.UAToggleTransparencyIntent": [
{
name: "$\ufffc0 Reduce Transparency $\ufffc9",
param: {
operation: "$\ufffc0",
"$\ufffc0": "Turn",
state: "$\ufffc9"
}
}
],
"com.apple.AccessibilityUtilities.AXSettingsShortcuts.AXToggleSmartInvertIntent": [
{
name: "$\ufffc0 Smart Invert $\ufffc9",
param: {
operation: "$\ufffc0",
"$\ufffc0": "Turn",
state: "$\ufffc9"
}
}
],
"com.apple.UniversalAccess.UASettingsShortcuts.UAToggleSmartInvertIntent": [
{
name: "$\ufffc0 Smart Invert $\ufffc9",
param: {
operation: "$\ufffc0",
"$\ufffc0": "Turn",
state: "$\ufffc9"
}
}
],
"com.apple.AccessibilityUtilities.AXSettingsShortcuts.AXToggleSwitchControlIntent": [
{
name: "$\ufffc0 Switch Control $\ufffc9",
param: {
operation: "$\ufffc0",
"$\ufffc0": "Turn",
state: "$\ufffc9"
}
}
],
"com.apple.UniversalAccess.UASettingsShortcuts.UAToggleSwitchControlIntent": [
{
name: "$\ufffc0 Switch Control $\ufffc9",
param: {
operation: "$\ufffc0",
"$\ufffc0": "Turn",
state: "$\ufffc9"
}
}
],
"com.apple.AccessibilityUtilities.AXSettingsShortcuts.AXToggleVoiceControlIntent": [
{
name: "$\ufffc0 Voice Control $\ufffc9",
param: {
operation: "$\ufffc0",
"$\ufffc0": "Turn",
state: "$\ufffc9"
}
}
],
"com.apple.UniversalAccess.UASettingsShortcuts.UAToggleVoiceControlIntent": [
{
name: "$\ufffc0 Voice Control $\ufffc9",
param: {
operation: "$\ufffc0",
"$\ufffc0": "Turn",
state: "$\ufffc9"
}
}
],
"com.apple.AccessibilityUtilities.AXSettingsShortcuts.AXToggleVoiceOverIntent": [
{
name: "$\ufffc0 VoiceOver $\ufffc9",
param: {
operation: "$\ufffc0",
"$\ufffc0": "Turn",
state: "$\ufffc9"
}
}
],
"com.apple.UniversalAccess.UASettingsShortcuts.UAToggleVoiceOverIntent": [
{
name: "$\ufffc0 VoiceOver $\ufffc9",
param: {
operation: "$\ufffc0",
"$\ufffc0": "Turn",
state: "$\ufffc9"
}
}
],
"com.apple.AccessibilityUtilities.AXSettingsShortcuts.AXToggleWhitePointIntent": [
{
name: "$\ufffc0 White Point $\ufffc9",
param: {
operation: "$\ufffc0",
"$\ufffc0": "Turn",
state: "$\ufffc9"
}
}
],
"com.apple.AccessibilityUtilities.AXSettingsShortcuts.AXToggleZoomIntent": [
{
name: "$\ufffc0 Zoom $\ufffc9",
param: {
operation: "$\ufffc0",
"$\ufffc0": "Turn",
state: "$\ufffc9"
}
}
],
"com.apple.UniversalAccess.UASettingsShortcuts.UAToggleZoomIntent": [
{
name: "$\ufffc0 Zoom $\ufffc9",
param: {
operation: "$\ufffc0",
"$\ufffc0": "Turn",
state: "$\ufffc9"
}
}
],
"com.apple.UniversalAccess.UASettingsShortcuts.UAToggleMouseKeysIntent": [
{
name: "$\ufffc0 Mouse Keys $\ufffc9",
param: {
operation: "$\ufffc0",
"$\ufffc0": "Turn",
state: "$\ufffc9",
"$\ufffc9": { default: 0 }
}
}
],
"com.apple.UniversalAccess.UASettingsShortcuts.UAToggleFullKeyboardAccessIntent": [
{
name: "$\ufffc0 Full Keyboard Access $\ufffc9",
param: {
operation: "$\ufffc0",
"$\ufffc0": "Turn",
state: "$\ufffc9",
"$\ufffc9": { default: 0 }
}
}
],
"com.apple.UniversalAccess.UASettingsShortcuts.UAToggleColorFiltersIntent": [
{
name: "$\ufffc0 Color Filters $\ufffc9",
param: {
operation: "$\ufffc0",
"$\ufffc0": "Turn",
state: "$\ufffc9",
"$\ufffc9": { default: 0 }
}
}
],
"com.apple.UniversalAccess.UASettingsShortcuts.UAToggleHeadPointerIntent": [
{
name: "$\ufffc0 Head Pointer $\ufffc9",
param: {
operation: "$\ufffc0",
"$\ufffc0": "Turn",
state: "$\ufffc9",
"$\ufffc9": { default: 0 }
}
}
],
"com.apple.UniversalAccess.UASettingsShortcuts.UAToggleSlowKeysIntent": [
{
name: "$\ufffc0 Slow Keys $\ufffc9",
param: {
operation: "$\ufffc0",
"$\ufffc0": "Turn",
state: "$\ufffc9",
"$\ufffc9": { default: 0 }
}
}
],
"com.apple.UniversalAccess.UASettingsShortcuts.UAToggleStickyKeysIntent": [
{
name: "$\ufffc0 Skicky Keys $\ufffc9",
param: {
operation: "$\ufffc0",
"$\ufffc0": "Turn",
state: "$\ufffc9",
"$\ufffc9": { default: 0 }
}
}
],
"com.apple.UniversalAccess.UASettingsShortcuts.UAToggleAlternatePointerActionsIntent": [
{
name: "$\ufffc0 Alternate Pointer Actions $\ufffc9",
param: {
operation: "$\ufffc0",
"$\ufffc0": "Turn",
state: "$\ufffc9",
"$\ufffc9": { default: 0 }
}
}
],
"com.apple.UniversalAccess.UASettingsShortcuts.UAToggleAccessibilityKeyboardIntent": [
{
name: "$\ufffc0 Accessibility Keyboard $\ufffc9",
param: {
operation: "$\ufffc0",
"$\ufffc0": "Turn",
state: "$\ufffc9",
"$\ufffc9": { default: 0 }
}
}
],
"is.workflow.actions.flashlight": [
{
name: "$\ufffc0 Flashlight $\ufffc9",
param: {
operation: "$\ufffc0",
"$\ufffc0": "Turn",
state: "$\ufffc9"
}
}
],
"is.workflow.actions.airplanemode.set": [
{
name: "$\ufffc0 Airplane Mode $\ufffc9",
param: {
operation: "$\ufffc0",
"$\ufffc0": "Turn",
OnValue: "$\ufffc9",
"$\ufffc9": { key: "OnValue" }
}
}
],
"is.workflow.actions.bluetooth.set": [
{
name: "$\ufffc0 Bluetooth $\ufffc9",
param: {
operation: "$\ufffc0",
"$\ufffc0": "Turn",
OnValue: "$\ufffc9",
"$\ufffc9": { key: "OnValue" }
}
}
],
"is.workflow.actions.cellulardata.set": [
{
name: "$\ufffc0 Cellular Data $\ufffc9",
param: {
operation: "$\ufffc0",
"$\ufffc0": "Turn",
OnValue: "$\ufffc9",
"$\ufffc9": { key: "OnValue" }
}
}
],
"is.workflow.actions.lowpowermode.set": [
{
name: "$\ufffc0 Low Power Mode $\ufffc9",
param: {
operation: "$\ufffc0",
"$\ufffc0": "Turn",
OnValue: "$\ufffc9",
"$\ufffc9": { key: "OnValue" }
}
}
],
"is.workflow.actions.orientationlock.set": [
{
name: "$\ufffc0 Orientation Lock $\ufffc9",
param: {
operation: "$\ufffc0",
"$\ufffc0": "Turn",
OnValue: "$\ufffc9",
"$\ufffc9": { key: "OnValue" }
}
}
],
"is.workflow.actions.appearance": [
{
name: "$\ufffc0 Appearance $\ufffc9",
param: {
operation: "$\ufffc0",
"$\ufffc0": "Turn",
style: "$\ufffc9",
"$\ufffc9": {
key: "style",
default: "dark",
dict: { dark: "dark", light: "light" }
}
}
}
],
"is.workflow.actions.wifi.set": [
{
name: "Turn Wi-Fi $\ufffc9",
param: {
OnValue: "$\ufffc9",
"$\ufffc9": { key: "OnValue" }
}
}
],
"is.workflow.actions.dnd.set": [
{
name: "Turn Focus $\ufffc9",
param: {
Enabled: "$\ufffc9",
"$\ufffc9": { key: "Enabled", default: 0 }
}
}
],
"is.workflow.actions.connecttoservers": [
{
name: "Connect to Servers $\ufffc0"
}
],
"is.workflow.actions.mountdiskimage": [
{
name: "Mount Disk Image $\ufffc0"
}
],
"is.workflow.actions.ejectdisk": [
{
name: "Eject Disk $\ufffc0"
}
],
"is.workflow.actions.makediskimage": [
{
name: "Make Disk Image with $\ufffc0"
}
],
"is.workflow.actions.movewindow": [
{
name: "Move Window $\ufffc0 to $\ufffc1",
param: {
WFWindow: "$\ufffc0",
WFPosition: "$\ufffc1",
"$\ufffc1": "Center"
}
}
],
"is.workflow.actions.resizewindow": [
{
name: "Resize Window $\ufffc0 to $\ufffc1",
param: {
WFWindow: "$\ufffc0",
WFConfiguration: "$\ufffc1",
"$\ufffc1": "Fit Screen"
}
}
],
"is.workflow.actions.splitscreen": [
{
name: "Split Screen between $\ufffc0 and $\ufffc1",
param: {
WFPrimaryAppIdentifier: "$\ufffc0",
WFSecondaryAppIdentifier: "$\ufffc1"
}
}
],
"is.workflow.actions.startscreensaver": [
{
name: "Start Screen Saver"
}
],
"is.workflow.actions.getipaddress": [
{
name: "Get Current IP Address"
}
],
"is.workflow.actions.getwifi": [
{
name: "Get Network Details of $\ufffc0",
param: {
WFNetworkDetailsNetwork: "$\ufffc0",
"$\ufffc0": "Wi-Fi"
}
}
],
"is.workflow.actions.watchmedo": [
{
name: "Watch Me Do"
}
],
"com.apple.TVRemoteUIService.LaunchApplicationIntent": [
{
name: "Open App on Apple TV"
}
],
"com.apple.TVRemoteUIService.PauseContentIntent": [
{
name: "Play/Pause Apple TV"
}
],
"com.apple.TVRemoteUIService.LaunchRemoteIntent": [
{
name: "Show Remote Control"
}
],
"com.apple.TVRemoteUIService.SleepAppleTVIntent": [
{
name: "Sleep Apple TV"
}
],
"com.apple.TVRemoteUIService.WakeAppleTVIntent": [
{
name: "Wake Apple TV"
}
],
"is.workflow.actions.giphy": [
{
name: "Search Giphy"
}
],
"is.workflow.actions.cloudapp.upload": [
{
name: "Upload to CloudApp"
}
],
"is.workflow.actions.evernote.append": [
{
name: "Append to Evernote"
}
],
"is.workflow.actions.evernote.delete": [
{
name: "Delete Evernotes"
}
],
"is.workflow.actions.evernote.get": [
{
name: "Get Evernotes"
}
],
"is.workflow.actions.evernote.getlink": [
{
name: "Get Evernote Link"
}
],
"is.workflow.actions.evernote.new": [
{
name: "Create New Evernote"
}
],
"is.workflow.actions.goodreader.open": [
{
name: "Open in GoodReader"
}
],
"is.workflow.actions.imgur.upload": [
{
name: "Upload to Imgur"
}
],
"is.workflow.actions.instapaper.add": [
{
name: "Add to Instapaper"
}
],
"is.workflow.actions.instapaper.get": [
{
name: "Get Instapaper Bookmarks"
}
],
"is.workflow.actions.lightroom.import": [
{
name: "Import to Lightroom"
}
],
"is.workflow.actions.pinboard.add": [
{
name: "Add to Pinboard"
}
],
"is.workflow.actions.pinboard.get": [
{
name: "Get Pinboard Bookmarks"
}
],
"is.workflow.actions.pocket.add": [
{
name: "Add to Pocket"
}
],
"is.workflow.actions.pocket.get": [
{
name: "Get Items from Pocket"
}
],
"is.workflow.actions.postonfacebook": [
{
name: "Post on Facebook"
}
],
"is.workflow.actions.properties.trello": [
{
name: "Get Details of Trello Item"
}
],
"is.workflow.actions.showinblindsquare": [
{
name: "Show in BlindSquare"
}
],
"is.workflow.actions.todoist.add": [
{
name: "Add Todoist Item"
}
],
"is.workflow.actions.trello.add.board": [
{
name: "Create Trello Board"
}
],
"is.workflow.actions.trello.add.card": [
{
name: "Add Trello Card"
}
],
"is.workflow.actions.trello.add.list": [
{
name: "Create Trello List"
}
],
"is.workflow.actions.trello.get": [
{
name: "Get Trello Items"
}
],
"is.workflow.actions.tumblr.post": [
{
name: "Post to Tumblr"
}
],
"is.workflow.actions.tweet": [
{
name: "Tweet"
}
],
"is.workflow.actions.wordpress.post": [
{
name: "Post to WordPress"
}
]
};
// predicate conditionals
const condDict = {
0: "&lt;",
1: "&lt;=",
2: "&gt;",
3: "&gt;=",
4: "is",
5: "is not",
8: "begins with",
9: "ends with",
99: "contains",
100: "has any value",
101: "does not have any value",
999: "does not contain",
1000: "is in the next",
1001: "is in the last",
1002: "is today",
1003: "is between"
};
// data type filter predicates
const filterDict = {
Album: { type: "Enumeration", default: "Recents" },
Calendar: { type: "Enumeration" },
Folder: { type: "Enumeration" },
Group: { type: "Enumeration" },
Label: { type: "Enumeration" },
List: { type: "Enumeration" },
"Media Kind": { type: "Enumeration", default: "Movie" },
"Media Type": { type: "Enumeration", default: "Image" },
Orientation: { type: "Enumeration", default: "Up" },
"Photo Type": { type: "Enumeration", default: "HDR" },
Priority: { type: "Enumeration", default: "None" },
Role: { type: "Enumeration", default: "Unknown" },
Source: { type: "Enumeration" },
Status: { type: "Enumeration", default: "Accepted" },
Type: { type: "Enumeration", default: "Step" },
Altitude: { type: "Number" },
"Disc Number": { type: "Number" },
Duration: { type: "Number", unit: "Unit" },
"File Size": { type: "Number", unit: "ByteCountUnit" },
"Frame Rate": { type: "Number" },
Height: { type: "Number" },
Latitude: { type: "Number" },
Longitude: { type: "Number" },
"Play Count": { type: "Number" },
Rating: { type: "Number" },
"Skip Count": { type: "Number" },
"Track Number": { type: "Number" },
Width: { type: "Number" },
"Phone Number": { type: "Phone" },
"Phone Numbers": { type: "Phone" },
"X Position": { type: "Number" }
};
const unitDict = {
Unit: {
4: "years",
8: "months",
8192: "weeks",
16: "days",
32: "hours",
64: "minutes",
128: "seconds"
},
ByteCountUnit: {
1: "bytes",
2: "KB",
4: "MB",
8: "GB",
16: "TB",
32: "PB",
64: "EB",
128: "ZB"
}
};
const d = {
WFWorkflowMinimumClientVersionString: "900",
WFWorkflowMinimumClientVersion: 900,
WFWorkflowIcon: {
WFWorkflowIconStartColor: 463140863,
WFWorkflowIconGlyphNumber: 61440
},
WFWorkflowClientVersion: "1146.11.1",
WFWorkflowOutputContentItemClasses: [],
WFWorkflowHasOutputFallback: false,
WFWorkflowActions: [
{
WFWorkflowActionIdentifier: "is.workflow.actions.gettext",
WFWorkflowActionParameters: {
UUID: "5DAA5A1C-BCC6-4CF7-97F7-03A5385328E2",
WFTextActionText:
"sequenceDiagram\n\tpartcipant derek as Club Owner\n\tparticipant jason as Vice President of Club Ownership\n\tparticipant charlesSchwab as Holder of FU Money\n\tparticipant club as Club\n\tparticipant cashMoney as Crypto\n\n\tNote over derek,club: The club owner pays for drinks and doesn't bat an eye about it\n\tderek ->>+club: Enters the facility in VIP\n\t\n\t\nend "
}
},
{
WFWorkflowActionIdentifier: "com.alexhay.nautomate.CreateCodeBlockIntent",
WFWorkflowActionParameters: {
code: {
Value: {
OutputUUID: "5DAA5A1C-BCC6-4CF7-97F7-03A5385328E2",
Type: "ActionOutput",
OutputName: "Text"
},
WFSerializationType: "WFTextTokenAttachment"
},
language: "mermaid",
UUID: "35A7A9BC-FBB3-43DF-AB7B-27D2467EEDDB",
caption: "A flowchart of club ownership.",
"Show-code": true
}
},
{
WFWorkflowActionIdentifier: "com.alexhay.nautomate.AddBlocksToPageIntent",
WFWorkflowActionParameters: {
parentType: "pageId",
blocks: {
Value: {
OutputUUID: "35A7A9BC-FBB3-43DF-AB7B-27D2467EEDDB",
Type: "ActionOutput",
OutputName: "Code Blocks"
},
WFSerializationType: "WFTextTokenAttachment"
},
parentId: "d1e56629d5f347799ba12a63e2802ed0",
UUID: "B5FB3F9E-2828-4D69-B5E5-F5B226C2D5B0"
}
}
],
WFWorkflowInputContentItemClasses: [
"WFAppStoreAppContentItem",
"WFArticleContentItem",
"WFContactContentItem",
"WFDateContentItem",
"WFEmailAddressContentItem",
"WFFolderContentItem",
"WFGenericFileContentItem",
"WFImageContentItem",
"WFiTunesProductContentItem",
"WFLocationContentItem",
"WFDCMapsLinkContentItem",
"WFAVAssetContentItem",
"WFPDFContentItem",
"WFPhoneNumberContentItem",
"WFRichTextContentItem",
"WFSafariWebPageContentItem",
"WFStringContentItem",
"WFURLContentItem"
],
WFWorkflowImportQuestions: [],
WFWorkflowTypes: [],
WFQuickActionSurfaces: [],
WFWorkflowHasShortcutInputVariables: false
};
function mapNullOrUndef(a, b) {
return a == null || a == undefined ? b : a;
}
const ignore = ["UUID", "GroupingIdentifier", "WFControlFlowMode"];
let udict = {};
let indent = 0;
let loopIdx = [];
let isLong = d.WFWorkflowActions.length > 300;
d.WFWorkflowActions.forEach((action, idx) => {
// load the user actions in sequence
let id = action["WFWorkflowActionParameters"]
? action["WFWorkflowActionParameters"]["UUID"]
: "default";
udict[id] = idx;
});
let output = d.WFWorkflowActions.map((action, idx) => {
let out = []; // will hold the return values
let param = mapNullOrUndef(action.WFWorkflowActionParameters, {});
let name = action.WFWorkflowActionIdentifier;
let id = idDict[name];
let mobile = true;
let loop = false;
let flow = 0;
let actionDict = {};
if (id) {
if (id.length > 1) {
loop = true;
flow = param.WFControlFlowMode;
if (flow) {
out.push("</div>");
indent--;
} else {
loopIdx.unshift(i);
}
}
actionDict = id[flow];
name = actionDict.name;
// if a loop is in effect while a control flow is occuring
// set a boolean flag to whether there are less than 10 iterations remaining
if (loop && flow && (l0 = loopIdx[0]) < i - 10) {
name += ` <span class="magic" onclick="magictap(${l0})">${l0}</span>`;
}
if (
action.WFWorkflowActionIdentifier === "is.workflow.actions.conditional" &&
Number.isInteger(param.WFCondition)
) {
let cond = param.WFCondition.toString();
delete param.WFCondition;
ignore.forEach((k) => delete param.k);
let postfix = `<span class="box">${condDict[cond]}</span>`;
// if the conditional is not a gte, lte or occuring today
if (cond !== "100" && cond !== "101" && cond !== "1002") {
let paramk = Object.keys(param);
// if the conditional is checking whether an item is in-between two numbers,
if (cond === "1003") {
let m = [
["WFNumberValue", "WFAnotherNumber"],
["WFDate", "WFAnotherDate"],
["WFDuration, WFAnotherDuration"],
["WFMeasurement, WFAnotherMeasurement"]
].filter((c) => paramk.includes(c[0]) && paramk.includes(c[1]));
if (m.length === 1) {
postfix += `<span class="box">${gettext(
param[m[0][0]]
)}</span> and <span class="box">${gettext(param[0][1])}</span>`;
// clear the params from the dict
delete param[m[0][0]];
delete param[m[0][1]];
}
} else {
let isBool =
cond === "4" &&
param.WFInput &&
param.WFInput.Variable &&
param.WFInput.Variable.Value &&
(b = param.WFInput.Variable.Value.Aggrandizements) &&
(b[0].CoercionItemClass === "WFBooleanContentItem" ||
(b.length > 1 &&
[
"Is Me",
"Is a Screenshot",
"Is Hidden",
"Is Favorite",
"Is Explicit",
"Is Cloud Item",
"Has Album Artwork",
"Streamable",
"Is Universal",
"Supports Game Center",
"Has Photo"
].includes(b[1].PropertyName)));
if (isBool) {
postfix = "is true";
} else {
let m = [
"WFConditionalActionString",
"WFDuration",
"WFMeasurement",
"WFNumberValue",
"WFDate",
"WFEnumeration"
].filter((c) => paramk.includes(c));
if (m.length == 1) {
postfix += ` <span class="box">${gettext(param[m[0]])}</span>`;
delete param[m[0]];
}
}
}
}
name = name.replace("\ufffc1", postfix);
} else if (
action.WFWorkflowActionIdentifier ===
"is.workflow.actions.getvalueforkey" &&
["Value", undefined].includes(param.WFGetDictionaryValueType)
) {
name = name.replace(
"\ufffc1",
`Value for <span class="box">${gettext(param.WFDictionaryKey)}</span>`
);
delete param.WFDictionaryKey;
} else if (
action.WFWorkflowActionIdentifier ===
"is.workflow.actions.getitemfromlist" &&
(s = param.WFItemSpecifier)
) {
if (s === "Item At Index") {
name = name.replace(
"$\ufffc1",
`$\ufffc1 <span class="box">${mapNullUndef(
gettext(param.WFItemIndex),
""
)}</span>`
);
delete param.WFItemAtIndex;
} else if (s === "Item At Range") {
name = name.replace(
"$\ufffc1",
`$\ufffc1 <span class="box">${mapNullUndef(
gettext(param.WFItemRangeStart),
""
)}</span> to <span class="box">${mapNullUndef(
gettext(param.WFItemRangeEnd),
""
)}</span>`
);
delete param.WFItemRangeStart;
delete param.WFItemRangeEnd;
}
}
}
if (!actionDict.param) {
actionDict.param = {};
}
let p = [];
let isbig = false;
for (const [k, v] of Object.entries(param)) {
if (!ignore.includes(k)) {
let pstr = k;
if (k === "WFInput") {
if (name.includes("$\ufffc0")) {
pstr = "$\ufffc0";
}
}
if (actionDict.param[k]) {
pstr = actionDict.param[k];
}
switch (pstr[0]) {
case "$":
if (pstr !== "$\ufffc9") {
name = name.replace(pstr, `<span class="box">${gettext(v)}</span>`);
}
break;
case "#":
let t = gettext(v);
if (mobile) {
t = truncate(t, 1500, JSON.stringify(v).length);
} else {
isbig =
t.length > 1000 || mapNullUndef(t.match(/\n/g, []).length) > 80;
}
p.push(`\n\t\t<div class="col2">${t}</div>`);
break;
default:
switch (pstr) {
case "CustomOutputName":
name += ` <b>&nbsp; ➔ ${v}</b>`;
break;
default:
pstr = k.replace(/^WF/, "");
p.push(
`\n\t\t<div class="row"><div class="col1">${pstr}</div>\n\t\t\t<div class="col2">${gettext(
v
)}</div></div>`
);
}
}
}
name = name.replace("\ufffc9", (m) => {
let d = {
key: "state",
default: 1,
dict: {
0: "Off",
1: "On",
false: "Off",
true: "On"
},
...actionDict.param[m]
};
let k = param[d.key];
if (
name.substring(0, 5) === "Turn" ||
["turn", "set", undefined].includes(param.operation)
) {
if (k === undefined) {
return d.dict[d.default];
}
return `<span class="box">${
typeof k === "object" ? gettext(k) : d.dict[k]
}</span>`;
if (k !== undefined) {
console.log("great with the k");
p.push(
`\n\t\t<div class="row"><div class="col1">${
d.key
}</div>\n\t\t\t<div class="col2">${
typeof k === "object" ? gettext(k) : d.dict[k]
}</div></div>`
);
}
}
return "";
});
for (let m of mapNullOrUndef(name.match(/\$\ufffc\d/g), [])) {
let p = actionDict.param[m];
if (p == undefined) {
name = name.replace(m, '<span class="box"></span>&nbsp;');
} else {
name = name.replace(m, p);
}
}
if (p.length || (loop && flow !== 2)) {
let str = `\n<button class="button ${
id ? mapNullOrUndef(actionDict.group, "") : "gUnknown"
}${loop ? " nonbottom" + (flow > 0 ? " nontop" : "") : ""}${
indent ? " inside" : ""
}${
isbig || (loop && islong && !indent) ? " closed" : ""
}" id="m${idx}">\n${idx} ${name}</button>
<div class="content${
loop ? " contentloop" + (indent & 1 ? " dashed" : "") : ""
}${indent ? " inside" : ""}${
actionDict.WFWorkflowActionIdentifier === "is.workflow.actions.comment"
? " commentcontent"
: ""
}"${
isbig || (loop && islong && !indent) ? ' style="display:none"' : ""
}>`;
out.push(str);
out.concat(p);
if (!loop || flow == 2) {
out.push("</div>");
} else {
indent++;
}
} else {
out.push(
`\n<button class="${
id ? mapNullOrUndef(actionDict.group, "") : "gUnknown"
}${loop && flow > 0 ? " nontop" : ""}${
indent ? " inside" : ""
}" id="m${idx}">\n${idx} ${name}</button>`
);
if (loop && flow) {
if (flow == 1) {
loopIdx[0] = idx;
} else {
loopIdx.shift();
}
}
}
}
return out.join("");
})
.join("")
.replace(
/(<button class=")button (gLoop nonbottom(?: nontop)?)(?: closed)?((?:(?!<button).)+?)<div class="content contentloop[^>]+><\/div>/gs,
"$1$2$3"
);
delete d.WFWorkflowActions;
let paramstr = JSON.stringify(
Object.keys(d)
.sort()
.reduce((o, k) => ((o[k] = d[k]), o), {}),
null,
3
).replace(/^\{\n|^\}$|^ /gm, "");
paramstr = paramstr.replace(
/"ActionIndex": (\d+)/g,
'"ActionIndex": <span class="magic" onclick="magictap($1)"><b>$1</b></span>'
);
let shortcutname = "Muhrights";
let params = `<button class="button gParams closed">${shortcutname}</button><div class="content" style="display:none"><div class="col2">${paramstr}</div></div>`;
const completion = () => {};
console.log("muh freedoms!");
console.log(`${params}${output}`);
function gettext(i) {
switch (typeof i) {
case "object":
if (Array.isArray(i)) {
return (
"[" +
i.map((a) => JSON.stringify(gettext(a), null, 3)).join(",\n") +
"]"
).replace(/<span class=\\"[^>]/g, (m) => m.replace(/\\"/g, '"'));
} else {
if (i.Type) {
if (i.Type === "Variable") {
i = i.Variable;
} else {
return "?type" + i.Type;
}
}
if (Number.isInteger(i.WFItemType)) {
return getvalue(i);
}
let t = mapNullOrUndef(i.WFSerializationType, "");
switch (t) {
case "WFTextTokenAttachment":
return variablename(i.Value);
case "WFTextTokenString":
return stringify(i.Value);
case "WFDictionaryFieldValue":
return JSON.stringify(
getdict(i.Value),
(k, v) => {
return mobile && typeof v === "string" ? truncate(v, 1500) : v;
},
3
).replace(/<span class=\\"[^>]+>/g, (m) => m.replace(/\\"/, '"'));
case "WFQuantityFieldValue":
return (
variablename(mapNullOrUndef(i.Value.Magnitude, "")) +
" " +
i.Value.Unit
);
case "WFContentPredicateTableTemplate":
return predicate(i.Value);
case "WFINSpeakableStringSubstitutableState":
return i.Value
? i.Value.DisplayString.replace(/&/g, "&amp;").replace(
/</g,
"&lt;"
)
: "";
case "WFContactFieldValue":
return (
"[" +
mapNullOrUndef(i.Value.WFContactFieldValues, [])
.map((a) => JSON.stringify(a))
.join(",\n") +
"]"
);
default:
if (i.string) {
return stringify(i);
}
if (i["__type__"] === "date") {
return new Date(1000 * i["__value__"]).toLocalestring();
}
return gettext(JSON.stringify(i));
}
}
case "string":
return i.replace(/&/g, "&amp;").replace(/</g, "&lt;");
default:
return i;
}
}
function truncate(str, max, vsize) {
let m = str.match(/<span.+?<\/span>/g);
let n1 = 0;
let s = str;
if (m) {
n1 = m.length;
s = s.replace(/<span.+?<\/span>/g, "\ufffc");
}
if (s.length > max) {
str = s.substring(0, max - 20);
str += vsize
? `\n<b><i>${vsize
.toString()
.slice(0, -3)} kbytes; content truncated)</i></b>`
: "<b><i>(truncated)</i></b>";
if (m) {
let n2 = mapNullOrUndef(str.match(/\ufffc/g), []).length;
for (i = 0; i < n2; i++) {
str = str.replace("\ufffc", m[i]);
}
if (n1 > n2) {
str += `${vsize ? "\n" : ""}…${m.slice(n2).join(", ")}`;
}
}
}
return str;
}
function filtertext(f, d) {
let p = mapNullOrUndef(f.Property, "?prop");
let v = f.Values;
let t = d.type;
let o = mapNullOrUndef(condDict[f.Operator.toString()], "?op?");
let out = p + " " + o + " ";
switch (t) {
case "Bool":
return v.Bool ? p : p.replace(" ", "Not ");
case "Enumeration":
return (
out +
mapNullOrUndef(
v.Enumeration ? gettext(v.Enumeration.Value) : v.Enumeration,
mapNullOrUndef(d.default, "(default)")
)
);
case "Date":
if (f.Operator === 1002) {
return out;
}
if (f.Operator === 1003) {
return (
out +
gettext(mapNullOrUndef(v.Date, "now")) +
" and " +
gettext(mapNullOrUndef(v.AnotherDate, "now"))
);
}
if (f.Operator === 999) {
t = "Number";
d = { unit: "Unit" };
}
default:
out += gettext(mapNullOrUndef(v[t], "(anything)"));
if ((u = d.unit)) {
let unitv = mapNullOrUndef(v[u], p === "Duration" ? 32 : 4);
return out + " " + unitDict[u][unitv.toString()];
}
return out;
}
}
function variablename(v) {
if (typeof v !== "object") {
return JSON.stringify(v).replace(/&/g, "&amp;").replace(/</g, "&lt;");
}
let t = mapNullOrUndef(v.Type, "");
switch (t) {
case "Variable":
return '<span class="var"><b>[' + v.VariableName + aggr(v);
case "ActionOutput":
if ((u = v.OutputUUID) && Number.isInteger((i = udict[u]))) {
return;
`<span class="magic" onclick="magictap(${i})"><b>[${i}` +
v.OutputName +
aggr(v);
}
return '<span class="var"><b>[' + v.OutputName + aggr(v);
default:
return;
'<span class="var"><b>[' +
t.replace("ExtensionInput", "Shortcut Input") +
aggr(v);
}
}
function predicate(v) {
let filters = v.WFActioParamterFilterTemplates;
let out =
filters.length > 1
? `* ${
v.WFActionParamterFilterPrefix == 0 ? "Any of" : "All"
} the following are true\n`
: "";
out += filters
.map((f) => {
let p = mapNullOrUndef(f.Property, "");
if (p.includes("Date") || p === "Birthday") {
return filtertext(f, { type: "Date" });
}
if (p.substring(0, 3) === "Is " || p.substring(0, 4) === "Has ") {
return filtertext(f, { type: "Bool" });
}
let d = { type: "String" };
if (p !== "Album" || !f.Values.String) {
return filtertext(f, mapNullOrUndef(filterDict[p], d)).join("\n");
}
return filtertext(f, d);
})
.join("\n");
return out;
}
function stringify(o) {
let out = o.string.replace(/&/g, "&amp;").replace(/</g, "&lt;");
if (o.attachmentsByRange) {
Object.entries(o.attachmentsByRange)
.sort((a, b) => parseInt(a[0].substring(1)) - parseInt(b[0].substring(1)))
.forEach((a) => {
out = out.replace("\ufffc", variablename(a[1]));
});
}
return out;
}
const aggr = (o) => {
let oV = o ? o : {};
let out = "";
for (let a of mapNullOrUndef(oV.Aggrandizements, {})) {
switch (a.Type) {
case "WFCoercionVariableAggrandizement":
let c = a.CoercionItemClass;
out +=
" as " +
c
.slice(2, -11)
.replace("String", "Text")
.replace("Workflow", "Shortcut");
break;
case "WFDictionaryValueVariableAggrandizement":
out += `.${a.DictionaryKey}`;
break;
case "WFPropertyVariableAggrandizement":
out += "’s " + mapNullOrUndef(a.NegativePropertyName, a.PropertyName);
break;
default:
delete a.Type;
out += JSON.stringify(a)
.replace("WFDateFormatStyle", "Date")
.replace("WFTimeFormatStyle", "Time Style")
.replace("WFRelativeDateFormatStyle", "Relative Style");
}
}
return `</b>${out}<b>]</b></span>`;
};
function getdict(dict) {
const out = {};
for (const d of dict.WFDictionaryFieldValueItems) {
out[stringify(d.WFKey.Value)] = getvalue(d);
}
return out;
}
function getvalue(d) {
if (typeof d !== "object") {
return;
}
if (d.WFValue == null) return null;
switch (d.WFItemType) {
case 0:
return stringify(d.WFValue.Value);
case 1:
return getdict(d.WFValue.Value.Value);
case 2:
return d.WFValue.Value.map(getvalue);
case 3:
let v = d.WFValue.Value;
return v.attachementsByRange ? stringify(v) : Number(v.string);
case 4:
return d.WFValue.Value;
case 5:
return variablename(d.WFValue.Value.Value);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment