Editor
The canvas and the YAML are two faces of one FlowSpec. Editing the canvas emits canonical YAML; importing YAML renders the canvas. (Canvas editing is a placeholder; the YAML is real canonical output.)
Canvas
fetchstd.http.get@1
entry node
comparestd.expr@1
needs: fetch
notifystd.http.post@1
needs: compare
when ${{ steps.compare.output.value }}
Canonical YAML
flow: daily-price-watch
description: "Fetch a price, compare to a threshold, and notify on breach."
inputs:
- name: symbol
type: string
- name: threshold
type: number
- name: webhook_url
type: string
secret: true
steps:
- id: fetch
use: "std.http.get@1"
with:
url: "${{ inputs.symbol }}"
- id: compare
use: "std.expr@1"
with:
value: "${{ steps.fetch.output.price > inputs.threshold }}"
needs:
- fetch
- id: notify
use: "std.http.post@1"
with:
body: "${{ steps.fetch.output }}"
url: "${{ secret.webhook_url }}"
needs:
- compare
when: "${{ steps.compare.output.value }}"
output: "${{ steps.compare.output.value }}"