Salt la conținutul principal

Definiți un flux de lucru

Aplicațiile pot include fluxuri de lucru. Fiecare apel defineWorkflow() descrie un flux de lucru: un declanșator și pașii pe care îi execută. La instalare, Twenty îl creează ca flux de lucru activ în spațiul de lucru, gata de rulare. Acest flux de lucru rulează atunci când este creată o companie. Apelează una dintre funcțiile logice ale aplicației, apoi scrie rezultatul în companie:
src/workflows/score-new-companies.ts
Puncte cheie:
  • Fluxul de lucru, declanșatorul său și fiecare pas au nevoie de propriul universalIdentifier. Păstrați-le stabile între versiuni: astfel Twenty identifică fluxul de lucru instalat la următoarea instalare.
  • nextStepIds conectează graful. Declanșatorul indică spre primii pași, iar fiecare pas indică spre pașii care se execută după acesta.
  • Un pas citește rezultatul anterior cu {{trigger.\<path>}} sau {{\<step universalIdentifier>.\<path>}}.
  • Compilarea validează întreaga definiție: tipurile de declanșatoare sau pași neacceptate, legăturile de pași defecte și referințele la pași necunoscuți o fac să eșueze.

Referirea la alte entități

Pașii și declanșatoarele indică metadate prin identificator universal, niciodată prin nume sau id:
  • Obiecte și câmpuri: cele proprii ale aplicației sau cele standard prin STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS. Exemplul de mai sus presupune că aplicația definește și un câmp numeric leadScore în Companie cu defineField(): un pas de înregistrare care scrie într-un câmp lipsă din spațiul de lucru face instalarea să eșueze.
  • Funcții logice: cele proprii ale aplicației, expuse ca acțiune de flux de lucru cu workflowActionTriggerSettings. Aplicația personalizată a spațiului de lucru poate, de asemenea, să facă referire la acțiunile fluxurilor de lucru ale celorlalte aplicații instalate în spațiul de lucru, la fel cum pot fluxurile de lucru create în aplicație.
  • Agenți: cei proprii ai aplicației, din defineAgent().
O referință pe care Twenty nu o poate rezolva face instalarea să eșueze.

Declanșatoare

Un flux de lucru manual fără availability nu primește nicio intrare în meniul de comenzi. Un flux de lucru webhook ascultă la https://\<your-twenty-domain>/webhooks/workflows/\<workspaceId>/\<workflowId>, unde workflowId este id-ul fluxului de lucru instalat. Corpul cererii este disponibil ca {{trigger.\<path>}}.

Pași

Fluxurile de lucru ale aplicației acceptă aceste tipuri de pași: LOGIC_FUNCTION, AI_AGENT, HTTP_REQUEST, CLASSIFY, CREATE_RECORD, UPDATE_RECORD, UPSERT_RECORD, DELETE_RECORD, FIND_RECORDS, PICK_RECORD, FILTER, IF_ELSE, ITERATOR, FORM, DELAY, WAIT_FOR_EVENT, SEND_EMAIL, DRAFT_EMAIL, CREATE_CALENDAR_EVENT și EMPTY. Intrările lor corespund pașilor din constructorul de fluxuri de lucru, cu identificatori universali în locul numelor:
  • Pașii de înregistrare folosesc objectUniversalIdentifier în locul numelui obiectului.
  • Filtrele și sortările indică spre câmpuri cu fieldMetadataUniversalIdentifier.
  • Câmpurile de formular de tip RECORD își denumesc obiectul cu settings.objectUniversalIdentifier. Câmpurile de tip SELECT și MULTI_SELECT oferă opțiunile unui câmp existent de același tip, denumit cu settings.selectedFieldUniversalIdentifier.
  • Pentru a executa propriul cod, utilizați un pas LOGIC_FUNCTION. Pasul Code al generatorului nu este disponibil.
  • Pașii de e-mail și calendar rulează numai dacă rolul aplicației dvs. are indicatorul de permisiune corespunzător: SystemPermissionFlag.SEND_EMAIL_TOOL pentru SEND_EMAIL și DRAFT_EMAIL, SystemPermissionFlag.CREATE_CALENDAR_EVENT_TOOL pentru CREATE_CALENDAR_EVENT. Spațiul de lucru o acordă prin instalarea aplicației, iar pasul poate utiliza apoi orice cont conectat din spațiul de lucru, asemenea unui flux de lucru creat în aplicație.
  • id-urile conturilor conectate sunt locale pentru fiecare spațiu de lucru, deci nu includeți unul direct în cod. Transmite contul ca variabilă. Pașii de e-mail acceptă, de asemenea, un ID de membru al spațiului de lucru, cum ar fi {{trigger.properties.after.assigneeId}}, care se rezolvă la primul cont al acelui membru care poate trimite.

După instalare

  • Fluxul de lucru devine activ imediat ce aplicația este instalată, iar execuțiile sale apar împreună cu celelalte execuții de fluxuri de lucru ale spațiului de lucru.
  • Instalarea unei versiuni noi a aplicației actualizează fluxul de lucru pe loc.
  • Utilizatorii nu pot edita un flux de lucru instalat. Pentru a personaliza unul, îl duplică: copia le aparține pentru editare.