#Valid lobster

1 messages Β· Page 1 of 1 (latest)

jaunty shore
#

Is this valid lobster syntax. name: gmail_digital_declutter
steps:

  • name: fetch_emails
    tool: gmail.list_messages
    arguments:
    q: "is:unread"
  • name: triage_and_label
    tool: llm.process
    prompt: "Identify newsletters and receipts. Apply relevant labels and archive them."
  • name: human_check
    type: approval_gate
    prompt: "Review these 3 flagged high-priority drafts before I archive the rest."
safe laurelBOT
#

To help others find answers, you can mark your question as solved via Right click solution message -> Apps -> βœ… Mark Solution

terse foxBOT
wicked tideBOT
# jaunty shore Is this valid lobster syntax. name: gmail_digital_declutter steps: - name: ...

Short version: the first snippet is valid YAML, but it is probably not valid Lobster workflow syntax as written. The second snippet is invalid YAML because the nested fields under each - name: item are not indented.

Lobster workflow files use fields like name, optional args/env, and steps, but steps are shown in the docs as id + command, with approvals as approval: required. I don’t see tool: gmail.list_messages, tool: llm.process, or type: approval_gate in the documented Lobster workflow format.

Closer shape:

name: gmail_digital_declutter
steps:
  - id: fetch_emails
    command: gmail list-messages --query 'is:unread' --json
  - id: triage_and_label
    command: your-triage-script --json
    stdin: $fetch_emails.stdout
  - id: human_check
    command: your-apply-script --dry-run
    stdin: $triage_and_label.stdout
wicked tideBOT
jaunty shore
#

But is tool llm.process valid

wicked tideBOT
# jaunty shore But is tool llm.process valid

No, llm.process does not appear to be a valid documented Lobster/OpenClaw tool name.

The documented LLM-ish tool for structured workflow steps is llm-task, and in Lobster examples it’s called through a command, e.g.:

openclaw.invoke --tool llm-task --action json --args-json '{ ... }'

Two gotchas:

  • llm-task is optional and has to be enabled/allowed in config.
  • The docs currently note that embedded Lobster workflows do not automatically inherit gateway URL/auth for nested openclaw.invoke, so for embedded workflows you may want a direct llm-task call outside Lobster, or a normal command/script step inside Lobster.

Docs: https://docs.openclaw.ai/tools/llm-task and https://docs.openclaw.ai/tools/lobster

jaunty shore
#

How do you enable it?

wicked tideBOT
# jaunty shore How do you enable it?

If you mean llm-task: enable the optional plugin, then allow the tool.

Minimal config patch shape:

{
  plugins: {
    entries: {
      "llm-task": { enabled: true }
    }
  },
  tools: {
    alsoAllow: ["llm-task"]
  }
}
wicked tideBOT
# jaunty shore How do you enable it?

Apply it with a patch file, ideally dry-run first:

openclaw config patch --file ./openclaw.patch.json5 --dry-run
openclaw config patch --file ./openclaw.patch.json5
openclaw gateway restart

If you also want to run Lobster workflows, allow lobster too:

tools: {
  alsoAllow: ["lobster", "llm-task"]
}

Use alsoAllow, not tools.allow, unless you intentionally want restrictive allowlist mode. Also, if you already have entries in tools.alsoAllow, keep them in the array instead of replacing them.

wicked tideBOT