跳轉到
版本 v1.0.25

開始與結束節點

每一條工作流程都有兩個固定節點:「開始」與「結束」。它們和中間的任務節點不同——中間節點設定的是「這一步做什麼」,而「開始」與「結束」設定的是整條流程的輸入與輸出長相:執行時會收到哪些欄位、跑完又回傳什麼樣的結構。

點畫布上的「開始」或「結束」節點,右側一樣會滑出設定面板。面板標頭右側有「測試任務」()、放大()與關閉()三顆按鈕。「開始」節點也可以單獨試跑,用來確認這條流程收到輸入時的樣子;「結束」節點沒有「測試任務」鈕,因此只有兩顆。

這兩個節點的面板都比一般任務節點簡單很多,別以為畫面沒載完:「開始」節點只設定流程的輸入結構與「下一個狀態」,沒有一般任務那三個分頁;「結束」節點更少,整個面板只有一張「輸出結構」表格,連「名稱」都沒有。

開始前

這頁假設你已經會進入工作流程編輯器、點選節點開啟設定面板。若還不熟,先看 編輯器介面導覽

「開始」節點:輸入結構

「開始」節點面板最上方是「輸入結構」——一張有「名稱」、「類型」、「必填」、「可空」欄位的表格,用來宣告這條流程執行時會收到哪些輸入欄位

表格看不到後面幾欄、想直接看 JSON

節點面板不寬,視窗較窄時表格右邊的「必填」、「可空」欄會被切掉(表格右緣會出現一顆 捲動鈕),把表格左右捲動就能看到。每一列最左邊還有一個拖曳握把()可以調整欄位順序;型別選「物件」的列,握把旁會多一個展開箭頭,點開才能往下定義子欄位。

想一次看完整結構,可以打開「輸入結構」標題右側的「JSON」開關,表格會換成原始的 JSON Schema 檢視(「結束」節點的「輸出結構」同樣有這個開關)。這個開關平常是隱藏的,要把滑鼠移到「輸入結構」這個區塊上(標題或表格都算)才會浮現,位置如下圖右上角:

滑鼠移到「輸入結構」上時,標題右側浮出的「JSON」開關

定義輸入結構有兩個好處:

  • 後面的節點可以引用這些欄位:用 JSONPath(例如 $.question)就能在任何步驟取到輸入值。
  • 執行時自動產生填寫表單:平台會依結構長出對應的填寫欄位,使用者直接在欄位裡填值,不必手寫 JSON;沒有定義時則改以 JSON 編輯器呈現。

操作步驟

  1. 在編輯器畫布點選「開始」節點,右側滑出面板,最上方就是「輸入結構」表格(下圖的示範流程已定義一個字串欄位 question)。

    「開始」節點的「輸入結構」面板

  2. 按「輸入結構」表格的新增()按鈕,開啟「新增屬性」對話框。

  3. 在「新增屬性」填寫欄位定義後按右上角「儲存」(欄位說明見下表;左邊的「放棄」是取消)。下圖是新增一個名為 context、類型為「字串」、且打開「必填」的輸入欄位。

    「新增屬性」:新增一個必填的字串欄位 context

    名稱不能和已有的欄位重複

    同一個「輸入結構」裡的欄位名稱必須唯一。填了已經存在的名稱,欄位會標紅並顯示「此欄位已經存在」,改成別的名字即可。

「輸入結構」表格下面還有兩個欄位:

欄位 必填 預設 說明
上傳輸入至外部記憶體 關閉 開關。開啟後,這條流程每次執行的輸入都會先上傳到外部記憶體再帶入流程,適合輸入資料很大的情境。也可以在每次執行時單獨開啟,見執行與查看結果
下一個狀態 流程的第一個步驟 執行從「開始」之後要接到哪個節點。畫布上把「開始」連到某個節點時就會自動設好,通常不必手動改。

「新增屬性」欄位說明

「開始」的輸入結構與「結束」的輸出結構,都用同一個「新增屬性」對話框定義欄位:

欄位 必填 說明
類型 這個欄位的資料型別,從下拉選單選一種;共有七種可選,各代表的意義見下方「『類型』可選值」。
名稱 欄位代號,後續用 JSONPath 引用時就是用這個名字(例如名稱填 question,引用時寫 $.question)。
必填 開啟後,執行時一定要帶到這個欄位才能送出。預設關閉。
可空 開啟後,這個欄位允許填空值(null)。預設關閉。
進階設定 展開後可再設定下列選填項目。
└ 標題 顯示在填寫表單上的欄位標題(比代號更易讀的名稱)。
└ 描述 欄位的說明文字,提示填寫者這格要填什麼。
└ 列舉 限定這個欄位只能從你列出的幾個值中選擇。畫面上是一個勾選框加一個輸入框:先勾起來,右邊的輸入框才會生效,把允許的值一個一個填進去。
└ 預設值 沒有填值時自動帶入的值。

「類型」可選值

「類型」下拉選單共有七種資料型別,決定這個欄位要裝什麼樣的資料。選哪一種,也會影響「進階設定」裡能再設定的限制(見下一節):

  • 字串():一般純文字,例如姓名、問題、地址、一段說明。最常用的型別;不確定要選哪種時通常選這個。
  • 數字():可以有小數的數值,例如金額 199.9、溫度 25.5、比率。
  • 整數():不帶小數的整數,例如數量 3、年齡 40、頁數。
  • 布林值():只有「是/否」兩種值(truefalse),適合用來表示開關或勾選,例如「是否同意條款」。
  • 陣列():同一種項目可以有很多筆的清單,例如多個關鍵字、多筆訂單、一串檔案。
  • 物件():由多個「欄位名稱 + 值」組成的成組資料,例如把姓名、電話、地址包成一筆「聯絡人」。物件裡還可以再往下定義子欄位。
  • 檔案():讓使用者上傳檔案當輸入,例如要分析的 PDF、要抽取資料的合約文件。

「數字」和「整數」的圖示一樣,看選項底下那行說明就能分辨

下拉選單裡這兩項都是 圖示,但每個選項底下都有一行說明,照著讀就不會選錯:

  • 「數字」的說明是「使用於數值類型的資料,可包含小數。」
  • 「整數」的說明是「使用於數值類型的資料,僅限整數。」

不確定選哪個就先選「字串」

對多數文字型輸入(問題、描述、代號)來說,「字串」就夠用。需要計算或比大小才用「數字」/「整數」;要一次收多筆同類資料用「陣列」;要把幾個欄位綁成一組用「物件」;要收附件才用「檔案」。

「進階設定」裡還會依「類型」多出對應的限制欄位,例如「字串」會有「最小長度」、「最大長度」,數值型別則有數值範圍等。

「新增屬性」展開「進階設定」後的欄位:標題、描述、列舉、預設值,以及「字串」專屬的最小長度與最大長度

實際效果

定義好輸入結構後,執行這條流程時,平台就會依結構自動長出填寫表單。例如定義了一個必填字串欄位 question,執行畫面就會出現一個必填的「Question」欄位,直接把問題打進去即可,不必手寫 JSON。

新的執行表單:依輸入結構自動產生的填寫欄位

逐步定義輸入欄位、再實際執行的完整示範,另見 快速開始

「結束」節點:輸出結構

「結束」節點面板提供「輸出結構」,用來定義這條流程最後要回傳什麼樣的結構。它和「開始」的輸入結構一樣是一張「名稱」、「類型」、「必填」、「可空」的屬性表格,一樣按新增()按鈕、用同一個「新增屬性」對話框(欄位說明見上表)逐一加入要回傳的欄位。

「結束」節點的「輸出結構」設定面板

它決定每次執行結果中「輸出」的長相:

  • 不定義輸出結構:回傳流程跑到最後的完整輸出,裡面可能殘留中間步驟累積的多餘欄位,結構較雜。
  • 定義輸出結構:平台會依結構整理回傳值——只保留你宣告的欄位、丟掉其餘欄位,必要時補上你在「進階設定」填的預設值,得到乾淨、固定格式的輸出,方便外部系統接收。

宣告了必填欄位,但流程沒產生它會怎樣?

「必填」在輸出結構這一側是描述這個輸出「應該」長什麼樣,不是叫平台幫你把值補出來。如果流程跑完根本沒產生那一欄,輸出裡它就會是空的。想確保它一定有值,有兩個做法:在該欄的「進階設定」填一個「預設值」,或在流程最後用「傳遞資料」節點把它補齊(見傳遞資料)。建議先實際跑一次,看輸出真正長什麼樣,見執行與查看結果

輸出結構是整條流程層級的設定

雖然在「結束」節點面板裡編輯,「輸出結構」存的是整條工作流程的輸出結構,不是某個節點專屬的欄位。

下一步