Flussi di lavoro
Piattaforma principaleworkflow_definitions_readFlussi di lavoroLegge le automazioni workflow di una struttura: i workflow, il grafo completo di un workflow, i tipi di nodo utilizzabili in un grafo e i modelli selezionati. Leggi node_types prima di creare o modificare un grafo, così che ogni tipo e parametro sia valido per la struttura.
Azioni:
- list: Elenca i workflow. Ogni workflow con indicazione se è live, la sua versione pubblicata, il numero di esecuzioni, l'ultima esecuzione e i suoi nodi (id, nome, tipo). I workflow di brand e organizzazione non sono elencati.
- get: Ottieni un workflow. Il grafo completo della bozza (nodi, connessioni, note, impostazioni) e i metadati: active, publishedVersionId e, una volta pubblicato, publishedWorkflow, il grafo attualmente live. Solo i workflow di questa struttura. Richiede workflowId.
- node_types: Tipi di nodo. Voci della palette con type, label, category, outputs (rami) e inputSchema, i parametri da compilare. available è false, con il motivo, quando alla struttura manca un modulo necessario al nodo. Gli strumenti MCP compaiono come nodi mcp.
. . - templates: Modelli. Punti di partenza per le automazioni comuni, con risk e riskNote (cosa va storto se pubblicato senza attenzione), tipi di nodo, moduli richiesti, disponibilità presso questa struttura e un grafo di anteprima. Trasformane uno in un grafo con workflow_definitions_write instantiate_template.
Parametri
| Nome | Tipo | Descrizione |
|---|---|---|
action* | "list" | "get" | "node_types" | "templates" | Cosa fare; ogni azione è descritta nella descrizione dello strumento. |
limit | integer | Elementi per pagina (predefinito 25, al massimo 100) (list, node_types, templates) |
cursor | string | nextCursor dalla pagina precedente (list, node_types, templates) |
facilityId | string | ID della struttura. Facoltativo quando intendi la struttura connessa. |
workflowId | string | Id del workflow da workflow_definitions_read list (get) |
query | string | Parole da trovare nel tipo, nell'etichetta, nella descrizione o nei termini di ricerca (node_types) |
category | string | Solo questa categoria: trigger, action, logic o ai (node_types) |
types | array | Tipi esatti da descrivere, ad es. quelli di un workflow che stai modificando. Include i tipi ritirati che la palette non mostra più; ignora query e category. (node_types) |
workflow_definitions_writeFlussi di lavoroCrea, modifica, pubblica, arresta ed elimina le automazioni workflow di una struttura. Ciclo di creazione: leggi node_types con workflow_definitions_read, costruisci il grafo (o parti da instantiate_template), crealo come bozza, provalo con workflow_runs_write test (simulato), quindi pubblicalo. Le modifiche a una bozza non cambiano mai ciò che è live finché non viene pubblicata.
Azioni:
- create: Crea un workflow. Salva una nuova bozza inattiva da un grafo completo con almeno un nodo; name è "Untitled workflow" per impostazione predefinita. I problemi di convalida vengono restituiti in errors con i dettagli dei nodi. Richiede nodes.
- update: Salva la bozza. Sostituisce l'intera bozza: invia ogni nodo e connessione, non solo le modifiche. Ciò che è live continua a funzionare finché non pubblichi. I problemi di convalida vengono restituiti in errors con i dettagli dei nodi. Richiede workflowId, nodes.
- patch_meta: Rinomina. Modifica solo il nome o la descrizione; il grafo e ciò che è live restano invariati. changed è false quando entrambi corrispondono già. Richiede workflowId.
- duplicate: Duplica. Copia un workflow in una nuova bozza chiamata "
(copy)" con nuovi id dei nodi, mai pubblicata né attiva. L'originale resta invariato. Richiede workflowId. - delete: Elimina. Elimina definitivamente il workflow: bozza, versioni pubblicate, cronologia delle esecuzioni e instradamento dei trigger. set_active false lo arresta ma lo conserva; discard_draft reimposta solo le modifiche alla bozza. Richiede workflowId. Chiede conferma.
- discard_draft: Elimina le modifiche alla bozza. Reimposta la bozza all'ultima versione pubblicata, scartando le modifiche apportate da allora. La versione live non viene mai toccata; richiede una versione pubblicata. Richiede workflowId. Chiede conferma.
- publish: Pubblica. Convalida la bozza, la salva come versione live e attiva il workflow, così che i suoi trigger scattino e le sue azioni vengano eseguite davvero. Le esecuzioni in corso terminano con la versione precedente. Se gli step Delay in attesa dovessero essere ricalcolati, il risultato ha il codice WAIT_RETARGET_CONFIRMATION_REQUIRED e impacts: chiama di nuovo con confirmWaitRetargets e quegli impacts. Richiede workflowId. Chiede conferma.
- set_active: Attiva o disattiva. active true riattiva un workflow pubblicato. active false lo arresta: i trigger smettono di scattare e gli step Delay in sospeso vengono annullati, quindi non terminano mai. Non viene eliminato nulla. Chiede prima conferma, a meno che non sia già in quello stato. Richiede workflowId, active. Può chiedere conferma.
- instantiate_template: Grafo da modello. Trasforma un modello in un grafo pronto per create: { name, description, nodes, connections } con nuovi id dei nodi. I modelli lasciano volutamente vuoti destinatari, porte e orari; compilali prima. Non salva nulla. Richiede templateId.
- generate: Genera un grafo. Costruisce un grafo da un prompt in linguaggio naturale con l'AI della struttura e restituisce { name, description, nodes, connections } usando solo tipi di nodo validi. Passa workflow per rivederne uno; viene restituito l'intero grafo rivisto. Non salva nulla, ma consuma i crediti AI della struttura. Richiede prompt. Chiede conferma.
Parametri
| Nome | Tipo | Descrizione |
|---|---|---|
action* | "create" | "update" | "patch_meta" | "duplicate" | "delete" | "discard_draft" | "publish" | "set_active" | "instantiate_template" | "generate" | Cosa fare; ogni azione è descritta nella descrizione dello strumento. |
name | string | Nome del workflow (create, update, patch_meta) |
description | string | Cosa fa il workflow (create, update, patch_meta) |
nodes | array | Ogni nodo: { id, name, type, position, parameters }. Tipi e parametri provengono da workflow_definitions_read node_types. (create, update) |
connections | object | Connessioni indicizzate per nome del nodo di origine; può essere vuoto per un singolo nodo (create, update) |
notes | array | Note del canvas (create, update) |
settings | object | Impostazioni del workflow (create, update) |
facilityId | string | ID della struttura. Facoltativo quando intendi la struttura connessa. |
workflowId | string | Id del workflow da workflow_definitions_read list (update, patch_meta, duplicate, delete, discard_draft, publish, set_active) |
confirmWaitRetargets | boolean | Ricalcola gli step Delay in attesa elencati negli impacts del risultato precedente (publish) |
confirmedWaitRetargets | array | Gli impacts del risultato WAIT_RETARGET_CONFIRMATION_REQUIRED, rinviati senza modifiche (publish) |
active | boolean | true per attivarlo, false per arrestarlo (set_active) |
templateId | string | Id del modello da workflow_definitions_read templates (instantiate_template) |
prompt | string | Cosa dovrebbe fare il workflow (generate) |
workflow | object | Un workflow completo da workflow_definitions_read get, da rivedere invece di partire da zero (generate) |
confirm | boolean | Impostalo solo dopo che l'utente ha confermato l'anteprima restituita dalla prima chiamata |
workflow_runs_readFlussi di lavoroLa cronologia delle esecuzioni di un workflow, dalla più recente, e una singola esecuzione passo per passo. Usalo per verificare se un'automazione è stata eseguita, seguire un'esecuzione avviata con workflow_runs_write o scoprire quale nodo non è riuscito e perché.
Azioni:
- list: Elenca le esecuzioni. Ogni esecuzione con stato, modalità (live o test), effetti collaterali, trigger, chi l'ha avviata, orari, numero di step, il nodo su cui è in attesa ed eventuali errori. Richiede workflowId.
- get: Ottieni un'esecuzione. Lo stato dell'esecuzione più ogni step in ordine, con input, output, nota ed errore di ciascun nodo. Le esecuzioni sono asincrone: una con Delay resta in attesa finché la sua continuazione non è dovuta. Richiede workflowId, executionId.
Parametri
| Nome | Tipo | Descrizione |
|---|---|---|
action* | "list" | "get" | Cosa fare; ogni azione è descritta nella descrizione dello strumento. |
workflowId | string | Id del workflow da workflow_definitions_read list |
limit | integer | Elementi per pagina (predefinito 25, massimo 100) (list) |
cursor | string | nextCursor della pagina precedente (list) |
facilityId | string | ID della struttura. Facoltativo quando intendi la struttura connessa. |
executionId | string | Id dell'esecuzione da workflow_runs_read list (get) |
workflow_runs_writeFlussi di lavoroAvvia, esegue in test, annulla e ripete le esecuzioni dei workflow. Preferisci test, che esegue la bozza con effetti collaterali simulati; run esegue davvero il workflow pubblicato. Le esecuzioni sono asincrone: seguile con workflow_runs_read get.
Azioni:
- run: Esegui ora. Esegue il workflow pubblicato dal suo trigger manuale (custom.manualTrigger), con effetti collaterali reali. I trigger pianificati, webhook ed evento scattano da soli. Restituisce l'executionId dell'esecuzione e il primo stato. Richiede workflowId. Chiede conferma.
- test: Testa la bozza. Esegue la bozza salvata senza pubblicarla, registrandola come esecuzione di test. Gli effetti collaterali sono simulati per impostazione predefinita: non viene inviato né attivato nulla e ogni nodo riporta cosa avrebbe fatto. sideEffects live chiede prima conferma. Richiede workflowId. Può chiedere conferma.
- cancel: Annulla un'esecuzione in attesa. Annulla un'esecuzione in attesa su un Delay: le sue attese in sospeso si chiudono e gli step successivi non vengono mai eseguiti. Le esecuzioni terminate e quelle a metà di uno step non possono essere annullate. Richiede workflowId, executionId. Chiede conferma.
- retry: Ripeti un'esecuzione. Ripete un'esecuzione terminata a partire dall'input del trigger registrato, collegata tramite retryOf. published (predefinito) riesegue davvero la versione usata e chiede prima conferma; draft-test esegue la bozza attuale in modo simulato, la scelta giusta mentre correggi un errore. Richiede workflowId, executionId. Può chiedere conferma.
Parametri
| Nome | Tipo | Descrizione |
|---|---|---|
action* | "run" | "test" | "cancel" | "retry" | Cosa fare; ogni azione è descritta nella descrizione dello strumento. |
workflowId | string | Id del workflow da workflow_definitions_read list |
nodeId | string | Id del nodo trigger da cui partire; ometti per il trigger manuale (run, test) |
payload | object | Input per i nodi dopo il trigger, ad es. { "visitorName": "Ada" } (run, test) |
facilityId | string | ID della struttura. Facoltativo quando intendi la struttura connessa. |
sideEffects | "simulate" | "live" | Se le azioni dei nodi vengono eseguite davvero (test) |
executionId | string | Id dell'esecuzione da workflow_runs_read list (cancel, retry) |
mode | "published" | "draft-test" | Su cosa eseguire la ripetizione (retry) |
confirm | boolean | Impostalo solo dopo che l'utente ha confermato l'anteprima restituita dalla prima chiamata |