Pràctica 1: Primer Workflow
Objectiu
Crear un primer workflow a n8n que demostri la comprensio dels conceptes bàsics: trigger, nodes de lògica, nodes d'acció i flux de dades.
Enunciat
Has de crear un workflow que:
- S'activi manualment
- Generi un conjunt de dades de prova (una llista de 5 alumnes amb nom i nota)
- Comprovi si cada alumne ha aprovat (nota >= 5)
- Per als aprovats: prepari un missatge de felicitació
- Per als suspesos: prepari un missatge d'anim
- Mostri el resultat final de tots els alumnes
Estructura del workflow
flowchart LR
A([Manual\nTrigger]) --> B[Code\nGenerar dades]
B --> C{IF\nnota >= 5?}
C -->|Si - Aprovat| D[Set\nMissatge aprovat]
C -->|No - Suspens| E[Set\nMissatge suspens]
D --> F[Merge\nUnir resultats]
E --> F
F --> G[Code\nMostrar resum]
Passos a seguir
Pas 1: Crear un nou workflow
- Obre n8n al navegador
- Fes clic a + New workflow
- Posa el nom:
Pràctica 1 - Qualificacions [el teu nom]
Pas 2: Afegir el Manual Trigger
- Fes clic al node + del canvas
- Cerca i selecciona Manual Trigger
- Reanomena'l a
Inici manual
Pas 3: Generar dades de prova amb el Code node
Afegeix un node Code després del trigger amb aquest codi:
const alumnes = [
{ nom: "Anna Garcia", nota: 8.5 },
{ nom: "Bernat Puig", nota: 4.2 },
{ nom: "Carla Mas", nota: 6.7 },
{ nom: "David Riu", nota: 3.1 },
{ nom: "Elena Soler", nota: 9.0 }
];
return alumnes.map(alumne => ({
json: alumne
}));
Reanomena el node a Generar llista alumnes.
Execució parcial
Pots executar només fins a aquest node fent clic dret → "Execute node" per veure si les dades son correctes abans de continuar.
Pas 4: Afegir el node IF
- Afegeix un node IF després del Code node
- Reanomena'l a
Comprovar si aprovat - Configura la condicio:
- Valor 1:
{{ $json.nota }} - Operació: Number → Greater than or equal
- Valor 2:
5
Pas 5: Node Set per als aprovats
Al branca true del IF, afegeix un node Edit Fields (Set):
- Reanomena'l a
Preparar missatge aprovat - Afegeix el camp
resultatamb valor:Aprovat amb un {{ $json.nota }} - Afegeix el camp
estatamb valor:aprovat
Pas 6: Node Set per als suspesos
Al branca false del IF, afegeix un node Edit Fields (Set):
- Reanomena'l a
Preparar missatge suspens - Afegeix el camp
resultatamb valor:Suspens amb un {{ $json.nota }} - Afegeix el camp
estatamb valor:suspens
Pas 7: Unir els resultats
Afegeix un node Merge després dels dos nodes Set:
- Reanomena'l a
Unir tots els resultats - Mode: Append
- Connecta les dues sortides (aprovats i suspesos) al Merge
Pas 8: Resum final
Afegeix un node Code final:
- Reanomena'l a
Generar resum - Codi:
const items = $input.all();
const aprovats = items.filter(i => i.json.estat === 'aprovat').length;
const suspesos = items.filter(i => i.json.estat === 'suspens').length;
console.log(`Total: ${items.length} alumnes`);
console.log(`Aprovats: ${aprovats}`);
console.log(`Suspesos: ${suspesos}`);
return items.map(item => ({
json: {
...item.json,
resum: `${aprovats} aprovats, ${suspesos} suspesos de ${items.length}`
}
}));
Pas 9: Executar i verificar
- Fes clic a Execute Workflow
- Revisa les dades de sortida de cada node
- Comprova que cada alumne te el camp
estatiresultatcorrects
Lliurament
Lliura al campus virtual:
- Captura de pantalla del workflow complet (tots els nodes visibles)
- Captura de les dades de sortida del node final
- Fitxer JSON exportat del workflow (boto dret al canvas → "Export")
- Breu explicació (5-10 línies) del què fa cada node del teu workflow
Rúbrica d'avaluació PRN8N01
| Criteri | Insuficient (0-4) | Suficient (5-6) | Notable (7-8) | Excel·lent (9-10) |
|---|---|---|---|---|
| Workflow funcional | No s'executa | S'executa amb errors | S'executa correctament | S'executa correctament i de manera òptima |
| Nodes ben nomenats | Noms genèrics | Alguns nodes amb nom descriptiu | Tots els nodes amb noms descriptius | Noms descriptius i consistents |
| Lògica correcta | Bifurcació absent o incorrecta | Bifurcació parcial | Bifurcació correcta | Lògica perfecta amb casos edge |
| Dades de sortida | No mostren el resultat esperat | Resultat parcial | Resultat correcte | Resultat correcte amb camps addicionals útils |
| explicació | Absent o molt breu | Bàsica | Clara i completa | Clara, completa i amb reflexió crítica |
Trampa
No copiis el workflow d'un company. N8n guarda el nom del creador a l'arxiu JSON exportat.