Skip to content
NewThe Assistant drafts workflows from plain language→

Automate the work.
Keep the control.

Tipeline runs browser, file, AI, SSH, email, OCR and database steps from one YAML file. Build it in the Desktop app, then run it from the CLI, a schedule, an app or your team's server.

Platform

Everything a workflow needs,
built in.

30+ action groups, real flow control and a run history you can resume from. No glue code, no plugin hunting for the basics.

30+ action groups

Browser automation with Puppeteer, AI prompts, SSH, email, OCR, PDF, spreadsheets, databases and more.

Pipeline orchestration

Chain steps with loops, conditions and approvals. Every step's result flows into the next through variables.

Resume and debug

Each step's result is saved to SQLite. Resume a failed run from the step that failed, or step through one action at a time.

Apps on your workflows

Dashboards, forms and tools with tables, charts, kanban boards, calendars and chat. No front end to write.

Ask in plain language

The Assistant finds the right workflow, fills in its inputs from your request and runs it once you confirm.

Live streaming

Watch a run as it happens. Each step's result streams back as soon as it finishes, in the Desktop app, the CLI or over WebSocket.

Workflows as code

One YAML file.
Runs anywhere.

A workflow is a plain YAML file you can read, diff and share. The same file runs the same way from the CLI, the Desktop app, an app, a schedule or the Assistant.

  • {{ name }}inserts a value as text
  • {= name =}passes objects and handles as they are
  • {{ _env.KEY }}reads environment files
  • {{ _global.name }}reads global variables
Read about workflow files →
yaml
name: Price Monitor
description: Alerts when a product's price drops.

pipeline:
  variables:
    - name: url
      type: string
      required: true
      visibility: public
    - name: threshold
      type: number
      value: 50
    - name: browser
      type: browser
    - name: price
      type: string

  actions:
    - group: browser
      name: launch
      params: { headless: true }
      destination: browser

    - group: browser
      name: goTo
      params:
        browser: "{= browser =}"
        url: "{{ url }}"

    - group: browser
      name: getElement
      params:
        browser: "{= browser =}"
        selector: ".price"
        attribute: text
      destination: price

    - group: flow
      name: ifConditional
      params:
        firstOperand: "{= price =}"
        compareAs: number
        operator: lte
        secondOperand: "{= threshold =}"
        actions:
          - group: system
            name: message
            params:
              text: "Price dropped to {{ price }}"
Interfaces

One engine. Every way in.

The Desktop app, the CLI, Tipeline Server and AI tools all talk to the same Core engine. Use whichever fits the moment.

Start automating today.

Download the Desktop app to build visually, or install the CLI to work from the terminal.

Released under the Apache License 2.0.