Actions Overview
Tipeline ships with 30 action categories covering automation, data manipulation, file handling, integrations, and flow control. Each action is identified by a group and a name.
Action Anatomy
Every action in a workflow YAML has the same structure:
yaml
- group: string # action category (e.g. browser, string, http)
name: string # specific action within the group (e.g. goTo, replace, request)
params: # action-specific parameters
key: value
destination: string # optional — variable name to store the result
onError: throw # 'throw' (default) | 'continue'
disabled: false # set to true to skip this actionAction Categories
Automation
| Category | Actions | Description |
|---|---|---|
| Browser | 56 | Full browser automation via Playwright |
| HTTP | 2 | HTTP/HTTPS requests via Axios |
| SSH | 3 | Remote command execution over SSH |
| Script | 1 | Execute arbitrary shell scripts |
| Sub-workflow | 1 | Invoke another workflow as a sub-pipeline |
Data Manipulation
| Category | Actions | Description |
|---|---|---|
| String | 35 | Case conversion, search, replace, templates, URL encoding |
| Array | 20 | Parse, join, filter, sort, chunk, flatten, set operations |
| Object | 12 | Get/set properties, merge, pick, omit, clone |
| Math | 25 | Arithmetic, rounding, statistics, random, range |
| DateTime | 15 | Parse, format, add/subtract, compare, validate |
| Spreadsheet | 36 | Excel/CSV read, write, formulas, ranges, sheets |
| HTML | 10 | Query, extract, parse HTML documents |
| Variable | 1 | Set a pipeline variable programmatically |
File & Media
| Category | Actions | Description |
|---|---|---|
| File | 12 | Read, write, copy, move, CSV, base64 |
| Folder | 9 | Create, delete, copy, list files |
| Image | 18 | Resize, rotate, crop, filters, format conversion |
| Audio | 15 | Convert, trim, mix, compress, normalize |
| Video | 24 | Trim, resize, convert, watermark, subtitles, GIF |
| 5 | Extract text/images, merge, split, page count | |
| Compression | 2 | Create and extract zip/tar archives |
| OCR | 1 | Optical character recognition |
| QR Code | 2 | Generate and read QR codes |
Integrations
| Category | Actions | Description |
|---|---|---|
| AI | 1 | LLM prompts — OpenAI, Anthropic, DeepSeek |
| 1 | Send email via SMTP | |
| Database | 3 | Connect, query, and close SQL databases |
| Network | 6 | DNS, ping, port check, TLS certificate |
| Cryptography | 12 | Hash, HMAC, encrypt, base64 |
Flow Control
| Category | Actions | Description |
|---|---|---|
| Flow | 8 | If/else, switch, loops, wait |
| Approval | 1 | Pause a run until someone approves or rejects it |
| System | 6 | Log messages, run processes, env vars |
| API | — | Generic API integration |
Parameter Templates
Action parameters support two template syntaxes:
yaml
# String interpolation (result is always a string)
message: "Hello, {{ username }}!"
url: "{{ baseUrl }}/api/{{ version }}/users"
# Raw injection (preserves original type)
data: "{= parsedObject =}"
browser: "{= browserHandle =}"
count: "{= itemCount =}"See the Variable System for full details.
Error Handling
yaml
- group: http
name: request
params:
url: "{{ url }}"
onError: continue # go on even if the request fails
destination: response| Value | Behaviour |
|---|---|
throw | Stop the run and mark it failed (default) |
continue | Ignore the error and go on to the next step; the step's result is empty |