shortcuts-js icon indicating copy to clipboard operation
shortcuts-js copied to clipboard

All Actions to be implemented

Open joshfarrant opened this issue 5 years ago • 25 comments

This is an up-to-date list of all actions Shortcuts JS will eventually implement. Actions which have already been implemented will be ticked off as they are added.

For the moment, the list includes all Actions in the 'Scripting' list and 'Content Types' section from the Shortcuts app. There are a few Actions from 3rd party apps in those sections, so they have been included here too. Any requests for additional 3rd party app Actions which aren't on this list should be added as new issues, rather than as comments on this issue.

If you'd like to help out, then feel free to grab any Action from this list and implement it! Have a look at the Contributing Guide for more info on how to add a new Action.

If I've missed anything, please let me know! 🙂

Actions

Scripting

  • [x] Comment
  • [x] Show Result

Content

  • [x] Count
  • [x] Get Name
  • [x] Get Type
  • [x] Nothing
  • [x] Set Name
  • [x] View Content Graph

Control Flow

  • [x] Choose from Menu
  • [x] Continue Shortcut in App
  • [x] Exit Shortcut
  • [x] If
  • [ ] Repeat
  • [ ] Repeat with Each
  • [x] Wait
  • [x] Wait to Return - 💙 @Archez

Device

  • [x] Get Battery Level
  • [x] Get Current IP Address - 💙 @bachya
  • [x] Get Device Details - 💙 @bachya
  • [x] Get Network Details - 💙 @bachya
  • [x] Set Airplane Mode - 💙 @pietropizzi
  • [x] Set Bluetooth - 💙 @JB1905
  • [x] Set Brightness
  • [x] Set Cellular Data - 💙 @JB1905
  • [x] Set Do Not Disturb - 💙 @bachya
  • [x] Set Torch
  • [x] Set Low Power Mode
  • [x] Set Volume 💙 @ikaikastine
  • [x] Set Wi-Fi - 💙 @JB1905

Dictionaries

  • [x] Dictionary
  • [x] Get Dictionary from Input - 💙 @gcordalis
  • [x] Get Dictionary Value
  • [x] Set Dictionary Value - 💙 @gcordalis

Files

  • [x] Base64 Encode - 💙 @bachya
  • [x] Generate Hash - 💙 @bachya

Lists

  • [ ] Choose from List
  • [ ] Get Item from List
  • [x] List

Maths

  • [x] Calculate
  • [x] Calculate Statistics - 💙 @bachya
  • [ ] Convert Measurement
  • [ ] Format Number
  • [ ] Measurement
  • [x] Number
  • [x] Random Number - 💙 @bachya
  • [ ] Round Number

Notification

  • [x] Ask for Input
  • [x] Play Sound - 💙 @gcordalis
  • [x] Show Alert - 💙 @bachya
  • [x] Show Notification - 💙 @ikaikastine
  • [x] Vibrate Device - 💙 @Archez

Run Script Over SSH

  • [x] Run Script Over SSH - 💙 @Archez

Shortcuts

  • [x] Get My Shortcuts - 💙 @JB1905
  • [x] Run Shortcut

Variables

  • [x] Add to Variable - 💙 @Archez
  • [x] Get Variable - 💙 @Archez
  • [x] Set Variable

X-Callback

  • [ ] Open X-Callback URL
  • [x] URL Encode - 💙 @gcordalis

Editorial

  • [ ] Run Editorial Workflow

Pythonista

  • [x] Edit Script (Pythonista) - 💙 @bachya
  • [x] Run Script (Pythonista) - 💙 @bachya

Tally

  • [ ] Get Tally (Tally)
  • [ ] Update Tally (Tally)

Content Types

Apps

  • [x] Open App - 💙 @jtokash

App Store

  • [ ] Get Details of App Store App
  • [ ] Search App Store

Calendar

Calendar

  • [ ] Add New Event
  • [ ] Filter Event Attendees
  • [ ] Find Calendar Events
  • [ ] Get Details of Calendar Events
  • [ ] Get Details of Event Attendees
  • [ ] Get Upcoming Events
  • [ ] Remove Events
  • [x] Show in Calendar - 💙 @gcordalis

Clock

  • [ ] Create Alarm - 💙 @jakebathman
  • [ ] Start Timer
  • [ ] Toggle Alarm

Dates

  • [ ] Adjust Date
  • [x] Date - 💙 @xAlien95
  • [x] Format Date - 💙 @xAlien95
  • [x] Get Dates from Input - 💙 @gcordalis
  • [x] Get Time Between Dates - 💙 @regaw-leinad

Reminders

  • [ ] Add New Reminder
  • [ ] Find Reminders
  • [ ] Get Details of Reminders
  • [ ] Get Upcoming Reminders
  • [x] Remove Reminders - 💙 @gcordalis

Fantastical

  • [ ] Add Event via Fantastical
  • [ ] Add Reminder via Fantastical
  • [ ] Show in Fantastical

Contacts

Contacts

  • [ ] Contacts
  • [ ] Find Contacts
  • [x] Get Contacts from Input - 💙 @gcordalis
  • [ ] Get Details of Contacts
  • [ ] Select Contact

Mail

  • [ ] Email Address
  • [x] Get Email Addresses from Input - 💙 @gcordalis
  • [x] Select Email Address - 💙 @gcordalis

Payments

  • [ ] Request Payment
  • [ ] Send Payment

Phone

  • [ ] Call
  • [ ] FaceTime
  • [x] Get Phone Numbers from Input - 💙 @gcordalis
  • [ ] Phone Number
  • [x] Select Phone Number - 💙 @gcordalis

Skype

  • [ ] Call via Skype

Documents

Archives

  • [x] Extract Archive - 💙 @gcordalis
  • [x] Make Archive - 💙 @gcordalis

Books

  • [x] Open in Books - 💙 @JB1905

Editing

  • [x] Markup - 💙 @JB1905

File Storage

  • [ ] Append to File
  • [ ] Create Folder
  • [ ] Delete Files
  • [ ] Get File
  • [x] Get Link to File - 💙 @gcordalis
  • [ ] Save File

Files

  • [ ] Filter Files
  • [ ] Format File Size
  • [ ] Get Details of Files
  • [ ] Open In...

Previewing

  • [x] Quick Look - 💙 @JB1905

Printing

  • [ ] Make PDF
  • [x] Print - 💙 @JB1905

Bear

  • [ ] Add to Bear Note
  • [ ] Create Bear Note
  • [ ] Create Bear Note from URL
  • [ ] Get Contents of Bear Note
  • [ ] Open Bear Note
  • [ ] Search in Bear

Drafts

  • [ ] Add to Draft
  • [ ] Get Contents of Draft
  • [ ] Open Draft
  • [ ] Run Drafts Action

Evernote

  • [ ] Append to Note
  • [ ] Create New Note
  • [ ] Delete Notes
  • [ ] Get Note Link
  • [ ] Get Notes

GoodReader

  • [ ] Open in GoodReader

Ulysses

  • [ ] Add to Ulysses Sheet
  • [ ] Attach to Ulysses Sheet
  • [ ] Get Details of Ulysses Sheet
  • [ ] Get Ulysses Sheet
  • [ ] New Ulysses Group
  • [ ] New Ulysses Sheet
  • [ ] Open Ulysses

Health

Health

  • [ ] Find Health Samples
  • [ ] Get Details of Health Sample
  • [ ] Log Health Sample
  • [ ] Log Workout

Home

Home

  • [ ] Run Home Scene

Location

  • [ ] Filter Locations
  • [ ] Get Current Location
  • [ ] Get Details of Locations

Maps

  • [x] Get Addresses from Input - 💙 @gcordalis
  • [ ] Get Distance
  • [ ] Get Halfway Point
  • [x] Get Maps URL - 💙 @JB1905
  • [ ] Get Travel Time
  • [ ] Search Local Businesses
  • [ ] Show Directions
  • [x] Show in Maps - 💙 @JB1905
  • [ ] Street Address

Weather

  • [ ] Get Current Weather
  • [ ] Get Details of Weather Conditions
  • [ ] Get Weather Forecast

BlindSquare

  • [ ] Show in BlindSquare

Music

iTunes Store

  • [ ] Get Details of iTunes Artist
  • [ ] Get Details of iTunes Product
  • [ ] Search iTunes Store
  • [x] Show in iTunes Store - 💙 @gcordalis

Music

  • [ ] Add to Playlist
  • [ ] Add to Up Next
  • [x] Clear Up Next - 💙 @gcordalis
  • [ ] Clear Playlist
  • [ ] Find Music
  • [x] Get Current Song - 💙 @gcordalis
  • [ ] Get Details of Music
  • [ ] Get Playlist
  • [ ] Play Music
  • [ ] Select Music

Playback

  • [x] Pause Music - 💙 @ikaikastine
  • [x] Set Volume - 💙 @ikaikastine
  • [x] Skip Back - 💙 @ikaikastine
  • [x] Skip Forward - 💙 @ikaikastine

Photos & Video

Audio

  • [ ] Record Audio

Camera

  • [ ] Take Photo
  • [ ] Take Video

Editing

  • [ ] Combine Images
  • [ ] Crop Image
  • [ ] Flip Image
  • [x] Markup - 💙 @JB1905
  • [ ] Mask Image
  • [ ] Overlay Image
  • [ ] Resize Image
  • [ ] Rotate Image

GIFs

  • [ ] Add Frame to GIF
  • [x] Get Frames from Image - 💙 @gcordalis
  • [ ] Make GIF
  • [ ] Make Video from GIF

Images

  • [ ] Convert Image
  • [ ] Filter Images
  • [ ] Get Details of Images
  • [x] Get Images from Input - 💙 @gcordalis

Photos

  • [x] Delete Photos - 💙 @gcordalis
  • [ ] Find Photos
  • [x] Get Last Import - 💙 @gcordalis
  • [x] Get Latest Bursts - 💙 @gcordalis
  • [x] Get Latest Live Photos - 💙 @gcordalis
  • [ ] Get Latest Photos
  • [x] Get Latest Screenshots - 💙 @gcordalis
  • [x] Get Latest Videos - 💙 @gcordalis
  • [ ] Save to Photo Album
  • [ ] Select Photos

Video

  • [ ] Encode Media
  • [x] Trim Media - 💙 @gcordalis

Imgur

  • [ ] Upload to Imgur

Lightroom

  • [ ] Import to Lightroom

Sharing

Clipboard

  • [ ] Copy to Clipboard
  • [x] Get Clipboard - 💙 @gcordalis

Mail

  • [ ] Send Email

Messaging

  • [ ] Send Message

Notes

  • [x] Create Note - 💙 @JB1905

Photos

  • [ ] Post to Shared Album

System

  • [x] AirDrop - 💙 @JB1905
  • [x] Share - 💙 @gcordalis
  • [x] Share with Extensions - 💙 @gcordalis

Facebook

  • [x] Post on Facebook - 💙 @JB1905

Instagram

  • [x] Post on Instagram - 💙 @JB1905

Tumblr

  • [x] Post to Tumblr - 💙 @JB1905

Tweetbot

  • [ ] Open Tweetbot
  • [ ] Search Text
  • [ ] Tweet
  • [ ] View Profile in Tweetbot

Twitter

  • [x] Tweet - 💙 @JB1905

WhatsApp

  • [ ] Send Message via WhatsApp
  • [ ] Send Photo via WhatsApp

WordPress

  • [x] Post to WordPress - 💙 @JB1905

Text

  • [x] Detect Language with Microsoft - 💙 @gcordalis
  • [ ] Dictate Text
  • [ ] Generate QR Code
  • [x] Get Name of Emoji - 💙 @gcordalis
  • [x] Get Text from Input - 💙 @gcordalis
  • [x] Scan QR/Barcode - 💙 @gcordalis
  • [x] Show Definition - 💙 @gcordalis
  • [ ] Speak Text
  • [x] Text
  • [ ] Translate Text with Microsoft

Rich Text

  • [ ] Make HTML from Rich Text
  • [x] Make Markdown from Rich Text - 💙 @gcordalis
  • [x] Make Rich Text from HTML - 💙 @gcordalis
  • [x] Make Rich Text from Markdown - 💙 @gcordalis

Text Editing

  • [ ] Change Case
  • [ ] Combine Text
  • [x] Correct Spelling - 💙 @gcordalis
  • [ ] Get Group from Matched Text
  • [x] Match Text - 💙 @gcordalis
  • [ ] Replace Text
  • [ ] Split Text

2Do

  • [ ] Add 2Do Task

Captio

  • [ ] Append to Note
  • [ ] Send Note

Clear

  • [ ] Add Clear List
  • [ ] Add Clear Task

Day One

  • [ ] Create Day One Entry

Due

  • [ ] Add Due Reminder

iTranslate

  • [ ] Show in iTranslate

OmniFocus

  • [ ] Add OmniFocus Item
  • [ ] Add TaskPaper to OmniFocus

The Hit List

  • [ ] Add Task to The Hit List

Things

  • [ ] Add Things To-Do

Todoist

  • [ ] Add Todoist Item

Trello

  • [ ] Add Trello Card
  • [ ] Create Trello Board
  • [ ] Create Trello List
  • [ ] Get Details of Trello Item
  • [ ] Get Trello Items

Wunderlist

  • [ ] Add Wunderlist Task

Web

Articles

  • [ ] Filter Articles
  • [ ] Get Details of Diffbot Article
  • [x] Get Diffbot Article from Web Page - 💙 @gcordalis

Giphy

  • [ ] Search Giphy

Safari

  • [x] Add to Reading List - 💙 @gcordalis
  • [x] Get Contents of Web Page - 💙 @gcordalis
  • [ ] Get Details of Safari Web Page
  • [x] Open URLs - 💙 @gcordalis
  • [x] Run JavaScript on Web Page - 💙 @gcordalis
  • [ ] Search Web
  • [ ] Show Web Page

URLs

  • [x] Expand URL - 💙 @gcordalis
  • [ ] Get Component of URL
  • [x] Get Contents of URL
  • [x] Get Headers of URL - 💙 @gcordalis
  • [ ] Get Items from RSS Feed
  • [ ] Get RSS Feeds from Page
  • [x] Get URLs from Input - 💙 @gcordalis
  • [x] URL

Associate

  • [ ] Convert URL with Associate
  • [ ] Search in Associate

Blink

  • [ ] Convert URL with Blink
  • [ ] Search in Blink

Chrome

  • [x] Open URLs in Chrome - 💙 @JB1905

CloudApp

  • [ ] Upload to CloudApp

Instapaper

  • [ ] Add to Instapaper
  • [ ] Get Instapaper Bookmarks

Opener

  • [ ] Open URL in Opener

Overcast

  • [ ] Add to Overcast

Pinboard

  • [ ] Add to Pinboard
  • [ ] Get Pinboard Bookmarks

Pocket

  • [ ] Add to Pocket
  • [ ] Get Items from Pocket

joshfarrant avatar Nov 19 '18 09:11 joshfarrant

  • [ ] Set Mobile Data - 💙 @JB1905

@joshfarrant, just a small update: in Actions > Device, "Set Mobile Data" should be "Set Cellular Data" now 🙂 (#24)

xAlien95 avatar Dec 01 '18 13:12 xAlien95

@xAlien95 🤘

joshfarrant avatar Dec 01 '18 18:12 joshfarrant

With the update to 2.1.2 today there is a new action to add to the list! Post to Tumblr

gcordalis avatar Dec 05 '18 20:12 gcordalis

30% of the way there! 🎉

joshfarrant avatar Dec 07 '18 09:12 joshfarrant

  • [ ] Date
  • [ ] Format Date

@joshfarrant, Date and Format Date actions have been added in #47 🙂

xAlien95 avatar Dec 12 '18 21:12 xAlien95

@xAlien95 I just noticed that there was a discrepancy in counts and was cursing myself for making a mistake somewhere. Thanks for spotting it and saving me having to check them one-by-one! 💙

joshfarrant avatar Dec 12 '18 21:12 joshfarrant

Some minor errors I've found while working on the documentation:

  • "Scripting" > "Choose From Menu" section should be named "Control Flow"
  • "Scripting" > "Device" > "Set Value" action should be named "Set Volume"
  • There's an "a" missing in "Apps" > "App Store" > "Get Detils of App Store App"
  • "Photos & Video" > "Editing" > "Markup" has already been implemented by @JB1905, that action is repeated twice in the "Actions" and "Content Types" sections.

I don't seem to find the "Photos & Video" > "Lightroom" > "Import to Lightroom" action. I also tried setting the language to English-US and downloading Adobe Lightroom CC, but that action didn't pop up.

xAlien95 avatar Dec 25 '18 01:12 xAlien95

Thanks! I’ll fix these tomorrow 👍

joshfarrant avatar Dec 25 '18 10:12 joshfarrant

  • [ ] Set Volue

@joshfarrant, "Set Volume" 👍

xAlien95 avatar Dec 28 '18 13:12 xAlien95

🤦‍♂️🤦‍♂️🤦‍♂️

joshfarrant avatar Dec 28 '18 13:12 joshfarrant

"Set volume" is duplicated (is visible as Device and Playback action) and it has already been implemented by @ikaikastine.

JB1905 avatar Jan 06 '19 14:01 JB1905

@JB1905 thanks!

joshfarrant avatar Jan 07 '19 07:01 joshfarrant

  • "Calendar" > "Clock" > "Create Alarm" has been implemented by @jakebathman in #55
  • there's a misspelling in "Sharing" > "WhatsApp" > "Send Mesage via WhatsApp"
  • "Photos & Video" > "Lightroom" > "Import to Lightroom" is available again, it should be added to the list

xAlien95 avatar Jan 27 '19 23:01 xAlien95

Sorted!

joshfarrant avatar Feb 03 '19 16:02 joshfarrant

@joshfarrant, there's probably an extra space in "Import to Lightroom" since the checkmark markdown is off.
Then I think (hope) everything will be in place 😁

xAlien95 avatar Feb 03 '19 19:02 xAlien95

@joshfarrant Thanks for this. Any idea when send SMS will be available. That would help me a lot. Thanks again. Love and peace, Joe

JoeCodeswell avatar Mar 06 '19 19:03 JoeCodeswell

@joshfarrant the Contributing Guide link on this issue points to an old location.

rowellx68 avatar Mar 07 '19 12:03 rowellx68

Good spot, thanks @rowellx68 - fixed now 👍

@JoeCodeswell I'll take a look at that for you, no guarantee on timeframe but it'll be the next thing I do

joshfarrant avatar Mar 07 '19 13:03 joshfarrant

Waiting for repeat with each action :smile:

sayem314 avatar Jul 17 '19 06:07 sayem314

I am thinking those definitions can be auto generated, anyone tried that before? Otherwise I will try to jump into it.

bluesign avatar Jul 22 '19 08:07 bluesign

@bluesign I'm not sure if it's been looked into before, but if it's possible it would be a big help. If you want to take a look then please do feel free, and let me know if I can help at all.

joshfarrant avatar Jul 22 '19 09:07 joshfarrant

@joshfarrant, I finished the first part with dumping possible actions, I am using iOS 13, so there are total 335 actions there, with 83 different parameter types.

Also there are some constraints on values to provide (WFCommentActionText cannot accept user input or variable for example) or like some functions are available only iPad etc.

I think it is totally possible to generate js class files from this functions.

I am attaching the dump. When I have some free time, I will try to generate

PS: some actions can be missing, as I dumped from the simulator.

sc.txt

bluesign avatar Jul 22 '19 17:07 bluesign

@bluesign It's been a while, but is there any chance you could give me a quick rundown of how you pulled that data from the simulator? I'd be interested in grabbing the latest data and seeing if I can generate some code from it.

joshfarrant avatar Nov 19 '19 12:11 joshfarrant

@joshfarrant, you can get the WFActions.plist following @pfgithub's guide at here.

xAlien95 avatar Nov 19 '19 12:11 xAlien95

I will implement Replace Text Action. Please mark it.

hellomsg avatar Mar 14 '20 14:03 hellomsg