Step Library Overview
ProActions provides a comprehensive library of workflow steps organized into categories. Each step performs a specific function and can be combined to create powerful automation workflows.
Quick Reference
Browse steps by category:
Browser
-
DIGITAL_PREVIEW - Triggers the digital preview functionality
-
DOCUMENT_PANEL_COMMAND - Executes an array of commands in the document preview panel (e.g. CREATE_PDF, CREATE_TOC)
-
DOWNLOAD - Downloads a file constructed from text or an existing Blob. The filename is required.
-
INSERT_TEMPLATE_SECTION - Creates a new section in the document using the specified template path, relative to the currently elected item
-
PRINT_PREVIEW - Triggers the print design preview functionality
-
READ_CLIPBOARD - Reads content from the user clipboard. Prefers HTML content when available, falls back to plain text.
-
WRITE_CLIPBOARD - Writes text to the user clipboard. Reads the content from the configured input (cfg.text) or from the default text input in the flow context.
Control
-
BREAK - Breaks out of the current loop (e.g., WHILE or FOR) based on the given condition.
-
CALL_TEMPLATE - Calls a reusable flow by legacy template name (
name) or scoped reference (ref). -
DEBUG - Logs debug information about the current flow context and step configuration. Optionally triggers a debugger breakpoint.
-
EMIT_EVENT - Emits a custom internal event that can trigger other actions subscribed via action events.
-
END - Ends the execution of a flow based on the given condition, with optional notification.
-
FOR - Executes a set of steps for a fixed number of iterations (numeric) or iterates over an array (items).
-
IF - Execute a conditional branch based on a condition
-
PARALLEL - Runs multiple step lists in parallel and merges their flow contexts upon completion.
-
PLATFORM - Routes flow execution to platform-specific branches (
swing,prime,standalone) with optionaldefaultfallback. -
SET - Sets variables in the flow context. Can execute steps, evaluate expressions, or set key-value pairs.
-
SLEEP - Pause execution for a given delay (ms). Useful for pacing flows or waiting for external state changes.
-
SWITCH - Evaluates a switch value and executes the steps for the matching case. Supports both array and object syntax for cases.
-
TRY - Executes a set of steps in a try block, and if an error occurs, executes catch steps.
-
WHILE - Repeatedly executes a set of steps while a condition evaluates to true.
EDAPI
-
EDAPI_OBJECT_CONTENT - Fetch object content from EDAPI and return it as blob or configured outputs. The content id can be provided via cfg.contentId or via a text input.
-
UPDATE_BINARY_CONTENT - Update binary content of an existing object in EDAPI using the provided blob. Returns updated object metadata.
-
UPLOAD - Upload content to EDAPI by providing a blob or specifying parameters (filename, type). Returns created object metadata.
-
UPLOAD_IMAGE - Upload an image to EDAPI by providing an image object (url or blob). Returns the created object metadata as output.
Editor
-
CLEAR_SELECTION - Clears the current text selection and optionally repositions the cursor to the start or end of the selection. Available in Swing editor context only.
-
CLEAR_TAGS - Removes all occurrences of the specified tags from the document or report while preserving their text content. This is useful for cleaning up temporary markup or removing specific tag types.
-
CLOSE_DOCUMENT - Closes the current document without saving.
-
GET_PURE_TEXT - Retrieves the full pure text content from the current document and sets it as output.
-
GET_TEXT_CONTENT - Retrieves text content from the document or a specific location and sets it as output.
-
GET_XML_CONTENT - Retrieves XML content from the document or a specific location and sets it as output.
-
GET_ZONES - Retrieves zones and their linked documents from a DWP or Report.
-
INSERT_LIST - Insert a list of items into the document. The items can be provided as a list input or be generated from a text input (converted to a list using ProcessToList).
-
INSERT_OBJECT - Insert object references or templates into the current document using a DTX template.
Prime: Supports paths, UUIDs, and LOIDs (auto-formatted). Options insertionType, full, and templateType are ignored (warnings logged).
-
INSERT_TEXT - Insert text at the given location (cursor, xpath or report). If the step reads text from the flowContext, you can use a preceding SET step to provide the content.
-
INSERT_XML - Insert XML content at the given location. The content can be provided via the flowContext (using
in) or via the default text input. -
REPLACE_TEXT - Replace existing text at the given location (cursor paragraph, cursor or xpath) with the provided content. Content can come from a flow variable (using
in) or the default text input. -
REPLACE_XML - Replace XML content at the given location. Content can be sourced from a flow variable (
in) or the default text input. -
SAVE_DOCUMENT - Saves the current document. Optionally closes the document after saving.
-
SELECTED_OBJECT - Retrieves information about the currently selected content object and sets it as output.
-
SET_METADATA - Set a field value in the object panel using a selector or XPath. Supports tagsinput and plain fields.
-
TAG_PURE_TEXT - Adds tags to pure text content in the document. Tags can highlight or annotate specific text ranges. In Swing, tags can be virtual (temporary) or persistent. In Prime, tags are always persistent.
LLM
-
AZURE_OPENAI_COMPLETION - Chat/completion step that calls OpenAI (or Hub/Azure variants). Supports messages, images, audio, attachments, tools (functions), structured outputs (json_schema/json_object/list), reasoning and audio output. Many step-level configuration options are supported via cfg.*.
-
AZURE_OPENAI_IMAGE_GENERATION - ImageGeneration using Azure OpenAI.
-
AZURE_OPENAI_SPEECH - Azure OpenAI speech step alias.
-
AZURE_OPENAI_TRANSCRIPTION - Azure OpenAI transcription alias (delegates to the OpenAI transcription implementation).
-
HUB_COMPLETION - Chat/completion step that calls OpenAI (or Hub/Azure variants). Supports messages, images, audio, attachments, tools (functions), structured outputs (json_schema/json_object/list), reasoning and audio output. Many step-level configuration options are supported via cfg.*.
-
HUB_CONTENT_EXTRACTION - Extract textual content from a URL using the ProActions-Hub extraction tool. The URL can be provided via the default text input or the
in/urlconfiguration. -
HUB_IMAGE_GENERATION - ImageGeneration using ProActions Hub.
-
HUB_SPEECH - ProActionsHub-compatible speech generation step. Inherits behavior from OPENAI_SPEECH.
-
HUB_TRANSCRIPTION - Hub-compatible transcription step (delegates to hub service). Writes transcription text and optional segments list.
-
OPENAI_ASSISTANT - Create or reuse an OpenAI assistant. If cfg.assistantId is provided the assistant will be retrieved; otherwise a new assistant is created. The created or retrieved assistant is written to the flow context.
-
OPENAI_COMPLETION - Chat/completion step that calls OpenAI (or Hub/Azure variants). Supports messages, images, audio, attachments, tools (functions), structured outputs (json_schema/json_object/list), reasoning and audio output. Many step-level configuration options are supported via cfg.*.
-
OPENAI_DELETE_THREAD - Delete a thread using its id. Provide the thread object or id via inputs.
-
OPENAI_IMAGE_GENERATION - Generate images using OpenAI image models (DALL·E and GPT-Image-1). Supports model, size, quality, count (n), response_format and other parameters. The generated images are stored in the configured output key or default
imageList. -
OPENAI_SPEECH - Generate speech audio using the OpenAI Speech API (or corresponding Hub/Azure variants). Reads text from the default text input and returns an audio blob.
-
OPENAI_THREAD - Create or reuse an OpenAI thread. If cfg.reuse and cfg.storeIn are provided the thread id may be reused. The created thread is written to the flow context.
-
OPENAI_THREAD_FILES - Create a vector store for thread file tools and optionally upload files. Writes created store to flow context and optional uploaded file list to an optional output.
-
OPENAI_THREAD_MESSAGE - Send a message to a thread/assistant. The assistant and thread inputs are required. The message can be provided via cfg.instruction or via default text input. The assistant response text is stored in the default text output.
-
OPENAI_TRANSCRIPTION - Transcribe audio using OpenAI (or Azure/Hub variants). Reads an audio file/blob from inputs and writes the transcription text and optional segment list.
-
STABILITY_AI_OUTPAINT - Outpaint an image region using StabilityAI. Supports coordinates (left,right,up,down) to define the outpainting area.
-
STABILITY_AI_SEARCH_AND_RECOLOR - Search and recolor elements in an image using StabilityAI. Provide select_prompt and prompt to find and recolor elements.
-
STABILITY_AI_SEARCH_AND_REPLACE - Search and replace regions or objects within an image using StabilityAI. Provide a prompt and a search_prompt to locate and replace visual elements.
-
STABILITY_AI_UPSCALE - Upscale an image using StabilityAI upscale endpoint. Uploads a provided image blob and returns the upscaled image blob.
Service
-
BRIGHTER_AI - Upload an image to BrighterAI, poll for processing completion and download the anonymized image. The resulting anonymized image blob is written to the configured output.
-
DEEPL_TRANSLATE - Translate text using DeepL. Supports many optional DeepL parameters and returns the translated text as the default text output.
-
DEEPL_WRITE - Rephrase/write text using DeepL Write endpoint. Returns the rephrased text in the default text output.
-
ELEVENLABS_STT - Transcribe audio using ElevenLabs STT. Provides the transcribed text and optional JSON result.
-
ELEVENLABS_TTS - Generate speech audio from text using ElevenLabs TTS. Text is taken from the default text input or a flow variable via
in. -
HUB_MCP_INVOKE - Invoke a tool on an MCP server via the Hub.
-
HUB_MCP_TOOLS - List available tools from an MCP server via the Hub.
-
REST - Generic REST step. Builds a Request from the given configuration (url, method, headers, parameters, body or formData) and executes it using the host HTTP helper. Results are written to cfg.outputs when provided or to the default text output.
UI
-
CHANGE_VIEW_SIZE - Requests a change of the view port size. Useful to resize the command palette view in Prime 8.
-
FILE_UPLOAD - Opens a file upload dialog (modal) and stores selected file(s) into the flow context. Supports output mapping via the
outputsconfig or default file output. -
FORM - Displays a configurable form to the user (via FormBuilder). The form definition is provided in
cfg.form. When submitted, the returned values are merged into the flowContext. -
HIDE_PROGRESS - Hide any shown progress bar.
-
IMAGE_PICKER - Shows an image picker modal allowing the user to pick one image from a provided list of image objects ({ url, previewUrl?, label? }). The selected image object is stored as an output.
-
MONITOR_CHOICE - Display a selection of choices in the Flow Monitor. Pauses workflow until user selects.
-
MONITOR_CONFIRM - Display a confirmation dialog in the Flow Monitor. Pauses workflow until user responds.
-
MONITOR_INPUT - Display an inline text input field in the Flow Monitor.
-
MONITOR_JSON - Display JSON structured data in the Flow Monitor.
-
MONITOR_KEYVALUE - Display key-value structured data in the Flow Monitor.
-
MONITOR_METRICS - Display metrics in the Flow Monitor.
-
MONITOR_STATUS - Display status messages in the Flow Monitor during workflow execution.
-
MONITOR_TABLE - Display tabular structured data in the Flow Monitor.
-
PLAY_AUDIO - Plays audio in a lightweight floating player. Audio source can be provided as a data URL, http(s) URL, or raw base64 via
cfg.inor via the default text input. The step mounts a closed Shadow DOM audio player and resolves when the player is closed by the user. -
PROMPT - Shows a simple prompt to the user and stores the entered text into the default text output.
-
SHOW_NOTIFICATION - Shows a notification to the user with optional title and resolved message.
-
SHOW_PROGRESS - Show a progress bar with optional status text. Use
positionto place it andautoHideto auto-hide after completion. -
SHOW_RESPONSE - Shows a response to the user in a modal. Can run inline steps before showing and supports HTML and Markdown modes.
-
UPDATE_PROGRESS - Update an existing progress bar. Provide percentage (0-100) and optional status text.
-
USER_SELECT - Displays a selection modal allowing the user to pick one item from a list. The list may be provided directly or produced by a pre-processing step (inlineSteps). The selected value is written to the default text output.
Utils
-
BASE64_TO_BLOB - Converts a base64-encoded string to a Blob and stores it in the flow context as a blob output.
-
MARKDOWN_TO_HTML - Converts markdown text to HTML and sets it as text output.
-
PARSE_JSON - Parses JSON content from the text input and stores the resulting object in the flow context.
-
SANITIZE - Sanitizes text input. Can strip markdown code blocks, normalize Unicode characters (quotes, dashes, spaces), and validate/repair XML content before forwarding the result to the flow context.
-
SCRIPTING - Executes inline JavaScript (
script) or a JS-style template (template). Use with caution — only in trusted flows. -
TO_LIST - Convert a textual AI response into a list of strings. Detects JSON arrays, ordered/unordered lists, comma-separated values, or falls back to a single-item array.
YouTube
-
HUB_YOUTUBE_AUTH_INIT - Initiate OAuth authorization flow for YouTube (requires ProActions-Hub). Opens the auth URL when available unless cfg.omitOpenAuth is true.
-
HUB_YOUTUBE_AUTH_LOGOUT - Log out the configured Hub YouTube account. Uses POST to logout and returns the resulting object.
-
HUB_YOUTUBE_AUTH_STATUS - Check the status of a previously initiated YouTube OAuth authorization flow.
-
HUB_YOUTUBE_UPLOAD - Upload a video to YouTube via the Hub service. Supports video file, optional thumbnail, metadata fields (title, description, privacyStatus, categoryId), tags and additionalMetadata. Progress can be shown when cfg.updateProgress is true.
Using Steps
Steps are defined in YAML configuration files and executed as part of flows. Each step has:
- Name: The step identifier (e.g.,
HUB_COMPLETION,REPLACE_TEXT) - Configuration options: Parameters that control the step's behavior
- Inputs: Data the step reads from the flow context
- Outputs: Data the step writes to the flow context
Basic Example
- step: HUB_COMPLETION
behavior: "You are a helpful assistant"
instruction: "Summarize this: {textContent}"
outputs:
- type: text
name: summary
Common Patterns
- Control Flow: Use IF, FOR, WHILE steps to control execution
- Service Integration: Call external APIs and AI services
- Data Processing: Transform and manipulate data
- User Interaction: Prompt users and display results
Step Categories
Click on a category to see all available steps:
- Control Flow - Conditional logic, loops, error handling
- LLM Services - AI completion, transcription, image generation
- Service Integration - External service integrations
- UI Components - Forms, prompts, notifications, menus
- Editor Operations - Text manipulation, content insertion
- EDAPI - Méthode object operations
- Browser Functions - Clipboard, downloads
- YouTube Integration - YouTube API operations
- Utilities - Helper functions and utilities
Finding the Right Step
Need to...?
- Make decisions? → Use IF or SWITCH
- Loop over items? → Use FOR or WHILE
- Call an AI service? → Use HUB_COMPLETION
- Get user input? → Use FORM
- Transform data? → Use SCRIPTING
- Handle errors? → Use TRY
- Show results? → Use SHOW_RESPONSE or SHOW_NOTIFICATION
Version Information
This documentation is automatically generated from the ProActions source code and represents the current available steps in your installation.