# Alfred 4でのWorkflowの作り方とWorkflow Objectのまとめ URL: https://webrandum.net/alfred4-how-to-create-workflow/ 公開日: 2019-07-30 更新日: 2019-08-03 カテゴリー: 作業効率化 タグ: Alfred 出典: Webrandum(著者: サイトウ マサカズ) Alfred 3のときにもWorkflowに関する[記事](https://webrandum.net/alfred-launch-applications/)は書いたのですが、Alfred 4になってUIが変わったり、新しい機能も追加されているので、改めて作り方をまとめておきます。 [Alfredで複数のアプリケーションを一気に起動できるようにする](https://webrandum.net/alfred-launch-applications) ちなみにWorkflowはAlfredのPowerpack(有料版)でなければ使用できないので、ご注意ください。 ## Workflowとは何か? Alfredの検索ボックスに「キーワード」と「引数」を入力することで、引数をもとに情報を引っ張って、ちょっとした自動化が可能です。 Workflowは他人が作ったものを使用することもできて、[公式サイト](https://www.alfredapp.com/workflows/)からもWorkflowのインポートが可能です。 [Alfred Workflows - Extend Alfred and Boost Your Productivity](https://www.alfredapp.com/workflows/) ## Workflowの基本的な作り方 ### Workflowファイルの作成 Alfredの[環境設定]→[Workflows]画面を開いて、サイドバーの下の方にある「+」ボタンを押し、[Blank Workflow]を選択します。 ![Blank Workflow](https://webrandum.net/mskz/wp-content/uploads/2019/07/image_1-24-1024x599.png) Workflowの情報を入力するパネルが表示されるので、必要情報を入力します。 ![Workflowの名前入力](https://webrandum.net/mskz/wp-content/uploads/2019/07/image_2-21-1024x590.png) | 項目 | 入力内容 | 備考 | | --- | --- | --- | | Name | Workflowの名前を入力 |   | | --- | --- | --- | | Description | Workflowの説明文を入力 |   | | --- | --- | --- | | Category | Workflowのカテゴリを選択 | 自分のAlfred内だけの設定。エクスポート時にはこの情報は消える | | --- | --- | --- | | Bundle Id | Workflow固有のIDを設定 (入力しておくことでアップデート時にWorkflowを認識する) | 「com.自分の名前.Workflowの名前」というフォーマットがよく使われるらしい | | --- | --- | --- | | Created By | 作成者である自分の名前を入力 |   | | --- | --- | --- | | Website | ウェブサイトがある場合はURLを入力 |   | | --- | --- | --- | 入力できたら「Create」ボタンをクリックします。 これで空のWorkflowの作成はできました。 ### Workflow Objectの設定 作成したWorkflowの中に、Workflow Objectと呼ばれる「細かい指示」を配置し、それらをつなぎ合わせることでWorkflowは動作するようになります。 ![Workflow Objectの追加](https://webrandum.net/mskz/wp-content/uploads/2019/07/image_3-14-1024x590.png) 右半分の背景が黒い場所で、右クリックをして指定のWorkflow Objectを選択します。 このWorkflow Objectには5つのタイプがあり、それぞれ下記の特徴があります。 - Trigger:ホットキーやAlfredの機能からWorkflowを発火する - Input:アクションを実行するために必要なキーの入力をする - Action:Workflowで必要な作業を実行する - Utilities:Workflowをコントロールする特殊なWorkflow Object - Output:Inputから取得した情報を出力したり、外部の操作を行う これらをつなぎ合わせる必要があるのですが、たいていの場合、「Trigger」か「Input」で開始し、必要に応じて「Utilities」で間の処理や調整を行い、「Output」か「Action」で出力やアクションを発生するという流れになります。 ![Workflowの流れ](https://webrandum.net/mskz/wp-content/uploads/2019/07/image_4-9.png) ここからはカテゴリごとに、どんなWorkflow Objectがあるのかひと通りまとめていきます。 #### Triggers ホットキーやAlfredの機能からWorkflowを発火するWorkflow Objectです。 この中ではおそらくHotkeyが1番利用頻度が高いと思います。 | オブジェクト名 | できること | | --- | --- | | Hotkey | コマンドの入力で実行される | | --- | --- | | Remote | Alfred Remoteから実行 | | --- | --- | | Snippet | スニペット一覧から実行 | | --- | --- | | External | 外部のAppleScriptから実行 | | --- | --- | | File Action | Alfredのファイル操作一覧から実行 | | --- | --- | | Contact Action | Alfredの連絡先一覧から実行 | | --- | --- | | Fallback Search | Default Resultsのフォールバック検索で実行 | | --- | --- | #### Inputs アクションを実行するために必要なキーの入力をするWorkflow Objectです。 Alfredの強みはやはり検索ボックスに何かしら単語を入力して、それを引数にしてあれこれ処理をすることだと思っているので、これらのWorkflow Objectは非常に魅力的です。 また、Inputは基本的にOutputとセットで使うことが多いです。 | オブジェクト名 | できること | 備考 | | --- | --- | --- | | Keyword | キーと引数を設定する | 引数は「必須」「可能」「なし」の中から選択 | | --- | --- | --- | | File Filter | キーと引数を設定し、引数でファイルを検索する |   | | --- | --- | --- | | Dictionary Filter | キーの設定と、開きたい辞書の言語設定が可能 |   | | --- | --- | --- | | List Filter | 固定のリストを作成可能 | Script Filterほど高度な機能は不要ないときに使用 | | --- | --- | --- | | Script Filter | スクリプトの実行結果を一覧に表示する | コードで書きたい場合は大抵これを使用 | | --- | --- | --- | #### Actions ファイルを開いたりアプリを開いたり、何かしらのアクションを行うWorkflow Objectです。 | オブジェクト名 | できること | 備考 | | --- | --- | --- | | Open File | 指定ファイルを開く |   | | --- | --- | --- | | Launch Apps / Files | 指定したアプリやファイルを開く |   | | --- | --- | --- | | Reveal File in Finder | 指定したファイルをFinderで開く |   | | --- | --- | --- | | Browse in Terminal | 指定したファイルをターミナルで開く |   | | --- | --- | --- | | Browse in Alfred | 指定したファイルをAlfredのFile Navigation Systemで開く |   | | --- | --- | --- | | Default Web Search | デフォルトのブラウザで検索する |   | | --- | --- | --- | | Open URL | 指定したURLを開く | 単体だとWeb Searchと同じ機能 | | --- | --- | --- | | System Command | Alfredのシステムコマンドを実行する |   | | --- | --- | --- | | iTunes Command | iTunesの操作を行う |   | | --- | --- | --- | | Run Script | bash / zsh / PHP / Ruby / Python / Perl / OsaScriptを実行する |   | | --- | --- | --- | | Run NSAppleScript | NSApple Scriptを実行する |   | | --- | --- | --- | | Terminal Command | 入力したスクリプトをターミナルで実行する |   | | --- | --- | --- | #### Utilities Workflowをコントロールする特殊なWorkflow Objectになります。 Workflow Objectの間にかませることで機能します。 | オブジェクト名 | できること | 備考 | | --- | --- | --- | | Arg and Vars | 前のアクションで入力された引数を変数に入れる |   | | --- | --- | --- | | Split Arg to Vars | 前のアクションで入力された引数を複数の変数に分割する |   | | --- | --- | --- | | Junction | Workflowの整理を行うためのオブジェクト |   | | --- | --- | --- | | Conditional | 前のアクションで入力された引数に一致する条件に応じて、別のパスをたどるように設定可能 | 簡単なif文(条件分岐)だと思えばいい | | --- | --- | --- | | Filter | Conditionalより複雑な条件分岐が可能 |   | | --- | --- | --- | | Delay | 遅延の追加が可能 |   | | --- | --- | --- | | Transform | データのフォーマットを整えられる |   | | --- | --- | --- | | Replace | 前のアクションで入力された引数を、別のフォーマットに置き換えることが可能 |   | | --- | --- | --- | | Random | ランダムに結果を返す |   | | --- | --- | --- | | Hide Alfred | Alfredを隠す |   | | --- | --- | --- | | Show Alfred | 前のアクションで入力された引数が、Alfredに入力された状態で表示する |   | | --- | --- | --- | | JSON Config | JSONを使用して、データを編集することが可能 |   | | --- | --- | --- | | Debug | デバッグ用のWorkflow Object |   | | --- | --- | --- | #### Outputs Inputから取得した情報を出力したり、外部の操作を行うWorkflow Objectです。 | オブジェクト名 | できること | 備考 | | --- | --- | --- | | Post Notification | 通知を出す | | --- | --- | | Large Type | 画面中央にテキストを表示するLarge Typeを使う | | --- | --- | | Copy to Clipboard | クリップボードにコピーする | | --- | --- | | Write Text File | テキストファイルを作成する | | --- | --- | | Play Sound | 音を再生する | | --- | --- | | Dispatch Key Combo | キーストロークの組み合わせを実行する | | --- | --- | | Call External Trigger | Workflowの外部トリガーを呼び出す | | --- | --- | ## まとめ コードを書く必要のあるWorkflow Objectもありますが、コードを書かなくてもいいWorkflow Objectが大半なので、比較的簡単に効率化ができると思います。