Authoring Packs

PackBuilder turns a natural-language description into an automation function definition.

Getting started

  1. Open Packs → My Packs from the left navigation.
  2. Click "New Pack".
  3. Describe what you want to automate in plain language.
  4. PackBuilder drafts the function definition.
  5. Adjust the input schema, steps, and tool list, then save.
Tip

Keep your first Pack small. e.g. "Take an Excel file and add a totals row at the bottom".

Input schema

Every Pack has a JSON Schema input. Marketplace users see this schema rendered as a form.

json
{
  "type": "object",
  "properties": {
    "source_file": { "type": "string", "format": "file" },
    "target_currency": { "type": "string", "enum": ["KRW", "USD"] }
  },
  "required": ["source_file"]
}

Defining steps

Steps run in order. Each step has an executor and a prompt or command.

  • Llm — call the LLM in Pack role, pipe the output forward
  • Browser — Playwright automation with explicit URL, selectors, and actions
  • Image — Codex image generation (file capability required)

Outcome guarding

PackStepOutcomeGuard checks each step's result to decide target-met vs. count-shortfall. Even if the CLI reports success, the next step is skipped when the business outcome is not met.

Note

PackApprovalEditedOutputParser.ExtractSelectedIndices is the SSOT for expansion index parsing — same function for manual, auto, and callback paths.