KEPLIN Docs

Stappen, beslissingen en wachtstanden

De catalogus van de knooppunten van een workflow — voorwaarden, schrijven naar het record, meldingen, e-mails, scripts, wachtstanden, lussen, parallellisme en samenkomsten.

Deze pagina loopt alle soorten stap langs die u van het palet Knooppunten naar het doek sleept. Voor elk: wat het doet, wat u invult en wat er tijdens de uitvoering gebeurt.

Eerst nog een onderdeel dat in bijna alle stappen terugkomt: de herkomst van een waarde.

Waar een waarde vandaan komt

Telkens wanneer een stap om een waarde vraagt — de rechterkant van een voorwaarde, wat er in een veld wordt geschreven — biedt de interface dezelfde vier herkomsten:

Herkomst Wat die meebrengt
Vaste waarde Een met de hand getypte tekst ("Ganha", "25000").
Veld van het record Een veld van het record waarover de uitvoering gaat.
Variabele Een van de variabelen van het proces.
Wie het gestart heeft Wie het proces heeft laten starten — Gebruikersnaam (de username) of Id van de gebruiker.

Daarom heeft een proces voor het meeste wat het doet geen code nodig: de beslissingen en de schrijfacties stelt u met deze vier onderdelen samen.

Voorwaarde

Opent twee wegen vanuit één vraag. Heeft altijd twee vaste uitgangen: Waar en Onwaar.

Het dialoogvenster Voorwaarden van de stap
Het dialoogvenster Voorwaarden van de stap

  1. Selecteer de stap en open Voorwaarden via de knop .
  2. Klik op Voorwaarde toevoegen.
  3. Kies de herkomst van de linkerkant (normaal gesproken Veld van het record), het veld, de operator en de rechterkant.

De operatoren zijn dezelfde als die van de filters en de opmaakregels in de rest van het platform:

Operator Betekent
eq / neq Gelijk aan / niet gelijk aan
gt / gte Groter dan / groter of gelijk
lt / lte Kleiner dan / kleiner of gelijk
contains Bevat de tekst
startsWith / endsWith Begint met / eindigt op
isEmpty / isNotEmpty Is leeg / is niet leeg

"Ze moeten allemaal opgaan" — meerdere voorwaarden in dezelfde stap worden met EN gecombineerd, nooit met OF. Voor een OF gebruikt u twee voorwaardestappen achter elkaar.

Zonder enige voorwaarde "gaat hij altijd via «Waar»" — handig tijdens het ontwerpen, gevaarlijk als het zo blijft.

Naar het record schrijven

Slaat velden op in het record waarover de uitvoering gaat. Het is de stap die de kring sluit: het proces heeft beslist, nu moet de fiche in het CRM dat weerspiegelen.

Het dialoogvenster Velden om naar het record te schrijven
Het dialoogvenster Velden om naar het record te schrijven

  1. Open Velden om te schrijven via de knop .
  2. Klik op Veld toevoegen.
  3. Kies het Veld en de herkomst van de waarde.

In het voorbeeld schrijft de stap Marcar como Ganha fase = "Ganha" (vaste waarde) en responsavel = Wie het gestart heeft (de username van wie het proces begonnen is).

Nota

Het schrijven gebeurt "via hetzelfde GraphQL van de app, met de autorisatie van wie het gestart heeft". Oftewel: de rechten tellen. Mag wie het proces gestart heeft die entiteit niet wijzigen, dan mislukt de stap — en dat is maar goed ook, want een proces is geen achterdeur naar de rechten.

Een stap zonder enig veld "doet niets" — de interface zegt het in plaats van het te verbergen.

Melden

Stuurt een melding binnen de app — het belletje in de navigatie, in real time voor wie is ingelogd, en in de inbox voor wie dat niet is.

Veld Opmerkingen
Gebruikers Accounts van de app, met de hand gekozen.
Rollen Alle gebruikers met die rol. Overleeft het komen en gaan van mensen.
Titel De regel die in de melding verschijnt.
Tekst De inhoud.

In de titel en de tekst kunt u waarden uit het record of uit variabelen tussen accolades zetten: A oportunidade {titulo} foi rejeitada.

E-mail

Hetzelfde als Melden, maar de bestemming is de e-mail, via het kanaal dat in de instellingen van de app is geconfigureerd. Het heeft twee velden meer: de inhoud is HTML, geschreven in een eigen editor, en er kan een rapport als bijlage mee.

De geselecteerde stap E-mail, met het eigenschappenpaneel
De geselecteerde stap E-mail, met het eigenschappenpaneel

Veld Opmerkingen
Gebruikers / Rollen De ontvangers. Wie geen e-mailadres heeft, valt buiten de boot.
Onderwerp Accepteert {campo} net als de rest van de berichten.
Tekst Opent een HTML-editor via de knop (Inhoud van de e-mail).
Rapport bijvoegen Een van de rapporten van de app, of Geen bijlage.

Over de bijlage: "de PDF wordt op het moment van versturen gegenereerd, voor het record van deze uitvoering" — het is geen bewaard bestand, het is het document van dat geval, op dat moment gemaakt. Zie het hoofdstuk Rapporten.

Atenção

Zonder actief e-mailkanaal en volledige SMTP in de instellingen van de app kan de stap niets versturen. Stel het in bij Instellingen van de app → Meldingen voordat u het proces laat draaien.

Script uitvoeren

Roept een Python-script van de app aan, midden in het proces. Het is de ontsnappingsklep voor alles wat het ontwerp niet doet: een externe dienst aanroepen, een marge berekenen, tegen een ander systeem valideren.

De geselecteerde stap Script uitvoeren
De geselecteerde stap Script uitvoeren

Veld Opmerkingen
Script Een van de scripts van de app.
Opslaan in De variabele waarin blijft wat het script teruggeeft. Leeg = "weggegooid".

Het script "krijgt het record, de sleutel en de variabelen als argumenten" — u hoeft ze niet met de hand mee te geven. Wat het teruggeeft, blijft in de aangegeven variabele staan en is voortaan beschikbaar voor de volgende stappen.

Mislukt het script, dan blijft de uitvoering bij die stap op Mislukt staan, met de fout bewaard in de geschiedenis.

Wachten

Stelt het proces een vaste tijd uit: Dagen en Uren. "Nul bij beide = er wordt niet gewacht."

Het is het onderdeel van "waarschuw me over drie dagen als er nog geen antwoord is". De uitvoering slaapt en wordt op het juiste moment automatisch hervat, ook al is de server er tussendoor herstart.

Op een gebeurtenis wachten

Stelt het proces uit totdat iemand een signaal met een afgesproken naam stuurt.

De geselecteerde stap Op een gebeurtenis wachten
De geselecteerde stap Op een gebeurtenis wachten

Het enige veld is de Naam van het signaal (in het voorbeeld dados-completos). "Wie het signaal stuurt, schrijft deze naam. Zonder vast tijdstip: stuurt niemand het, dan blijft het proces wachten."

Het signaal stuurt u op twee manieren:

  • in een schermgebeurtenis (TypeScript): keplin.workflow.signal("dados-completos", id)
  • in een script (Python): workflow.signal("dados-completos", key=id)

Zonder het record aan te geven wekt het signaal alle processen die op die naam stilstaan; met het record alleen die van dat record. Nul gewekte processen is geen fout — het betekent dat er niemand stond te wachten.

Dica

Het is gebruikelijk om Op een gebeurtenis wachten te combineren met een pijl terug naar een taak: de persoon stuurt het geval terug met een verzoek om meer gegevens, het proces blijft op het signaal wachten, en zodra de verkoper de fiche aanvult, brengt het signaal het geval terug bij dezelfde taak. Dat is precies wat het voorbeeld in deze documentatie doet.

Lus

Loopt een lijst door, één waarde tegelijk. Heeft twee uitgangen: Elk (het lichaam van de lus, dat één keer per waarde draait) en Aan het eind (wanneer de lijst op is).

Veld Opmerkingen
Lijst De variabele met de waarden die doorlopen moeten worden. "Meestal is het een scriptstap die haar oplevert."
Elk opslaan in De variabele die de waarde van de huidige ronde krijgt.

Zonder gekozen lijst waarschuwt het ontwerp: "Deze lus zegt niet welke lijst er doorlopen moet worden: hij gaat er meteen uit via «Aan het eind»."

Parallel

Start meerdere wegen tegelijk. Elke vertakking is een uitgang van het knooppunt.

Het dialoogvenster Parallelle vertakkingen
Het dialoogvenster Parallelle vertakkingen

  1. Open Parallelle vertakkingen via de knop .
  2. Elke regel is een vertakking, met een Label (wat u in het ontwerp leest) en een Identificatie.
  3. Verbind elke uitgang met de eerste stap van de bijbehorende vertakking.

In het voorbeeld opent de stap Fechar e comunicar twee vertakkingen: Registo (die de fase opslaat) en Cliente (die de e-mail verstuurt). Geen van beide wacht op de ander.

Samenkomst

Voegt de vertakkingen van een Parallel weer samen. Het is de stap die antwoord geeft op "op hoeveel wordt er gewacht?".

De geselecteerde Samenkomst, met het eigenschappenpaneel
De geselecteerde Samenkomst, met het eigenschappenpaneel

Wachten op Wat dat doet
Alle vertakkingen Het proces gaat pas verder wanneer de laatste vertakking aankomt.
De eerste beslist Gaat verder met de eerste die aankomt — "de andere vertakkingen worden geannuleerd zodra er één aankomt".
Een aantal ervan Gaat verder na het aantal vertakkingen dat u bij Hoeveel aangeeft.

Subworkflow

Roept een ander proces aan, over hetzelfde record.

Veld Opmerkingen
Proces om uit te voeren Een van de workflows van de app.
Wachten tot het klaar is Aan: dit proces stopt totdat het andere klaar is. "Uitgeschakeld gaat dit proces verder en draait het andere op eigen houtje."

"Het draait op HETZELFDE record, en moet daarom over dezelfde entiteit gaan" — een proces over opportuniteiten kan geen proces over accounts aanroepen. En een proces kan zichzelf niet aanroepen: "dat zou eindeloze recursie zijn", en het ontwerp meldt dat.

Einde

Beëindigt de uitvoering. Heeft één enkel veld, Resultaat, een korte tekst als aprovado, ganha of perdida. "Het blijft in de geschiedenis staan en is wat de statuswidget toont."

Een proces mag meerdere knooppunten Einde hebben — één per afloop — en dat is precies wat u hoort te doen: in plaats van één algemeen Einde, één per resultaat, zodat de geschiedenis iets zegt tegen wie haar maanden later leest.

Hoe u een stap op het doek leest

Elk vak op het doek toont drie dingen: de naam van de stap (wat u bij Naam van de stap hebt getypt, en wat in de geschiedenis verschijnt), de soort in kleine letters daaronder, en de uitgangen rechts, met de naam van elk. Een amberkleurige driehoek in de hoek markeert een stap met problemen.

Dica

Geef de stappen namen uit het bedrijfsleven — "Aprovação da direcção", "Marcar como Ganha" — en geen technische namen. Het is die tekst die u in de geschiedenis van elke uitvoering gaat lezen wanneer iemand vraagt "waar staat dit geval stil?".