Mac のカスタムワークフロー

コピーした内容を、自分だけの繰り返し可能なアクションへ。

視覚的なステップまたはコードでワークフローを作り、対応するクリップボード形式を選び、Pasteon の標準アクションの横から実行できます。

視覚的な Steps またはコードSimple と Script Filterローカルでスクリプト実行
ワークフローエディタ
ステップ有効
1
テキストを照合
「user」を含む
2
テキストを整理
空白と改行
3
ケースを変換
snake_case
4
テキストを返す
結果をペーストまたはコピー
+ ステップを追加
インスペクタ

ケースを変換

スタイル
snake_case
入力
{{input}}
テスト結果成功 · 0.8 ms
hello world
hello_world
作り方を選ぶ

まず視覚的に。必要になったらコードへ。

Workflow は保存された処理レシピです。選択中のクリップボード項目が指定した入力に合うときだけ、その Action が Pasteon に表示されます。

1
おすすめ

Steps

条件、変換、スクリプト、1 つの最終出力を直線的に並べます。各ステップをインスペクタで設定し、テスト前後の値を比較できます。

最適な用途: テキスト整形、テンプレート、形式変換、ファイル生成
2
上級

Code

インタープリタ、引数、作業フォルダ、タイムアウトを指定して、インラインコードまたは外部スクリプトを実行します。単一結果には Simple、動的候補には Script Filter を使います。

最適な用途: 独自ツール、開発自動化、動的なアクション一覧
ステップ別チュートリアル

4 ステップでテキスト整形ワークフローを作成。

この例では、コピーした文字列の空白を整え、命名形式を統一し、作業中の App に結果を返します。

01 / 作成

Workflow を作成して入力形式を選ぶ

設定 → Workflows を開き、Workflow を追加して名前とアイコンを設定し、表示対象のクリップボード形式を選びます。

02 / 構築

実行順に変換ステップを追加

テキスト整理、ケース変換などを追加し、ドラッグで並べ替えます。Output は最後に固定されるため、処理順が明確です。

03 / テスト

現在のクリップボードでテスト

テストでは実際のコピー、ペースト、URL オープンは行いません。各ステップの前後値、時間、検証状態を確認できます。

04 / 実行

有効にして Pasteon Actions から実行

Workflow は標準 Primary Actions の直後に表示されます。クリックまたは Enter でペーストし、Command を押すとコピーのみ行います。

視覚的なステップライブラリ

一般的な処理は組み合わせ、特別な部分だけスクリプトに。

ステップは上から順に実行されます。条件は Action の適用を判断し、変換は現在値を更新し、1 つの出力が Pasteon の動作を決めます。

条件

テキスト照合コピー元 App貼り付け先 App

変換

空白整理置換 / Regexケース変換URL エンコード / デコードJSON 整形 / 圧縮テンプレートOCR

スクリプト

インラインコード外部スクリプト独自インタープリタ

出力

テキストを返すファイルを作成PNG ファイルFinder に表示URL を開く
コードワークフロー

1 つのスクリプトで、結果または選択肢を返せます。

Pasteon は stdin にバージョン付き JSON を送り、stdout からプロトコル JSON を読みます。ログは stderr に出力し、タイムアウト、キャンセル、出力制限で安全に管理します。

Simple Workflow

1 回実行し、1 つの結果を返す

1 つの Action がテキスト、ファイル、URL のいずれか 1 結果を生成する場合に使います。

{
  "version": 1,
  "result": {
    "type": "text",
    "value": "Ready to paste"
  }
}
Script Filter Workflow

選択肢を先に示し、選ばれたものだけ実行

Filter フェーズは軽量な候補情報だけを返します。ユーザーが選んだ後に Pasteon が execute を実行します。

{
  "version": 1,
  "actions": [
    {
      "id": "swift",
      "title": "Generate Swift Model",
      "argument": { "language": "swift" }
    }
  ]
}
01

Filter

スクリプトは phase「filter」を受け取り、最大 20 件の候補 Action を返します。

02

選択

Pasteon は結果を事前計算せず、タイトル、説明、アイコン、JSON 引数を表示します。

03

Execute

選択した actionId と argument をスクリプトへ返し、その結果だけを計算します。

stdout はプロトコル JSON 専用です。診断は stderr に出力してください。インラインと外部スクリプトは同じ契約を使います。

WorkflowDefinition

Workflow 設定フィールド

Workflow の表示条件と Pasteon がスクリプトを起動する方法を指定します。

フィールド必須役割
idUUIDYesStable Workflow identifier used for updates, Filter sessions, import conflict detection, and workflowID input.
defaultIntroducedVersionInteger | nullBundled onlyCatalog version that introduced a bundled default. It lets upgrades install only newly added defaults without restoring ones a user deleted.
nameStringYesThe Workflow and Action name shown in Settings and the Pasteon action list.
nameLocalizationKeyString | nullBundled onlyOptional String Catalog key used to localize the name of a bundled Workflow. User edits clear this key.
summaryStringNoA short explanation displayed beside the Action. It does not affect execution.
summaryLocalizationKeyString | nullBundled onlyOptional localization key for the bundled Workflow summary.
symbolNameSF Symbol nameYesThe icon used by the Workflow Action. Invalid candidate icons fall back to this symbol.
isEnabledBooleanYesDisabled Workflows remain saved but do not generate Actions.
requiresTrustConfirmationBoolean | nullImportedMarks imported code as untrusted. Pasteon sets this to true and disables the Workflow until the user confirms it.
sortOrderNumberYesControls the order of Custom Workflow Actions after built-in Primary Actions.
modesimple | scriptFilterYesSimple executes immediately. Script Filter runs filter first, then execute after a candidate is chosen.
supportedTypesPasteType[]YesClipboard types where the Action may appear: text, markdown, html, json, url, color, date, timestamp, fileURL, imageURL, videoURL, image, or appObject.
editorModesteps | codeNoSelects the visual linear editor or script editor. Older Workflow files without this field use Code.
script.sourceinline | externalCodeInline stores code inside the Workflow. External references a script on disk.
script.codeStringInlineThe inline script body. Pasteon writes it to a temporary file for each run.
script.codeResourceResource name | nullBundled onlyBundle resource containing code for a default Workflow. Exported user Workflows carry resolved inline code instead.
script.scriptPathFile pathExternalPath to the external script. Tilde paths are expanded. Missing files keep the configuration but prevent an Action from appearing.
script.interpreterPathExecutable pathInlineExecutable used to run the script, such as /bin/zsh or the result of which node. External executable scripts may leave it empty.
script.argumentsString[]NoArguments passed as an array before the generated or external script path. Pasteon does not join them into a shell command.
script.workingDirectoryDirectory pathNoCurrent directory for the process. When empty, external scripts use their folder and inline scripts use the temporary input folder.
script.filterTimeoutSecondsFilterMaximum Filter duration. Values are clamped to 1–120 seconds; the default is 5.
script.executeTimeoutSecondsYesMaximum Execute duration. Values are clamped to 1–120 seconds; the default is 15.
stepsWorkflowStep[] | nullStepsOrdered linear step definitions. Steps mode requires Simple mode and exactly one final output. OCR enables image input; PNG File and Open in Finder apply stricter input-type rules.
variablesWorkflowVariableDefinition[] | nullNoReusable Text or Secret values available to Steps templates and Code Workflow stdin. Names must be unique within the Workflow.
WorkflowInvocationInput

stdin に送信される JSON

ユーザーが実行した後に生成され、バイナリデータは一時ファイルとして渡されます。

フィールド必須役割
versionIntegerYesWorkflow protocol version. The current and only supported value is 1.
workflowIDUUID StringYesStable identifier of the Workflow being run.
phasefilter | executeYesTells a shared script which stage to run. Simple Workflows receive execute only.
paste.idUUID StringYesIdentifier of the selected Pasteon history item.
paste.typePasteTypeYesThe derived clipboard content type used for Workflow visibility and script logic.
paste.textString | nullNoText form of the selected content when available. Files and binary images may not have text.
paste.sourceAppBundleIdentifierString | nullNoBundle identifier of the app where the clipboard item was originally copied.
paste.representationsRepresentation[]YesAll available pasteboard representations. Text may be inline; binary data is exposed by file path.
targetApp.bundleIdentifierString | nullNoBundle identifier of the frontmost app that will receive the result.
targetApp.nameString | nullNoLocalized display name of the frontmost target app.
directories.inputDirectory pathYesTemporary run directory containing the inline script and materialized binary inputs. Removed after the run.
directories.outputDirectory pathYesDirectory where the script should create returned files. Unused output directories are cleaned after 24 hours.
variablesRecord<String, String>YesResolved variables keyed by name. Text and Secret values are available during both Filter and Execute.
actionIDString | nullExecute after FilterID of the candidate chosen from Filter output. Null during filter and for Simple Workflows.
argumentJSON value | nullExecute after FilterThe selected candidate’s argument, returned unchanged so execute can compute only that choice.
Execute 入力例
{
  "version": 1,
  "workflowID": "5F604A89-7AC2-45D9-B48C-BB540B60CA67",
  "phase": "execute",
  "paste": {
    "id": "D0A4E45A-61F6-4DAF-BC1E-4E17A23AA5C0",
    "type": "json",
    "text": "{\"name\":\"Pasteon\"}",
    "sourceAppBundleIdentifier": "com.apple.Safari",
    "representations": [
      {
        "type": "public.utf8-plain-text",
        "value": "{\"name\":\"Pasteon\"}",
        "path": null,
        "fileName": null,
        "fileSize": 18,
        "temporary": false
      }
    ]
  },
  "targetApp": {
    "bundleIdentifier": "com.apple.dt.Xcode",
    "name": "Xcode"
  },
  "directories": {
    "input": "/tmp/Pasteon/WorkflowInputs/RUN_ID",
    "output": "~/Library/Application Support/Pasteon/WorkflowOutputs/RUN_ID"
  },
  "variables": {
    "API_BASE_URL": "https://api.example.com",
    "API_TOKEN": "••••••••"
  },
  "actionID": "swift",
  "argument": { "language": "swift" }
}

Read Workflow input in common languages

Each example reads the complete stdin payload, accesses paste.text and a PREFIX Workflow variable, then writes one valid Simple Workflow result to stdout.

JavaScript / Node.js

Use file descriptor 0 with the Node.js standard library.

/opt/homebrew/bin/node
const fs = require("node:fs");

const payload = JSON.parse(fs.readFileSync(0, "utf8"));
const text = payload.paste?.text ?? "";
const prefix = payload.variables?.PREFIX ?? "";

process.stdout.write(JSON.stringify({
  version: 1,
  result: { type: "text", value: prefix + text }
}));
Python 3

Use json.load with sys.stdin and json.dump with sys.stdout.

/opt/homebrew/bin/python3
import json
import sys

payload = json.load(sys.stdin)
text = payload.get("paste", {}).get("text") or ""
prefix = payload.get("variables", {}).get("PREFIX", "")

json.dump({
    "version": 1,
    "result": {"type": "text", "value": prefix + text}
}, sys.stdout)
Ruby

Read $stdin, parse with JSON, and write only protocol JSON.

/opt/homebrew/bin/ruby
require "json"

payload = JSON.parse($stdin.read)
text = payload.dig("paste", "text") || ""
prefix = payload.dig("variables", "PREFIX") || ""

$stdout.write(JSON.generate({
  version: 1,
  result: { type: "text", value: prefix + text }
}))
PHP

Read the STDIN stream and use PHP’s built-in JSON functions.

/opt/homebrew/bin/php
<?php
$payload = json_decode(stream_get_contents(STDIN), true);
$text = $payload["paste"]["text"] ?? "";
$prefix = $payload["variables"]["PREFIX"] ?? "";

echo json_encode([
    "version" => 1,
    "result" => ["type" => "text", "value" => $prefix . $text]
]);
Swift

Read FileHandle.standardInput and decode with Foundation.

/usr/bin/swift
import Foundation

let data = FileHandle.standardInput.readDataToEndOfFile()
let payload = try JSONSerialization.jsonObject(with: data) as? [String: Any]
let paste = payload?["paste"] as? [String: Any]
let variables = payload?["variables"] as? [String: String]
let text = paste?["text"] as? String ?? ""
let prefix = variables?["PREFIX"] ?? ""

let response: [String: Any] = [
    "version": 1,
    "result": ["type": "text", "value": prefix + text]
]
let output = try JSONSerialization.data(withJSONObject: response)
FileHandle.standardOutput.write(output)
Zsh + jq

Zsh reads the raw payload; jq performs JSON parsing and encoding.

/bin/zsh
#!/bin/zsh
set -euo pipefail

payload="$(cat)"
text="$(printf '%s' "$payload" | jq -r '.paste.text // ""')"
prefix="$(printf '%s' "$payload" | jq -r '.variables.PREFIX // ""')"

jq -n --arg value "$prefix$text" '{
  version: 1,
  result: {type: "text", value: $value}
}'

Pasteon does not bundle language runtimes or jq. Set interpreterPath to an executable that exists on the current Mac. Homebrew paths differ between Apple silicon and Intel Macs; use “which node”, “which python3”, or the equivalent to find the correct path.

WorkflowStepDefinition

Visual Step fields

Every step has identity, behavior, enabled state, and one shared configuration object. Only fields used by the selected kind affect execution.

フィールド必須役割
steps[].idUUIDYesStable identity used by selection, drag ordering, validation, and per-step test results.
steps[].kindWorkflowStepKindYesSelects the condition, transform, script, or output operation.
steps[].isEnabledBooleanYesDisabled non-output steps are skipped. The final Output cannot be disabled.
configuration.patternStringMatch / ReplaceText, app identifier fragment, or regular expression to test or replace.
configuration.replacementStringReplaceReplacement text. In Regex mode it follows NSRegularExpression replacement template rules.
configuration.matchModecontains | equals | startsWith | endsWith | regularExpressionMatch / ReplaceControls how pattern is compared. Replace uses plain replacement unless regularExpression is selected.
configuration.isCaseSensitiveBooleanMatch / ReplaceWhen false, text comparison and Regex replacement are case-insensitive.
configuration.trimModewhitespaceAndNewlines | whitespace | newlinesTrimSelects which characters are removed from both ends.
configuration.caseStylecamel | pascal | snake | screamingSnake | kebab | train | dotChange CaseTarget naming convention for the current text.
configuration.templateStringTemplateText template containing supported placeholders such as {{input}} and {{date}}.
configuration.fileNameStringOutput FileOutput file name, with template variables allowed. Directory components are discarded for safety.
configuration.scriptScriptConfigurationRun ScriptScript settings for this step. A Run Script step must return a text result for the next visual step.

Available WorkflowStepKind values

textCondition

Show and run only when the current text matches pattern.

sourceAppCondition

Match the bundle identifier of the app that created the clip.

targetAppCondition

Match the bundle identifier of the frontmost destination app.

trimText

Remove selected whitespace characters from both ends.

replaceText

Perform plain or regular-expression replacement.

changeCase

Convert the current text to the configured naming style.

urlEncode / urlDecode

Percent-encode or decode the current text.

jsonPretty / jsonMinify

Parse JSON, sort keys, then pretty-print or compact it.

template

Replace supported placeholders in a text template.

runScript

Run a Simple Code Workflow step that must return text.

recognizeText

Use macOS Vision OCR on Clipboard Image or ImageURL input and pass the recognized text to the following steps.

outputText / outputFile / outputOpenURL

Return text, create a text file, or open a supported URL. Exactly one output is kept at the end of a valid Steps Workflow.

outputPNGFile

Convert Clipboard Image or ImageURL input to a PNG file. Other input types make the Workflow invalid.

outputRevealInFinder

Reveal a local FileURL, ImageURL, or VideoURL in Finder. Workflow testing reports the path without opening Finder.

WorkflowInputRepresentation

Representation フィールド

各クリップボード形式を表し、テキストは value、ファイルは path を使います。

フィールド必須役割
typeUTI StringYesPasteboard type identifier, such as public.utf8-plain-text, public.file-url, public.png, or public.html.
valueString | nullNoInline UTF-8 value for text-like representations or the original file URL string.
pathFile path | nullNoOriginal local file path or temporary path created for binary representation data.
fileNameString | nullNoOriginal or generated safe file name associated with the representation.
fileSizeInt64YesRepresentation size in bytes, using stored metadata when available.
temporaryBooleanYesTrue when Pasteon wrote binary data into directories.input for this run. Do not retain that path.
WorkflowFilterResponse

Filter 出力フィールド

Filter は候補のみを返し、すべての最終結果を事前計算しません。

フィールド必須役割
versionIntegerYesMust equal the supported protocol version: 1.
actionsAction[]YesNon-empty candidate list. Pasteon validates and displays at most the first 20 items.
actions[].idStringYesCandidate identifier returned as actionID during execute. After trimming, length must be 1–120 characters.
actions[].titleStringYesVisible candidate title. After trimming, length must be 1–120 characters.
actions[].subtitleString | nullNoSecondary explanation shown beside the candidate. Pasteon keeps the first 240 characters.
actions[].iconSF Symbol | nullNoSF Symbol name for the candidate. Invalid symbols fall back to the parent Workflow icon.
actions[].argumentJSON value | nullNoOpaque JSON value sent back unchanged during execute. It may be an object, array, string, number, boolean, or null.
Candidates
Maximum 20 displayed per Filter run.
Argument
Maximum 64 KB encoded JSON per candidate.
ID and title
1–120 characters after trimming.
Subtitle
Truncated to 240 characters.
WorkflowExecuteResponse

Execute 出力フィールド

Execute は 1 つの result と、その type に必要なフィールドだけを返します。

フィールド必須役割
versionIntegerYesMust equal the supported protocol version: 1.
resultObjectYesThe one final result Pasteon should apply.
result.typetext | files | openURL | revealFileYesSelects validation and the normal versus Command-mode behavior.
result.valueStringtextNon-empty text to paste normally or copy when Command mode is active.
result.pathsString[]files | revealFileFor files, a non-empty list whose relative paths resolve inside directories.output and must exist. For revealFile, the first path is the local item to reveal.
result.urlStringopenURLValid http, https, or mailto URL. Normal mode opens it; Command mode copies it.
revealFile behaviorLocal file actionrevealFileNormal Action execution reveals the first path in Finder and hides Pasteon. Command mode does not change this result into copy-only behavior.
files 結果の例
{
  "version": 1,
  "result": {
    "type": "files",
    "paths": ["GeneratedModel.swift"]
  }
}
WorkflowRunner

制限、プロセス動作、クリーンアップ

Runner は引数を個別に渡し、stdout と stderr を読み、不要になった処理を中止します。

stdout ≤ 2 MB

stdout must contain one protocol JSON document and no log lines. Exceeding the limit terminates the process.

stderr ≤ 256 KB

Write logs and diagnostics to stderr. It is captured for testing and errors.

timeout 1–120 s

Filter and Execute have separate configurable timeouts. Pasteon terminates an overdue process.

exit status 0

A non-zero process exit is treated as failure, with captured stderr included in the error.

cancellable

Switching Paste items, returning from Filter results, editing or deleting the Workflow, or closing the window cancels the run.

arguments stay separate

Arguments are passed as an array. Pasteon does not expand pipes, wildcards, variables, or other shell syntax.

outputs expire after 24 h

Workflow output directories older than 24 hours are removed during application cleanup.

local user permissions

Scripts execute locally with the current macOS user’s access. Review imported code before enabling it.

WorkflowVariableDefinition

Reusable Workflow variables

Define values once in Settings and reuse them in visual Steps or Code Workflows. Text values are stored with the Workflow. Secret values are stored in the macOS Keychain and removed from exported files.

フィールド必須役割
variables[].idUUIDYesStable identity used to associate a Secret with its Keychain value. Copying a Workflow creates new variable IDs.
variables[].nameStringYesCase-sensitive lookup name. It must match [A-Za-z_][A-Za-z0-9_]* and be unique within the Workflow.
variables[].kindtext | secretYesText stores its value in the Workflow. Secret stores its value in the macOS Keychain.
variables[].valueStringText onlyText value saved and exported with the Workflow. Secret definitions always export this field as an empty string.
Workflow file example
{
  "variables": [
    {
      "id": "C3EEAF0E-0AD8-4A26-924C-CB867088D955",
      "name": "API_BASE_URL",
      "kind": "text",
      "value": "https://api.example.com"
    },
    {
      "id": "7E05B2EE-E745-4558-A267-E63B7D1E2235",
      "name": "API_TOKEN",
      "kind": "secret",
      "value": ""
    }
  ]
}
Steps syntax
Use {{variables.NAME}} in Template content and output file names. An empty or missing value resolves to an empty string.
Code syntax
Read payload.variables.NAME from stdin JSON. Variables are available in Filter and Execute phases.
Secret storage
Secret values stay in the macOS Keychain. Removing the variable or Workflow deletes its Keychain value.
Import and export
Text values travel with exported JSON. Secret names and kinds are exported, but Secret values must be entered again after import.

Steps テンプレート変数

Template とファイル名ステップは、これらの完全なプレースホルダーを置換します。

{{input}}Current text from the previous step.
{{sourceApp}}Source app bundle identifier, or an empty string.
{{targetApp}}Frontmost target app bundle identifier, or an empty string.
{{clipboardType}}Current PasteType raw value.
{{date}}Current date and time in ISO 8601 format.
{{variables.NAME}}Value of the user-defined Text or Secret variable with the matching case-sensitive name.

プロセス環境変数

Code Workflow は stdin JSON に加えてこれらを参照できます。

PASTEON_WORKFLOW_IDUUID of the current Workflow.
PASTEON_WORKFLOW_PHASEfilter or execute.
PASTEON_INPUT_DIRPath matching directories.input.
PASTEON_OUTPUT_DIRPath matching directories.output.
.pasteon-workflow

.pasteon-workflow file structure

Exports are readable versioned JSON. A file may contain one Workflow or the full Workflow list.

フィールド必須役割
versionIntegerYesEnvelope protocol version. Import currently accepts version 1.
installedDefaultsVersionInteger | nullNoInternal default-catalog state. User exports write null and imports do not use it to enable defaults.
workflowsWorkflowDefinition[]YesOne or more complete Workflow definitions. A bare single WorkflowDefinition is also accepted for compatibility.
Every imported Workflow is forced to isEnabled: false and requiresTrustConfirmation: true.
When a UUID already exists, the user can replace it or import a copy with a new UUID.
Inline code is included in the JSON. External script files are not bundled; only scriptPath is exported.
A missing external path keeps the imported configuration visible but prevents its Action from appearing.
JavaScript / Node.js

完全な JavaScript Script Filter 例

1 つのスクリプトで Filter と Execute を処理し、選択結果だけを計算します。

workflow.jsインタープリタ: /opt/homebrew/bin/node
async function main() {
  let input = "";
  process.stdin.setEncoding("utf8");
  for await (const chunk of process.stdin) input += chunk;

  const payload = JSON.parse(input);
  const text = payload.paste?.text ?? "";
  let response;

  if (payload.phase === "filter") {
    response = {
      version: 1,
      actions: [
        {
          id: "uppercase",
          title: "Convert to Uppercase",
          subtitle: "Uppercase the copied text",
          icon: "textformat",
          argument: null
        },
        {
          id: "wrap",
          title: "Wrap in Brackets",
          subtitle: "Add [ and ]",
          icon: "curlybraces",
          argument: { prefix: "[", suffix: "]" }
        }
      ]
    };
  } else {
    const argument = payload.argument ?? {};
    const value =
      payload.actionID === "uppercase"
        ? text.toUpperCase()
        : (argument.prefix ?? "") + text + (argument.suffix ?? "");

    response = {
      version: 1,
      result: { type: "text", value }
    };
  }

  process.stdout.write(JSON.stringify(response));
}

main().catch((error) => {
  process.stderr.write(`${error.stack ?? error.message}\n`);
  process.exit(1);
});

“which node” の結果を使ってください。診断は console.log ではなく console.error に出力します。

結果の動作

次の App が必要とする形を返す。

通常実行はすぐ結果を適用します。Command クリックまたは Command + Enter では、テキスト、ファイル、URL をコピーのみに切り替えます。

text

テキストをペーストまたはコピー

生成テキスト、整形済み内容、テンプレート、コードなど任意の文字列を返します。

files

ファイルをペーストまたはコピー

指定の出力フォルダにファイルを作成し、そのパスを Pasteon に返します。

openURL

URL を開くまたはコピー

Web やメールリンクを開き、Command モードでは URL をコピーします。

revealFile

Finder にファイルを表示

ローカルファイルを Finder に表示します。テスト時はパスのみ表示します。

最初から使える

標準機能も通常の Workflow です。

Pasteon は以下を標準で有効にします。他の Workflow と同様に確認、編集、無効化、複製、エクスポート、削除できます。

ケース変換Script Filter
JSON ファイルとしてペースト.json
TXT ファイルとしてペースト.txt
Markdown ファイルとしてペースト.md
ブラウザで開くopenURL
URL エンコード / デコードScript Filter
Markdown リンクとしてペーストSimple
カラー変換Script Filter
OCROCR → テキスト
PNG ファイル画像 → .png
Finder で開くrevealFile
インポート、エクスポート、信頼

実行内容を隠さず、処理レシピを共有。

Workflow ファイルは読み取り可能で移植できます。インポートした Workflow は、コードを確認して信頼するまで無効です。

.pasteon-workflow JSON ファイルをインポート、エクスポート。
インラインコードは Workflow に含まれ、外部スクリプトはパス参照のままです。
インポートした Workflow は標準で無効になり、実行前に確認が必要です。
Workflow スクリプトは現在の macOS ユーザー権限でローカル実行されます。
FAQ

カスタム Workflow のよくある質問

プログラミング知識は必要ですか?

必要ありません。Steps モードは一般的な条件、テキスト変換、テンプレート、スクリプト、出力を直線的なエディタで扱えます。必要な場合だけ Code を使えます。

Simple と Script Filter の違いは?

Simple は 1 回実行して 1 結果を返します。Script Filter は軽量な候補を先に返し、選択したものだけを execute します。

Workflow はいつ Pasteon に表示されますか?

有効な Workflow は、選択項目が入力形式と条件に一致すると、標準 Primary Actions の後に表示されます。

スクリプトはどこで実行されますか?

設定したインタープリタと作業フォルダを使い、Mac 上でローカル実行されます。インポートした Workflow は有効化するまで実行されません。

カスタム Workflow は Pro 機能ですか?

はい。Pasteon Pro ではカスタム Workflow の作成、テスト、インポート、エクスポート、実行ができます。

仕事に足りなかったクリップボードアクションを作ろう。

Pasteon for Mac をダウンロードし、視覚的な Workflow から始め、必要なときだけスクリプトへ進めます。