Steg, beslut och väntan
Katalogen över ett arbetsflödes noder — villkor, skrivningar till posten, aviseringar, e-post, skript, väntan, loopar, parallellitet och sammanslagningar.
Den här sidan går igenom alla stegtyper som dras från paletten Noder till duken. För var och en: vad den gör, vad man fyller i och vad som händer under körningen.
Innan dess, en del som återkommer i nästan alla: ett värdes ursprung.
Varifrån ett värde kommer
Varje gång ett steg ber om ett värde — högersidan i ett villkor, det som skrivs i ett fält — erbjuder gränssnittet samma fyra ursprung:
| Källa | Vad den ger |
|---|---|
| Fast värde | En text skriven för hand (”Ganha”, ”25000”). |
| Fält i posten | Ett fält i posten som körningen handlar om. |
| Variabel | En av processens variabler. |
| Den som startade | Den som fick processen att starta — Användarnamn (användarnamnet) eller Användarens id. |
Det är därför en process inte behöver kod för det mesta den gör: besluten och skrivningarna sätts ihop av de här fyra delarna.
Villkor
Öppnar två vägar utifrån en fråga. Den har alltid två fasta utgångar: Sant och Falskt.
- Markera steget och öppna Villkor med knappen ….
- Klicka på Lägg till villkor.
- Välj vänstersidans källa (normalt Fält i posten), fältet, operatorn och högersidan.
Operatorerna är desamma som i filtren och formateringsreglerna i resten av plattformen:
| Operator | Betyder |
|---|---|
eq / neq |
Lika med / skild från |
gt / gte |
Större än / större än eller lika med |
lt / lte |
Mindre än / mindre än eller lika med |
contains |
Innehåller texten |
startsWith / endsWith |
Börjar med / slutar med |
isEmpty / isNotEmpty |
Är tomt / är inte tomt |
”Alla måste vara uppfyllda” — flera villkor i samma steg kombineras med OCH, aldrig med ELLER. För ett ELLER använder du två villkorssteg i kedja.
Utan några villkor alls ”går den alltid via «Sant»” — praktiskt medan man designar, farligt om det blir kvar så.
Skriv till posten
Sparar fält i posten som körningen handlar om. Det är steget som sluter kretsen: processen har beslutat, nu måste CRM-kortet återspegla det.

- Öppna Fält att skriva med knappen ….
- Klicka på Lägg till fält.
- Välj Fält och värdets källa.
I exemplet skriver steget Marcar como Ganha fase = "Ganha" (fast värde)
och responsavel = Den som startade (användarnamnet för den som startade
processen).
Nota
Skrivningen sker ”via appens eget GraphQL, med behörigheten hos den som startade”. Alltså: behörigheterna räknas. Om den som startade processen inte får ändra den entiteten misslyckas steget — och det gör rätt i att misslyckas, för en process är ingen bakdörr förbi behörigheterna.
Ett steg utan några fält alls ”gör ingenting” — gränssnittet säger det i stället för att dölja det.
Avisera
Skickar en avisering inne i appen — klockan i navigeringen, i realtid för den som har en öppen session, och i inkorgen för den som inte har det.
| Fält | Anteckningar |
|---|---|
| Användare | Konton i appen, valda för hand. |
| Roller | Alla användare med den rollen. Överlever att människor kommer och går. |
| Titel | Raden som visas i aviseringen. |
| Text | Brödtexten. |
I titeln och texten kan du sätta in värden från posten eller från variabler
inom klammerparenteser: Affärsmöjligheten {titulo} har avslagits.
E-post
Samma som Avisera, men destinationen är e-post, via kanalen som konfigurerats i appens inställningar. Den har två fält till: brödtexten är HTML, skriven i en egen editor, och kan bära med sig en rapport som bilaga.

| Fält | Anteckningar |
|---|---|
| Användare / Roller | Mottagarna. Den som inte har e-post hamnar utanför. |
| Ämne | Godtar {fält} som resten av meddelandena. |
| Text | Öppnar en HTML-editor med knappen … (E-postens brödtext). |
| Bifoga rapport | En av appens rapporter, eller Ingen bilaga. |
Om bilagan: ”PDF:en genereras i samma stund som mejlet skickas, för den här körningens post” — det är ingen sparad fil, det är just det fallets dokument, skapat i just det ögonblicket. Se kapitlet Rapporter.
Atenção
Utan aktiv e-postkanal och fullständig SMTP i appens inställningar kan steget inte skicka. Konfigurera det under Appens inställningar → Aviseringar innan du sätter processen i drift.
Kör skript
Anropar ett Python-skript i appen, mitt i processen. Det är säkerhetsventilen för allt som designen inte klarar: anropa en extern tjänst, räkna ut en marginal, validera mot ett annat system.
| Fält | Anteckningar |
|---|---|
| Skript | Ett av appens skript. |
| Spara i | Variabeln där det som skriptet returnerar hamnar. Tomt = ”kastas bort”. |
Skriptet ”får posten, nyckeln och variablerna som argument” — du behöver inte skicka med dem för hand. Det som det returnerar hamnar i den angivna variabeln och blir tillgängligt för följande steg.
Om skriptet misslyckas hamnar körningen i Misslyckades vid det steget, med felet sparat i historiken.
Vänta
Skjuter upp processen en fast tid: Dagar och Timmar. ”Noll i båda = ingen väntan alls.”
Det är delen för ”påminn mig om tre dagar om det fortfarande inte kommit något svar”. Körningen sover och återupptas automatiskt vid rätt tidpunkt, även om servern startats om under tiden.
Vänta på händelse
Skjuter upp processen tills någon skickar en signal med ett överenskommet namn.

Det enda fältet är Signalens namn (i exemplet dados-completos). ”Den som
skickar signalen skriver det här namnet. Utan utsatt tid: om ingen skickar den
väntar processen.”
Signalen skickas på två sätt:
- i en skärmhändelse (TypeScript):
keplin.workflow.signal("dados-completos", id) - i ett skript (Python):
workflow.signal("dados-completos", key=id)
Utan att ange posten väcker signalen alla processer som stannat på det namnet; med posten bara de som gäller den. Noll väckta är inget fel — det betyder att ingen väntade.
Dica
Det är vanligt att kombinera Vänta på händelse med en pil tillbaka till en uppgift: personen skickar tillbaka ärendet och ber om mer data, processen blir stående och väntar på signalen, och när säljaren kompletterar kortet för signalen tillbaka ärendet till samma uppgift. Det är precis vad exemplet i den här dokumentationen gör.
Loop
Går igenom en lista, ett värde i taget. Den har två utgångar: Varje (loopens kropp, som körs en gång per värde) och När klart (när listan tar slut).
| Fält | Anteckningar |
|---|---|
| Lista | Variabeln med värdena som ska gås igenom. ”Det är oftast ett skriptsteg som producerar den.” |
| Spara varje i | Variabeln som får värdet för det aktuella varvet. |
Utan vald lista varnar designen: ”Den här loopen säger inte vilken lista den ska gå igenom: den går direkt ut via «När klart».”
Parallell
Startar flera vägar samtidigt. Varje gren är en utgång från noden.
- Öppna Parallella grenar med knappen ….
- Varje rad är en gren, med en Etikett (det som läses i designen) och en Identifierare.
- Koppla varje utgång till första steget i respektive gren.
I exemplet öppnar steget Fechar e comunicar två grenar: Registo (som sparar fasen) och Cliente (som skickar e-posten). Ingen väntar på den andra.
Sammanslagning
Fogar samman grenarna från en Parallell igen. Det är steget som svarar på ”hur många väntar man på?”.

| Vänta på | Vad den gör |
|---|---|
| Alla grenar | Processen går vidare först när den sista grenen är framme. |
| Den första avgör | Den går vidare med den första som är framme — ”de andra grenarna avbryts så snart en är framme”. |
| Ett antal av dem | Den går vidare efter så många grenar som du anger i Hur många. |
Underarbetsflöde
Anropar en annan process, på samma post.
| Fält | Anteckningar |
|---|---|
| Process att köra | Ett av appens arbetsflöden. |
| Vänta tills den är klar | Påslaget stannar den här processen tills den andra är klar. ”Avstängt går den här processen vidare och den andra körs för sig.” |
”Det körs på SAMMA post, och måste därför handla om samma entitet” — en process om affärsmöjligheter kan inte anropa en process om konton. Och en process kan inte anropa sig själv: ”det skulle bli oändlig rekursion”, och designen påpekar det.
Slut
Avslutar körningen. Den har ett enda fält, Resultat, en kort text som
aprovado, ganha eller perdida. ”Det stannar i historiken och är det som
statuswidgeten visar.”
En process kan ha flera Slut-noder — en per utgång — och det är precis vad man bör göra: i stället för ett generiskt Slut, ett per resultat, så att historiken säger något till den som läser den månader senare.
Hur man läser ett steg på duken
Varje ruta på duken visar tre saker: stegets namn (det du skrev i Stegets namn, och det som visas i historiken), typen i små bokstäver under, och utgångarna till höger, med namnet på var och en. En bärnstensfärgad triangel i hörnet markerar ett steg med problem.
Dica
Ge stegen affärsnamn — ”Aprovação da direcção”, ”Marcar como Ganha” — och inte tekniska namn. Det är den texten du kommer att läsa i varje körnings historik när någon frågar ”var har det här ärendet fastnat?”.


