Data-byggeklodser
Data-kategorien samler de byggeklodser, der henter, indlæser, omformer og sammenstiller data — fra danske offentlige registre (CVR, Datafordeler, Plandata, Retsinformation, Overenskomstdatabasen) over eksterne API'er og databaser til lokale værktøjer, der parser, kombinerer, opdeler og konverterer data undervejs i et flow. Brug dem til at skaffe fakta udefra og få dem på den rette form, før de sendes videre til fx en Sprogmodel eller ud i en rapport.
Hver byggeklods herunder er beskrevet med sine inputs, outputs, typiske brugsscenarier og en kort Brug når / Undlad når-vejledning, så du hurtigt kan vurdere, om den passer til dit flow.
Danske registre og ejendomsdata
CVR Opslag
Slår virksomhedsoplysninger op i det danske CVR-register (Central Virksomhedsregister) ud fra et CVR-nummer. Returnerer stamdata (navn, adresse, branche, status, kontaktoplysninger), historik samt struktureret ejer- og datterselskabsinformation — og valgfrit nøgletal fra seneste årsrapport.
Inputs
| Felt | Type | Beskrivelse |
|---|---|---|
| CVR-nummer | Heltal | 8-cifret CVR-nummer på virksomheden (mellem 10000000 og 99999999). Påkrævet. |
| Hent regnskabstal | Ja/nej | Henter og udtrækker nøgletal (omsætning, balance, egenkapital) fra seneste årsrapport. Koster et ekstra API-kald pr. opslag. Standard: fra. |
Outputs
Noden giver 32 outputs. De vigtigste er tekstfelter: Virksomhedsnavn, Adresse, Hovedbranche, Virksomhedsform, Status og Data (det komplette CVR-datasæt som JSON). Under "Avanceret" ligger yderligere tekstfelter: kontaktoplysninger (telefon, e-mail, hjemmeside — kun hvis de ikke er markeret som hemmelige), stiftelsesdato, beskæftigelsestal (måned/kvartal/år), reklamebeskyttelse, bibranche 1–3, postadresse, binavne, navne- og statushistorik, livsforløb, deltagere (ejere, bestyrelse, direktion med roller), produktionsenheder, attributter, regnskabsperioder, fusioner og spaltninger. Derudover fire strukturerede felter: Ejere (list[dict] — opstrøms juridiske ejere med CVR, navn, type, ejerandel% og stemmeret%; kun ejere med aktuel andel medtages), Datterselskaber (list[dict] — virksomheder denne virksomhed ejer, fundet via omvendt søgning, begrænset til 50 resultater), Antal ansatte (tal) (int eller tom) og Regnskab (nøgletal) (dict — kun udfyldt når "Hent regnskabstal" er slået til, ellers tom).
Typiske brugsscenarier
- Berig et CVR-nummer med officielle stamdata (navn, adresse, branche, status) i et dataflow.
- Kreditcheck eller SMV-vurdering: hent regnskabstal og struktureret ejerskab i samme opslag.
- Kortlæg ejerstruktur — hvem ejer virksomheden (opstrøms) og hvilke datterselskaber den ejer (nedstrøms).
- Slå kontaktoplysninger (telefon, e-mail, hjemmeside) op ud fra et CVR-nummer.
Brug når / Undlad når
Brug når:
- Du har et konkret CVR-nummer og skal bruge stamdata, ejerskab eller regnskabstal.
- Du laver kreditcheck/SMV-vurdering — slå "Hent regnskabstal" til for økonomiske nøgletal.
Undlad når:
- Du kun har et virksomhedsnavn: noden slår udelukkende op på CVR-nummer, ikke på navn.
- Du kun skal bruge stamdata — lad "Hent regnskabstal" være slået fra, så du sparer det ekstra API-kald.
Resultatet caches ikke: hvert opslag går live mod CVR-registret, så data er altid aktuelle.
Relaterede byggeklodser: Data-byggeklodser, Oversigt over byggeklodser
SMV-status
Afgør EU's SMV-status (Kommissionens henstilling 2003/361/EF) ud fra ét CVR-nummer: byggeklodsen går virksomhedens ejerskabsgraf (partnere 25-50 % proportionalt, tilknyttede >50 % med 100 % transitivt), henter antal ansatte og regnskabstal fra seneste årsrapport, omregner DKK→EUR, aggregerer koncernen og anvender størrelses-tærsklerne.
Inputs
| Felt | Type | Beskrivelse |
|---|---|---|
| CVR-nummer | int | 8-cifret CVR-nummer på virksomheden der vurderes. Påkrævet. |
| Ansatte-loft | int | Tærskel for maks. antal ansatte (årsarbejdsenheder). Standard 250 = EU's SMV-definition; justér kun hvis reglerne ændrer sig. |
| Omsætningsloft (EUR) | int | Øvre grænse for samlet omsætning. Standard 50.000.000. |
| Balanceloft (EUR) | int | Øvre grænse for samlet balance. Standard 43.000.000. |
| Mikro: ansatte-loft | int | Under-tærskel for kategorien Mikrovirksomhed. Standard 10. |
| Mikro: finansielt loft (EUR) | int | Finansiel under-tærskel for Mikro. Standard 2.000.000. |
| Lille: ansatte-loft | int | Under-tærskel for kategorien Lille virksomhed. Standard 50. |
| Lille: finansielt loft (EUR) | int | Finansiel under-tærskel for Lille. Standard 10.000.000. |
| EUR/DKK-kurs | float | Fast kurs til DKK→EUR-omregning. 0 = systemets løbende standardkurs. |
| Maks. virksomheder i gruppen | int | Maks. antal forbundne virksomheder der hentes i koncerngruppen. Standard 100. Ved overskridelse afkortes gruppen, og tallene bliver en nedre grænse. |
Alle felter ud over CVR-nummeret er avancerede tærskel-justeringer med EU-standardværdier; behold dem, medmindre lovgivningen har ændret tærsklerne, eller du bevidst vil bruge en fast kurs.
Outputs
Ti outputs: Er SMV (bool), Kategori (str: Mikrovirksomhed / Lille virksomhed / Mellemstor virksomhed / Stor virksomhed (ikke SMV)), Samlede ansatte (float, andelsvægtet), Samlet omsætning (EUR) og Samlet balance (EUR) (float eller tom, hvis tal mangler for en eller flere selskaber), Gruppe (list[dict] over de fundne selskaber med relation, branchekode, effektiv andel, tal, samt relationer, personer og reelle_ejere for mål/tilknyttede), Forklaring (str, hvorfor status blev som den blev), Advarsler (list[str], fx manglende ansatte-/regnskabstal eller afkortet gruppe), Reelle ejere (list[dict] over de ultimative fysiske ejere på tværs af den kontrollerede koncern) og Relationsgraf (list[dict] med koncernens ejer-graf som flad, rettet kantliste).
Typiske brugsscenarier
- Automatisk screening af, om en virksomhed kvalificerer til SMV-baserede tilskud, puljer eller regler.
- Due diligence, hvor koncern-ejerskab og reelle ejere skal kortlægges ud fra ét CVR-nummer.
- Berigelse af en leverandør- eller kundeliste med SMV-status og virksomhedsstørrelse.
- Grunddata til at tegne hele inter-selskabs-strukturen via Relationsgraf-outputtet.
Brug når / Undlad når
- Brug når: du vil have EU's officielle SMV-vurdering inkl. koncern-aggregering og reelle ejere ud fra et enkelt CVR-nummer.
- Brug når: du skal have de underliggende koncern-, person- og ejer-data med til videre behandling.
- Undlad når: sagen kræver investor-undtagelserne (art. 3 §2 a-d), offentlig-organ-reglen (art. 3 §4) eller to-års-reglen (art. 4 §2) — disse anvendes ikke automatisk og skal vurderes manuelt.
- Undlad når: mangler både omsætning og balance for gruppen, afgøres status alene på antal ansatte; læs advarslerne, før du stoler blindt på resultatet.
Byggeklodsen laver live-opslag mod CVR-registret og kræver CVR API-legitimationsoplysninger (CVR_API_USERNAME/CVR_API_PASSWORD); mangler de, fejler kørslen. Resultatet caches ikke, så hver kørsel henter friske data.
Relaterede byggeklodser: Data-byggeklodser · Oversigt over byggeklodser
Ejendomsoverblik
Slår en fast ejendom op i flere af Datafordelers registre på én gang og samler resultatet ét sted. Ud fra en adresse eller et BFE-nummer henter byggeklodsen matrikel-, bygnings- og beliggenhedsoplysninger parallelt og returnerer dem både hver for sig og som ét samlet datasæt.
Inputs
| Felt | Type | Beskrivelse |
|---|---|---|
| Adresse | Tekst | Dansk adresse, fx "Rentemestervej 82, 2400 København NV". Oversættes automatisk til ejendommens BFE-nummer. |
| BFE-nummer | Tal | Ejendommens BFE-nummer angivet direkte. Valgfrit, men har forrang over adressen, hvis begge er udfyldt. Ligger under "Avanceret". |
Mindst ét af felterne skal udfyldes — er begge tomme, fejler opslaget.
Outputs
- Matrikel (tekst): Matrikeloplysninger (MAT) som JSON-liste.
- Bygninger (tekst): Bygninger på adressen (BBR) som JSON-liste.
- Beliggenhed (tekst): Ejendomsbeliggenhed (EBR) som JSON-liste (avanceret).
- Data (tekst): Alle kilder samlet som ét JSON-objekt, inklusive det anvendte BFE-nummer.
- Resumé (tekst): Kort statuslinje med antal rækker pr. kilde — eller "ingen adgang", hvis en kilde ikke kunne hentes (avanceret).
Hver kilde hentes uafhængigt: fejler én kilde, påvirker det ikke de øvrige, og opslaget returnerer stadig de kilder, der lykkedes.
Typiske brugsscenarier
- Berige en liste af adresser med matrikel- og bygningsdata i ét samlet trin frem for at kæde flere opslag sammen.
- Hurtigt overblik over en konkret ejendom ud fra dens BFE-nummer.
- Levere struktureret ejendomsdata (JSON) videre til et AI-trin, der skal sammenfatte eller analysere ejendommen.
Brug når / Undlad når
- Brug når du vil have matrikel, bygninger og beliggenhed for én ejendom i ét enkelt trin.
- Brug BFE-nummer-feltet, når du allerede kender nummeret — så springes adresseopslaget over.
- Undlad, hvis du skal bruge ejendomsvurdering (VUR) eller mere avancerede/tværgående forespørgsler — brug i stedet Datafordeler-byggeklodsen, hvor du selv designer forespørgslen.
- Undlad at udfylde BFE-nummer, når du arbejder ud fra en adresse — lad feltet stå tomt.
Opslaget kræver en Datafordeler API-nøgle. Resultatet caches ikke — hvert kør laver et nyt live-opslag mod registrene, så du altid får aktuelle data.
Relaterede byggeklodser: Data-byggeklodser, Oversigt over byggeklodser
Datafordeler
Henter autoritative data fra Danmarks offentlige registre (BBR-bygninger, matrikel, adresser, ejendomsvurdering m.m.) via Datafordelers GraphQL-API. Selve forespørgslen designes i et vindue, hvor du vælger datakilde, redigerer en foreslået forespørgsel og forhåndsviser resultatet med live-opslag.
Inputs
| Felt | Type | Beskrivelse |
|---|---|---|
| Forespørgsel | str | Åbner forespørgsels-designeren, hvor du vælger datakilde (fx BBR, MAT, DAR, VUR) og redigerer selve GraphQL-forespørgslen. Forespørgslen kan indeholde pladsholdere: {{now}} (nuværende tidspunkt til registrenes tidsfiltre), {{bfe}} (ejendommens BFE-nummer) og {{adresse}} (adresseteksten). |
| Adresse | str | Valgfri. Udfylder {{adresse}} i forespørgslen og oversættes automatisk til ejendommens BFE-nummer ({{bfe}}) via det offentlige adresse-API (DAWA). |
| BFE-nummer | int | Valgfri (avanceret). Udfylder {{bfe}} direkte — fx fra et tidligere trin — i stedet for at slå op via adressen. Har forrang over adressen. |
Outputs
- Data (str): Det komplette svar fra Datafordeler som JSON.
- Resultater (str): De fundne rækker udtrukket som en JSON-liste.
- Antal (int): Antal fundne rækker.
Typiske brugsscenarier
- Slå bygningsdata (BBR) op for en ejendom ud fra en adresse i et tidligere trin.
- Hente matrikel- eller ejendomsvurderingsdata (MAT/VUR) til videre analyse eller berigelse af en sag.
- Oversætte en adresse til et BFE-nummer og bruge det som nøgle i efterfølgende opslag.
- Kæde flere opslag sammen ved at føre BFE-nummeret videre til andre trin.
Brug når / Undlad når
- Brug BFE-nummer-feltet når du allerede kender ejendommens BFE-nummer, eller når et adresseopslag er usikkert eller tvetydigt.
- Undlad BFE-nummer-feltet når du arbejder ud fra en adresse — lad det stå tomt, så udledes BFE-nummeret automatisk.
Forespørgslen kører som et live-opslag mod Datafordeler, og resultatet caches ikke — hvert kald henter friske data. Kræver en Datafordeler API-nøgle; åbne registre (BBR, MAT, DAR, VUR, EBR, DAGI) virker med en almindelig nøgle, mens adgangsbegrænsede registre (fx Ejere/EJF) kræver særlig adgang.
Relaterede byggeklodser: Datakilder · Oversigt over byggeklodser
Plandata
Slår planforhold op for en dansk adresse i Plandata.dk — det landsdækkende register for fysisk planlægning — og returnerer de lokalplaner og kommuneplanrammer, der gælder på stedet, samt en zonestatus. Adressen slås op via DAWA og omregnes til en koordinat (EPSG:25832), hvorefter et punktopslag mod Plandata.dk's WFS finder de planer, hvis område dækker punktet.
Inputs
| Felt | Type | Beskrivelse |
|---|---|---|
| Adresse | Tekst | Dansk adresse, fx Arne Jacobsens Allé 7, 2300 København S. Slås op via DAWA og bruges til at finde planerne på stedet. |
| Medtag forslag | Ja/nej | Medtag også planforslag (lokalplan- og kommuneplanforslag), der endnu ikke er vedtaget. Slået til som standard. |
| X (østlig, EPSG:25832) | Tal | Avanceret. Brug en koordinat direkte i stedet for adressen. Både X og Y skal udfyldes, og koordinatparret har forrang over adressen. |
| Y (nordlig, EPSG:25832) | Tal | Avanceret. Nordlig koordinat i EPSG:25832. Både X og Y skal udfyldes. |
Enten en adresse eller et komplet X/Y-koordinatpar skal angives. Udfyldes kun den ene akse (X eller Y), fejler byggeklodsen; er begge tomme, bruges adressen.
Outputs
- Opsummering (tekst) — læsbar dansk opsummering af planforholdene, klar til visning eller videre til et sprogmodel-node.
- Zonestatus (tekst) — bedste bud på zonen (byzone, landzone eller sommerhusområde). Findes ingen aktuel zoneregistrering, bruges en kommuneplanrammes fremtidige zonestatus som fallback og markeres med "(planlagt)"; findes intet, returneres "Ukendt".
- Lokalplaner (tekst/JSON) — vedtagne lokalplaner som JSON-liste med bl.a. plannr, plannavn, kommune, vedtagelsesdato og dokument-link (PDF).
- Kommuneplanrammer (tekst/JSON) — vedtagne kommuneplanrammer som JSON-liste med bl.a. anvendelse, fremtidig zonestatus, maks. bygningshøjde/etager og dokument-link.
- Data (tekst/JSON) — det komplette svar som JSON, inkl. koordinat, zoneområder og eventuelle forslag.
- Antal planer (heltal) — antal vedtagne planer fundet (lokalplaner + kommuneplanrammer; forslag tælles ikke med).
Typiske brugsscenarier
- Automatisk berige en ejendoms- eller sagsgennemgang med gældende lokalplan og kommuneplanramme ud fra en adresse.
- Afklare zonestatus (byzone/landzone/sommerhusområde) inden en køber, mægler eller sagsbehandler vurderer bebyggelsesmuligheder.
- Hente dokument-links til de relevante planer, så de kan vises eller downloades i en app.
- Sende Opsummering-outputtet videre til en sprogmodel, der skal referere eller vurdere planforholdene i naturligt sprog.
Brug når / Undlad når
- Brug når du har en dansk adresse (eller en EPSG:25832-koordinat fra et andet node-output) og skal kende gældende lokalplaner, kommuneplanrammer eller zone.
- Brug når du vil have både en læsbar opsummering og strukturerede JSON-data til videre behandling.
- Undlad når du kun har et matrikel- eller BFE-nummer uden adresse/koordinat — byggeklodsen slår kun op på adresse eller X/Y.
- Undlad hvis du har brug for en juridisk endelig zoneafgørelse; Zonestatus er et bedste bud, og eksisterende byzone uden særskilt registrering kan fremstå som "Ukendt".
Resultatet caches ikke — hvert opslag går live mod Plandata.dk's WFS og DAWA. Begge er offentligt tilgængelige, så der kræves ingen API-nøgle.
Relaterede byggeklodser: Data-byggeklodser, AI-byggeklodser, Oversigt over byggeklodser
Eksterne API'er og databaser
Hent fra API
Henter data fra eksterne tjenester via et HTTP-kald. Understøtter både tekst-svar (JSON/HTML/ren tekst) og direkte download af filer (PDF, billeder, Office-dokumenter), som kan sendes videre til Indlæs dokument.
Inputs
| Felt | Type | Beskrivelse |
|---|---|---|
| URL | Tekst | Fuld endpoint-URL inkl. protokol (http:// eller https://). Påkrævet. Kald mod localhost og private IP-adresser blokeres (SSRF-beskyttelse). |
| Metode | Valg | HTTP-metode: GET, POST, PUT, PATCH eller DELETE. Standard: GET. |
| Headers | Tekst | Request-headers som JSON-objekt, fx til API-nøgler eller Content-Type. Standard: {}. |
| Body | Tekst | Indhold der sendes med ved POST/PUT/PATCH. Ignoreres ved GET. Ved Content-Type: application/json valideres body som gyldig JSON. |
| Timeout | Heltal | Sekunder der ventes på svar, før kaldet opgives (1-120). Standard: 30. |
| Maks. genforsøg | Heltal | Antal automatiske genforsøg ved midlertidige fejl (HTTP 429 og 5xx), 0-10. 0 = ingen. Standard: 3. |
| Forsinkelse ved genforsøg (sek.) | Decimaltal | Ventetid mellem genforsøg; fordobles for hvert forsøg (eksponentiel backoff), 0.5-30. Standard: 2.0. |
Outputs
- Statuskode (heltal): HTTP-svarets statuskode.
- Svar-body (tekst): Svarets body som tekst. Tom når svaret er en fil-download.
- Svar-headers (tekst): Svarets headers som JSON.
- Fil (dokument): Udfyldes automatisk når svaret er binært (fx
Content-Type: application/pdfeller et billede). Understøtter bl.a. PDF, DOCX, XLSX, XLS, DOC, JPEG, PNG, WebP, GIF, TIFF, BMP, AVIF og HEIC/HEIF. Tom ved tekst-svar.
Bemærk: resultatet caches ikke — hvert kald rammer den eksterne tjeneste live. Svar over en fast størrelsesgrænse afvises for at beskytte hukommelsen.
Typiske brugsscenarier
- Hente strukturerede data fra et offentligt eller autentificeret JSON-API og sende dem videre i flowet.
- Sende data til en ekstern tjeneste med POST/PUT (fx oprette eller opdatere en post via et REST-API).
- Downloade en PDF via URL og forbinde Fil-outputtet til Indlæs dokument for at OCR-behandle og udtrække tekst.
- Kalde et API med API-nøgle i
Authorization-headeren og robuste genforsøg mod ustabile endpoints.
Brug når / Undlad når
- Brug når: du kalder et struktureret API-endpoint (helst JSON) — noden henter råt svar og kan ikke udføre JavaScript, så HTML-forsider giver ofte kun en tom skal.
- Brug når: du kan tåle automatiske genforsøg ved 429/5xx (idempotente GET/PUT-kald).
- Undlad når: kaldet ikke er idempotent (fx en betaling), hvor et genforsøg kan dublere handlingen — sæt Maks. genforsøg til 0.
- Undlad når: du skal sende e-mail, hente fra din egen dokumentdatabase, kalde interne localhost-services eller lave komplekse integrationer (OAuth-flows, GraphQL, WebSocket) — brug de dedikerede byggeklodser eller Python Kode.
Relaterede byggeklodser: Data-byggeklodser, AI-byggeklodser, Oversigt over byggeklodser
Databaseforespørgsel
Kører parametriserede SQL-forespørgsler mod en ekstern PostgreSQL- eller MySQL-database og returnerer resultatet som JSON. Byggeklodsen genkender databasetypen ud fra forbindelsesstrengens skema (postgresql:// / postgres:// eller mysql://).
Inputs
| Felt | Type | Beskrivelse |
|---|---|---|
| Forbindelsesstreng | tekst | Database-URL på formen postgresql://bruger:kode@host:5432/database eller mysql://bruger:kode@host:3306/database. Påkrævet. |
| Forespørgsel | tekst (SQL) | SQL-sætningen, der skal køres. Brug %s som pladsholder for værdier — i både PostgreSQL og MySQL. Påkrævet. |
| Parametre | tekst (JSON) | JSON-array med værdier til %s-pladsholderne, f.eks. ["active", 42, true]. Værdierne bindes sikkert af databasedriveren og beskytter mod SQL-injektion. Standard [] (ingen parametre). |
| Timeout | heltal | Hvor længe forespørgslen må køre, før den afbrydes (sekunder, 1–300). Standard 30. Selve forbindelsesopbygningen begrænses altid til højst 30 sekunder. |
| Max rækker | heltal | Maksimalt antal rækker der hentes (1–10.000). Standard 1000. Hvis resultatet er større, afkortes det. |
Outputs
- Rækker (tekst): JSON-array af resultatrækker som objekter (nøgle = kolonnenavn). Ved INSERT/UPDATE/DELETE er værdien
[]. - Antal rækker (heltal): antal returnerede rækker ved SELECT, eller antal påvirkede rækker ved INSERT/UPDATE/DELETE.
- Kolonner (tekst): JSON-array af kolonnenavne. Tom (
[]) for forespørgsler uden resultatsæt.
Typiske brugsscenarier
- Slå eksisterende data op i et internt system (f.eks. kunde- eller ordredata) og føre resultatet videre til en AI- eller output-byggeklods i flowet.
- Filtrere eller aggregere rækker med en SELECT og bruge JSON-outputtet som datagrundlag længere fremme.
- Skrive resultater tilbage til databasen med INSERT/UPDATE/DELETE — sætningen committes automatisk, og "Antal rækker" viser hvor mange rækker der blev påvirket.
Brug når / Undlad når
- Brug når: du har brug for at læse fra eller skrive til en ekstern PostgreSQL/MySQL-database, som flowet kan nå over netværket.
- Brug når: forespørgslen indeholder værdier udefra — send dem via "Parametre" i stedet for at sætte dem direkte ind i teksten.
- Undlad når: databasen kun er tilgængelig på
localhosteller en privat IP-adresse — forbindelser til localhost og private IP-intervaller blokeres af sikkerhedshensyn (SSRF-beskyttelse). - Undlad når: du forventer meget store resultatsæt — hæv "Max rækker" bevidst, og vær opmærksom på at et for stort samlet resultat afvises med en fejl.
Resultatet caches ikke: byggeklodsen laver live-opslag og kan have sideeffekter (INSERT/UPDATE/DELETE), så den kører hver gang flowet afvikles. Forbindelsesoplysninger logges ikke, men sendes til databasen.
Relaterede byggeklodser: Data-byggeklodser · Oversigt over byggeklodser
Lov og overenskomst
Søg lovgivning
Søger i dansk lovgivning via det offentlige Retsinformation API (retsinformation-api.dk) og returnerer matchende love som JSON med titel, dokumenttype, år, nummer, datoer og ELI-URI. Fritekst-søgningen dækker titel, kort navn, populært navn og lovens brødtekst.
Inputs
| Felt | Type | Beskrivelse |
|---|---|---|
| Søgetekst | Tekst (påkrævet) | Fri tekst-søgning på tværs af titel, kort navn, populært navn og brødtekst. Understøtter "frase" og -negation. Tom eller kun mellemrum giver en fejl. |
| Max resultater | Heltal (1–50, standard 10) | Maksimalt antal love der returneres i resultatlisten. |
Outputs
- Resultater (tekst): En JSON-streng med
count(samlet antal matches på serveren) ogresults(liste af love begrænset af Max resultater). Hvert resultat indeholdertitle,short_name,document_type(fx LOV, BEK, LBKH),year,number,signature_date,publication_date,effective_date,historical(flag) ogeli_uri.
Typiske brugsscenarier
- Slå en konkret lov op (fx "færdselsloven") og hente den gældende lovbekendtgørelse med ELI-URI til videre reference.
- Finde relevante regler ud fra et emne eller fritekst-udtryk og sende resultaterne videre til en AI-byggeklods, der opsummerer eller filtrerer dem.
- Berige et flow med aktuelle metadata (dokumenttype, ikrafttrædelsesdato, historisk-flag) om en lov før videre behandling.
Brug når / Undlad når
- Brug når du skal have friske opslag i officiel dansk lovgivning som en del af et flow.
- Brug når du efterfølgende vil parse JSON-outputtet (fx til liste, tabel eller AI-analyse).
- Undlad når du blot skal søge i vilkårlig webtekst — byggeklodsen rammer kun Retsinformation, ikke generel web.
Resultatet caches ikke: hvert kald er et live-opslag mod Retsinformation, så samme søgetekst kan give opdaterede resultater over tid. Fejl på API'et (timeout, manglende forbindelse, ugyldigt svar eller statuskode ≠ 200) stopper byggeklodsen med en forklarende fejlbesked.
Relaterede byggeklodser: Data-byggeklodser · AI-byggeklodser · Oversigt over byggeklodser
Søg overenskomst
Slår en dansk overenskomst op via det offentlige Overenskomstdatabasen API (/resolve) og returnerer det bedste match plus rangerede alternativer. Byggeklodsen rangerer resultaterne lokalt, så aktuelle, tekstbærende overenskomster (status = "current") kommer øverst — dermed kan det øverste match bruges direkte videre til at hente selve teksten.
Inputs
| Felt | Type | Beskrivelse |
|---|---|---|
| Navn | Tekst (påkrævet) | Overenskomstens navn, som det er citeret i kontrakten, fx Industriens Overenskomst. Tom værdi afvises. |
| Område | Valg (alle, stat, kommune, region, privat, andet) | Afgrænser søgningen til en sektor. alle (standard) betyder ingen afgrænsning. |
| Parter | Liste af tekst | Underskrivende parter (fx DI, CO-industri) der præciserer matchet ved tvetydige navne. Tomme punkter ignoreres. |
Outputs
- Resultater (tekst): En JSON-streng med to felter —
match(bedste match som objekt, ellernullhvis intet match) ogalternatives(liste af alternativer). Hvert resultat indeholderagreement_id,display_title,area,status,category,covered_groups,parties,relevance,text_urlog det afledtehas_text(sand nårstatus = "current").
Typiske brugsscenarier
- Første trin i et opslag: find en overenskomst nævnt i en ansættelseskontrakt, og send derefter
agreement_idfra det øverste match videre til at hente den fulde tekst. - Lad Sprogmodellen slå en overenskomst op undervejs i en samtale (byggeklodsen er aktiveret som værktøj/tool-kald).
- Afgræns til en sektor med Område, så fx private HK-overenskomster ikke matches ved en fejl for et kommunalt ansat medlem.
- Skil flere overenskomster med samme navn ad ved at angive Parter fra kontraktens forside.
Brug når / Undlad når
- Brug Område når du kender sektoren — det giver færre og mere præcise træf.
- Brug Parter når du kender de underskrivende parter og vil ramme den rigtige overenskomst blandt flere ens navne.
- Undlad at sætte Område/Parter når du er usikker — de indsnævrer søgningen unødigt; søg i stedet bredt med
alleog ingen parter.
Resultatet caches ikke — hvert opslag går live mod Overenskomstdatabasen, så svaret afspejler databasens aktuelle indhold (og en fejl fra API'et, fx timeout eller ugyldigt svar, stopper kørslen med en fejlbesked).
Relaterede byggeklodser: Data-byggeklodser (byggeklodsen er tænkt som første halvdel af et par sammen med "Hent overenskomst", der bruger agreement_id til at hente selve teksten), AI-byggeklodser (kan kalde denne som værktøj).
Saml, opdel og omform data
Kombiner & Analysér
Sammenfletter, beriger, matcher, aggregerer eller transformerer data fra en eller flere upstream-noder ved hjælp af en struktureret konfiguration. Du forbinder datakilderne og vælger en operation i konfigurationsvinduet; AgentBase's AI genererer så Python-kode, der kører i en sandkasse ved hver kørsel.
Inputs
| Felt | Type | Beskrivelse |
|---|---|---|
| Datakilder | dict | En eller flere forbundne datakilder. Alle upstream-noder trækkes ind på ét håndtag og gøres tilgængelige for transformationen under læsbare variabelnavne. Mindst én kilde er påkrævet. |
| Konfigurer | knap | Åbner konfigurationsvinduet, hvor du vælger operation (Sammenflet, Berig, Match, Aggregér, Transformér) og udfylder felterne. AI genererer og kører koden med det samme; du kan tilføje ekstra instruktioner og køre igen. |
Ved programmatisk brug (API/MCP) udelades konfigurationsvinduet, og transformationen angives i stedet direkte som feltet code i nodens skjulte konfiguration — koden indsættes som kroppen af en def run(<datakilder>)-funktion og skal return sit resultat. Bind hver kilde til et eksplicit variabelnavn med source_bindings for at undgå at variabelnavnet gættes positionelt.
Outputs
- Resultat (any): et dict med ark-navne som nøgler og lister af rækker (dicts) som værdier — formen
dict[str, list[dict]]. En ren liste af rækker pakkes automatisk som{"Resultat": [...]}, og et fladt dict pakkes som én række. Tom liste,Noneeller skalarer afvises med en fejl.
Typiske brugsscenarier
- Sammenflette to udtræk med samme kolonner til ét samlet datasæt (union/stack).
- Berige ét datasæt med kolonner fra et andet via left-merge på en nøgle.
- Matche poster på tværs af flere kilder (fx korrespondance mellem to lister).
- Gruppere og aggregere rækker (summer, gennemsnit, antal) eller filtrere og udlede nye kolonner.
Brug når / Undlad når
- Brug den, når du skal kombinere eller omforme data fra flere noder, før resultatet skrives til et regneark — typisk lige før en JSON til Excel-node.
- Brug den, når du vil beskrive transformationen i strukturerede felter og lade AI generere koden, frem for at skrive Python i hånden.
- Undlad, når du kun har brug for en simpel omskrivning af tekst fra én kilde — brug i stedet en almindelig AI- eller logik-node.
Resultatet caches ikke: den genererede kode køres på ny ved hver eksekvering, så output afspejler altid de aktuelle datakilder.
Relaterede byggeklodser: Data-noder, Output-noder (fx JSON til Excel til at gemme resultatet som en Excel-fil), Oversigt over byggeklodser.
Kombiner
Samler flere inputs til ét objekt (dict) med navngivne felter. Du angiver felterne i formatet {feltnavn}, og for hvert felt oprettes et input-handle, du kan forbinde værdier til.
Inputs
| Felt | Type | Beskrivelse |
|---|---|---|
| Felter | tekst | Feltspecifikation med {feltnavn}-syntaks (f.eks. {filename} {name} {description}). Standard er {field1} {field2}. Hvert {feltnavn} bliver til et input-handle. |
Ud over feltet ovenfor tager byggeklodsen dynamiske {felt}-inputs: hvert feltnavn, du skriver i Felter, giver et input-handle med samme navn, som du forbinder værdier til.
Outputs
- Resultat (
dict) — et objekt med alle deklarerede felter. Hvert felt får den forbundne værdi, og felter uden forbindelse sættes tilnull, så outputtet altid viser den forventede struktur (også ved kørsel af en enkelt byggeklods uden forbindelser).
Typiske brugsscenarier
- Kombinere fil-info (filnavn) med data udtrukket fra dokumentet til ét objekt.
- Samle resultater fra flere byggeklodser til ét struktureret output.
- Bygge et JSON-objekt til et efterfølgende API-kald eller en eksport.
- Levere en dict direkte til en byggeklods, der forventer et objekt.
Brug når / Undlad når
Brug når:
- Du skal samle værdier fra flere kilder til ét struktureret objekt.
- Nedstrøms-byggeklodser forventer en dict/JSON.
Undlad når:
- Du skal bygge læsbar, formateret tekst (brug Skabelon i stedet — Kombiner returnerer et objekt, ikke tekst).
- Du kun sender én værdi videre (forbind den direkte i stedet).
- Du skal udtrække felter fra eksisterende JSON (brug en JSON-udtræksbyggeklods) eller lave kompleks datamanipulation (brug Python-kode).
Relaterede byggeklodser: Data-byggeklodser, Logik-byggeklodser, Oversigt over byggeklodser
Opdeler
Opdeler tager et JSON-objekt (eller flere sammenflettede objekter) og trækker udvalgte felter ud som separate string-outputs. Den er modstykket til Kombiner: hvor Kombiner samler flere inputs til ét objekt, deler Opdeler ét objekt op i individuelle felter.
Inputs
| Felt | Type | Beskrivelse |
|---|---|---|
| Felter | tekst | Angiver hvilke felter der skal udtrækkes med {feltnavn}-syntaks, f.eks. {navn} {alder} {email}. Standard er {id} {navn}. Feltnavne er case-sensitive og skal matche nøglerne i JSON-objektet præcist. |
| Input | objekt | Et eller flere JSON-objekter/dictionaries der skal opdeles. Forbindes typisk fra en foregående node. |
Outputs
Noden opretter ét output-håndtag pr. defineret felt, alle af typen tekst. Værdierne konverteres til strings: manglende felter og null bliver til tomme strenge, booleans til "true"/"false", og nested objekter/arrays serialiseres til JSON-strings. Er der ingen felter defineret, produceres intet output.
Særlig adfærd ved input:
- Sammenfletning: Forbindes flere objekter, flettes de sammen til ét; ved samme feltnavn vinder den seneste værdi.
- Automatisk udpakning: Er input et objekt med præcis én nøgle, der indeholder en liste af objekter (f.eks.
{"documents": [{...}]}), og de ønskede felter ikke findes på øverste niveau, udpakkes det første element automatisk. - Liste-input: Er input en liste, bruges det første element (hvis det er et objekt); øvrige elementer ignoreres.
- String-input: En streng forsøges parset som JSON; ugyldig JSON springes over.
Typiske brugsscenarier
- Udtrække enkeltfelter fra et søge- eller API-resultat (f.eks.
document_idogdocument_namefra Søg Dokumenter) til brug længere nede i flowet. - Forberede data til betingede noder (Hvis/Ellers) ved at give direkte adgang til de enkelte felter uden en Python- eller JSON Udtræk-node.
- Kombinere data fra flere JSON-kilder og trække netop de relevante felter ud.
- Konvertere JSON-værdier til strings til efterfølgende tekstbehandling.
Brug når / Undlad når
Brug når:
- Du kun skal have fat i første-niveau-felter fra et objekt.
- Du vil forgrene på et enkelt feltværdi i en Hvis/Ellers-node.
Undlad når:
- Du skal ned i dybt nestet JSON (f.eks.
bruger.profil.email) — brug JSON Udtræk i stedet. - Du skal have alle felter automatisk uden at navngive dem — brug Python Kode.
- Du skal behandle alle elementer i en liste — Opdeler tager kun det første element; kombinér med Loop.
Relaterede byggeklodser: Data-byggeklodser (Kombiner, JSON Udtræk, Python Kode), Logik-byggeklodser (Hvis/Ellers, Loop).
Udtræk data-felter
Parser en JSON-streng og henter udvalgte værdier ud via sti-notation (punktum og array-indeks). Bygger et resultatobjekt med de navngivne udtræk — eller sender hele den parsede JSON videre, hvis der ikke er defineret nogen udtræk.
Inputs
| Felt | Type | Beskrivelse |
|---|---|---|
| JSON Input | Tekst | Den strukturerede JSON, der skal parses og udtrækkes fra. Ugyldig JSON stopper byggeklodsen med en fejl (med linje/kolonne). |
| Udtræk | Liste | Liste af udtræks-definitioner, hvor hvert element er et objekt med name (outputnavn) og path (sti). Standard er en tom liste. Manglende name eller path giver en fejl. |
Sti-syntaks: key (nøgle), key.nested (indlejret objekt), items[0] (array-element via indeks), items[*] (alle array-elementer).
Outputs
- Resultat (
object): et objekt med alle udtrukne felter samlet. Derudover eksponeres hvert udtræk som sit eget separate output-handle (navngivet efter feltetsname), så udvalgte felter kan forgrenes direkte til hver sin efterfølgende byggeklods. - Er udtræksliste tom, returneres hele den parsede JSON uændret (nyttigt til blot at konvertere en JSON-streng til et objekt).
- Findes en sti ikke i dataene (manglende nøgle eller indeks uden for grænserne), sættes feltet til
null— flowet stopper ikke. Kun ugyldig JSON eller en forkert formateret sti giver en fejl.
Typiske brugsscenarier
- Pluk enkeltfelter som navn og e-mail ud af et API-svar til videre brug.
- Hent et bestemt array-element (fx
items[0].id) og send det videre. - Konvertér en JSON-streng til et objekt ved at lade udtrækslisten stå tom.
- Fordel udvalgte felter fra en stor payload til hver sit output-handle for videre forgrening i flowet.
Brug når / Undlad når
Brug når:
- Du har gyldig JSON og vil hente bestemte felter ud via sti.
- Du vil parse en JSON-streng til et objekt (tom udtræksliste).
Undlad når:
- Du skal bygge nye JSON-objekter fra separate værdier → brug Kombiner (Data).
- Du skal udtrække data fra fritekst → brug Struktureret Output (AI).
- Du skal transformere, filtrere eller beregne på data → brug Python Kode (Data).
Relaterede byggeklodser: Data-byggeklodser · AI-byggeklodser · Oversigt over byggeklodser
Konverter Datatype
Konverterer en værdi mellem de mest anvendte datatyper — tekst, heltal, decimaltal og dictionary — så data passer til det, den efterfølgende byggeklods forventer. Ved konvertering til tal accepteres både punktum og komma som decimalseparator (dansk talformat).
Inputs
| Felt | Type | Beskrivelse |
|---|---|---|
| Input | vilkårlig | Værdien der skal konverteres. |
| Måltype | valg | Den datatype værdien skal konverteres til. Vælg mellem Tekst (str), Heltal (int), Decimaltal (float) og Dictionary (dict). Standard er Tekst (str). |
Outputs
- Konverteret værdi — den konverterede værdi. Den konkrete type følger den valgte måltype (tekst, heltal, decimaltal eller dictionary).
Faktisk adfærd pr. måltype:
- Tekst (str): Tekst sendes uændret videre. Dictionaries og lister formateres som indrykket JSON (æøå bevares); andre værdier bruger en simpel tekstrepræsentation.
- Heltal (int): Parser tal fra tekst og trunkerer decimaldelen (
"3.14"og"3,14"→3). Decimaltal og boolean konverteres også. - Decimaltal (float): Parser tal fra tekst inkl. videnskabelig notation (
"1.5e2"→150.0) og understøtter komma som decimaltegn. - Dictionary (dict): Parser en JSON-streng til et objekt. Kræver et JSON-objekt — en JSON-array eller anden JSON-type afvises.
Typiske brugsscenarier
- Konvertér et dictionary-output fra en kombinér- eller strukturerings-byggeklods til tekst, før det sendes til en LLM der forventer en streng.
- Parsér brugerindtastet tekst (
"1,5") til et tal, før det bruges i beregninger. - Læs en JSON-streng fra et API-svar tilbage til et dictionary til videre behandling i flowet.
- Normalisér datatyper på tværs af byggeklodser, når to led i et flow ikke matcher hinandens typer.
Brug når / Undlad når
Brug når:
- To byggeklodser har inkompatible datatyper, og du bare skal caste hele værdien over.
- Du skal konvertere et tal-i-tekst til rigtigt tal (eller omvendt) i dansk talformat.
Undlad når:
- Du kun skal trække enkelte felter ud af JSON — brug en JSON-udtræks-byggeklods i stedet (se Data-byggeklodser).
- Du skal lave mere avanceret transformation af data — brug en kode-byggeklods (se Logik-byggeklodser).
- Du bygger formateret tekst med variabler — brug en skabelon-byggeklods.
- Typerne allerede matcher — undgå unødvendig konvertering.
Konverteringer der ikke er mulige (fx "abc" til tal, en tom streng, eller ugyldig JSON) fejler med en klar fejlbesked, der forklarer hvilken værdi der ikke kunne konverteres og giver eksempler på gyldige værdier.
Relaterede byggeklodser: Data-byggeklodser · Logik-byggeklodser · AI-byggeklodser · Oversigt over byggeklodser
Filer og regneark
Indlæs CSV-data
Indlæser CSV- eller TSV-data fra en uploadet fil eller fra rå tekst og konverterer det til struktureret data (en liste af rækker), der kan bruges videre i flowet. Alle celleværdier returneres som tekst.
Inputs
| Felt | Type | Beskrivelse |
|---|---|---|
| Fil | Fil (data-URL) | CSV/TSV-fil der uploades. Bruges hvis den er angivet; ellers benyttes Tekstindhold. |
| Tekstindhold | Tekst | Rå CSV-tekst direkte, f.eks. modtaget fra en HTTP-request eller en anden byggeklods. |
| Separator | Valg | Tegn der adskiller kolonner: Komma (,), Semikolon (;), Tab, Pipe (|) eller Brugerdefineret. Standard er Komma (,). |
| Brugerdefineret separator | Tekst | Eget separatortegn; bruges kun når Separator er sat til "Brugerdefineret". Er dette tomt, fejler byggeklodsen. |
| Har overskriftsrække | Ja/nej | Om første række er kolonnenavne. Er den slået fra, genereres navnene kolonne_1, kolonne_2 osv. Standard: til. |
| Tegnsæt | Valg | Filens tegnkodning: UTF-8, Latin-1 (ISO-8859-1) eller Windows-1252. Standard: UTF-8. |
| Spring tomme rækker over | Ja/nej | Springer helt tomme rækker over i stedet for at danne tomme datarækker. Standard: til. |
Outputs
- Rækker (
list[dict[str, str]]) — én ordbog pr. datarække med kolonnenavn → celleværdi (altid tekst). - Overskrifter (
list[str]) — kolonnenavnene (fra første række eller autogenererede). - Antal rækker (
int) — antal datarækker uden overskriftsrækken. - Antal kolonner (
int) — antal kolonner i datasættet.
Rækker med for få kolonner udfyldes med tomme værdier, og rækker med for mange afkortes til antallet af overskrifter. En tom fil eller tomt indhold giver tomme lister og tallene 0.
Typiske brugsscenarier
- Importér en uploadet CSV-fil og kør en løkke over hver række (f.eks. batch-udsendelse eller opslag pr. række).
- Konvertér CSV-tekst modtaget fra en HTTP-request til struktureret data til videre behandling.
- Læs dansk eksportdata med semikolon-separator og Windows-1252-tegnsæt fra ældre systemer.
Brug når / Undlad når
Brug når:
- Dine data er tabelopdelt CSV/TSV med et fast separatortegn.
- Du vil behandle hver række individuelt sammen med en løkke-byggeklods.
Undlad når:
- Kilden er JSON — brug en JSON-udtræksbyggeklods i stedet.
- Filen er en Excel-projektmappe med formler eller flere ark — brug i stedet en kode-byggeklods med et regnearksbibliotek.
Bemærk: Vælges "Brugerdefineret" som separator uden at angive et tegn, eller gives hverken fil eller tekstindhold, stopper byggeklodsen med en fejl. Ved forkert tegnsæt (forvanskede æøå) falder afkodningen automatisk tilbage til UTF-8 og derefter Latin-1, og et UTF-8 BOM fjernes automatisk.
Relaterede byggeklodser: Data-byggeklodser, Logik-byggeklodser, Oversigt over byggeklodser
Excel til JSON
Læser en uploadet Excel-fil (.xlsx/.xlsm) direkte med openpyxl og konverterer den til struktureret JSON — én række pr. objekt, hvor kolonneoverskrifterne bliver nøgler. Ingen AI eller OCR er involveret; Excel-data er allerede struktureret, så konverteringen er hurtig og deterministisk, også for ark med tusindvis af rækker.
Inputs
| Felt | Type | Beskrivelse |
|---|---|---|
| Excel-fil | Fil (.xlsx) | Den Excel-fil der skal konverteres. Uploades eller modtages fra en anden byggeklods. Kun .xlsx og .xlsm understøttes (maks. 50 MB) — gamle .xls-filer skal først gemmes som .xlsx. |
| Headerrække | Heltal | Hvilken række der indeholder kolonneoverskrifter (1 = første række). Standard er 1. Sæt f.eks. til 2, hvis arket starter med en titel eller tomme rækker. Skal være 1 eller højere. |
| Ark | Tekst | Navnet på arket der skal læses. Tomt felt = første ark. |
Outputs
- JSON (
list[dict]): En liste af objekter, ét pr. datarække. Hver kolonneoverskrift bliver en nøgle, og nøglen er altid til stede — også for tomme celler. Tomme celler blivernull, datoer/tidspunkter bliver ISO 8601-tekst (f.eks.2026-01-07), mens tal forbliver tal og ja/nej forbliver boolean. Rækker hvor alle celler er tomme, springes over (så efterfølgende blanke rækker frafiltreres). Gentagne kolonneoverskrifter gøres unikke med suffikset_2,_3…, og tomme overskrifter midt i rækken får navnetKolonne N.
Typiske brugsscenarier
- Læse et regneark med kontakter, ordrer eller stamdata ind og sende hver række videre til Løkke Start for individuel behandling.
- Importere en Excel-eksport fra et andet system og videresende den strukturerede JSON til f.eks. Python Kode eller en AI-byggeklods.
- Læse et bestemt ark i en projektmappe med flere faneblade ved at angive arknavnet.
- Håndtere ark hvor de egentlige overskrifter først står i række 2 eller 3 (titel/metadata øverst) via feltet Headerrække.
Brug når / Undlad når
- Brug når kilden er en ægte
.xlsx/.xlsm-fil med tabeldata i rækker og kolonner. - Brug når du vil have et præcist, AI-frit resultat — konverteringen læser cellerne direkte.
- Undlad når kilden er en CSV-/TSV-fil (brug i stedet en CSV-indlæsnings-byggeklods).
- Undlad når data ligger i en scannet PDF eller et billede (brug en dokument-/OCR-byggeklods).
- Undlad når filen er en gammel
.xls-fil — gem den som.xlsxførst.
Relaterede byggeklodser: Data-byggeklodser · Logik-byggeklodser · Oversigt over byggeklodser
JSON til Excel
Konverterer JSON-data fra én eller flere forbundne kilder til en downloadbar Excel-fil (.xlsx) med formaterede overskrifter og zebra-stribede rækker. Uden arkdefinitioner får hver datakilde automatisk sit eget ark; med arkdefinitioner styrer du selv, hvordan data fordeles på ark.
Inputs
| Felt | Type | Beskrivelse |
|---|---|---|
| Datakilder | dict | En eller flere forbundne JSON-kilder (obligatorisk). Hver forbindelse — fx et loop-resultat og et struktureret output — bliver en datakilde, du kan referere i arkdefinitionerne. Hver kilde kan være et enkelt objekt (én række), en liste af objekter (én række pr. objekt) eller et objekt med flere datasæt (hvert felt bliver et ark). |
| Filnavn | str | Filnavn til Excel-filen uden .xlsx (standard data). Ulovlige tegn fjernes automatisk; tomt navn falder tilbage til data. |
| Arkdefinitioner | str | Valgfri konfiguration, der styrer, hvordan kilderne fordeles på ark. Hvert ark kan trække data fra en specifik kilde og enten lave en Oversigt (udvalgte felter + aggregeringer over indlejrede lister) eller Udpakning (fold en indlejret liste ud i separate rækker). |
Outputs
- Excel-fil (
filejson): den færdige, downloadbare .xlsx-fil. - Tabeldata (
dict): forhåndsvisning af ark-dataen (sheets). Hvis nogen kilder blev sprunget over pga. tom eller ugyldig data, listes de underskippedmed kilde og årsag. Markeret som avanceret.
Typiske brugsscenarier
- Sende resultatet af et HTTP-kald eller et struktureret AI-output direkte videre som et regneark.
- Samle et loop-resultat (fx udtrukne dokumentfelter) og et separat metadata-output i én Excel-fil med hvert sit ark.
- Bruge arkdefinitioner til at lave både et oversigtsark (antal og unikke værdier pr. post) og et detaljeark, hvor en indlejret liste er foldet ud i enkeltrækker.
Brug når / Undlad når
- Brug når du har struktureret JSON, som skal leveres som et regneark til slutbrugere.
- Brug når du vil kombinere flere nodes' output i én fil fordelt på ark.
- Undlad når du skal skrive komplekse Excel-formler (brug en kode-node), eller når kilden allerede er CSV eller en Markdown-tabel — så er en indlæsnings-/konverteringsnode mere direkte.
Relaterede byggeklodser: Data-byggeklodser, Output-byggeklodser, Oversigt over byggeklodser
Sammenligning, tid og version
Sammenlign tekster
Sammenligner to versioner af den samme tekst ord for ord og markerer de præcise ændringer inline: fjernet tekst gennemstreges (~~...~~) og tilføjet tekst gøres fed (**...**). Byggeklodsen er tænkt til to versioner af samme dokument — ikke til at sammenligne to fundamentalt forskellige tekster.
Inputs
| Felt | Type | Beskrivelse |
|---|---|---|
| Tekst A | Tekst | Den oprindelige version. Standard er tom tekst. |
| Tekst B | Tekst | Den ændrede version. Standard er tom tekst. |
Outputs
- Diff (tekst): Den samlede tekst med markdown-markeringer —
~~gennemstreget~~for fjernede ord og**fed**for tilføjede ord. - Antal ændringer (heltal): Antal ændrede ord/tokens. En udskiftning (et ord erstattet af et andet) tælles som én ændring, ikke som en sletning plus en tilføjelse. Feltet ligger under "Avanceret".
- Har ændringer (boolesk): Sand hvis der er mindst én forskel mellem de to tekster, ellers falsk. Feltet ligger under "Avanceret".
Sammenligningen sker på ord- og tegnsætningsniveau; ændringer i mellemrum markeres ikke som ændringer.
Typiske brugsscenarier
- Vis de nøjagtige rettelser mellem to versioner af en kontrakt eller en paragraf.
- Fremhæv før/efter-forskelle efter en redigering af et dokument.
- Kør en boolesk "har teksten ændret sig?"-kontrol i et flow via Har ændringer-outputtet.
- Tæl antallet af ordændringer mellem en originaltekst og en revideret udgave.
Brug når / Undlad når
- Brug når: du sammenligner to versioner af den samme tekst og vil se de præcise ord-for-ord-ændringer.
- Undlad når: du vil analysere ligheder/forskelle mellem to forskellige dokumenter — brug i stedet en sprogmodel-byggeklods (AI-byggeklodser).
- Undlad når: du blot skal vide om to tekster er identiske (ja/nej) eller skal sammenligne struktureret data (JSON/CSV) — brug en logik- eller kode-byggeklods.
Relaterede byggeklodser: Data-byggeklodser, AI-byggeklodser, Logik-byggeklodser
Dato og tid
Henter den aktuelle dato og tid på udførelsestidspunktet og returnerer den som formateret tekst i den valgte tidszone. Tidspunktet hentes hver gang flowet køres, så outputtet er altid friskt.
Inputs
| Felt | Type | Beskrivelse |
|---|---|---|
| Format | tekst (valg) | Vælg et færdigt format: Dato (DD-MM-ÅÅÅÅ), Dato og tid (DD-MM-ÅÅÅÅ TT:MM), Dato og tid (DD-MM-ÅÅÅÅ TT:MM:SS), Klokkeslæt (TT:MM), Klokkeslæt (TT:MM:SS), ISO 8601, Unix timestamp eller Brugerdefineret. Standard er Dato og tid (DD-MM-ÅÅÅÅ TT:MM). |
| Brugerdefineret format | tekst | strftime-mønster (f.eks. %d-%m-%Y %H:%M). Bruges og vises kun når Format er Brugerdefineret. Må ikke være tomt. |
| Tidszone | tekst | IANA-tidszone, f.eks. Europe/Copenhagen (standard), UTC eller America/New_York. |
Outputs
- Dato og tid (tekst): Den formaterede dato/tid. Ved
ISO 8601returneres f.eks.2026-06-30T14:05:09+02:00; vedUnix timestampreturneres epoch-sekunder som en talstreng (f.eks.1782568909). Alle øvrige valg giver den formaterede tekst.
Typiske brugsscenarier
- Sætte et tidsstempel ind i et genereret dokument eller en e-mail ("Udarbejdet den 30-06-2026 14:05").
- Levere dags dato som input til en LLM-prompt, så modellen kan regne relativt ("i dag", "sidste måned").
- Tilføje et klokkeslæt eller en ISO 8601-tidsstempel til logning eller filnavne.
- Generere et Unix timestamp til systemer eller API'er, der forventer epoch-sekunder.
Brug når / Undlad når
- Brug når du har brug for "lige nu" — det aktuelle tidspunkt beregnet ved hver kørsel.
- Undlad når du skal angive en fast, kendt dato (brug et tekstinput), regne/omregne på datoer (brug Python Kode), eller udtrække en dato fra et dokument (brug Struktureret Output / JSON Udtræk).
Resultatet caches ikke: fordi tidspunktet ændrer sig ved hver kørsel, er byggeklodsen bevidst ikke-cachebar, så du altid får et friskt tidsstempel. En ukendt tidszone eller et tomt brugerdefineret format standser kørslen med en fejl.
Relaterede byggeklodser: Data-byggeklodser, Input-byggeklodser, Logik-byggeklodser, AI-byggeklodser
App-version
Henter versionen af den App eller Agent, der kører flowet lige nu, og sender den videre som tekst (f.eks. v1.5). Versionen aflæses på udførelsestidspunktet, så den følger automatisk med, når flowet versioneres op.
Inputs
Byggeklodsen har ingen konfigurerbare inputs — den aflæser selv den kørende versions kontekst.
| Felt | Type | Beskrivelse |
|---|---|---|
| — | — | Ingen inputs |
Outputs
- Version (
str): Versionen som tekst. En gemt Agent rapportererv{major}.{minor}(f.eks.v1.5); en publiceret App rapporterer kun major-versionen (f.eks.v1,v2). Kaldes en App af en anden App som byggeklods, rapporteres den kaldte App's egen version. Feltet er en tom tekst, når flowet køres som kladde/på lærredet, da en ikke-gemt kørsel endnu ingen version har.
Typiske brugsscenarier
- Stemple flowets version på et genereret dokument eller en rapport, så det fremgår hvilken version der producerede resultatet.
- Skrive versionen ind i en e-mail eller et svar til modtageren.
- Logge eller vedhæfte versionen i output til senere sporbarhed.
Brug når / Undlad når
- Brug når flowet skal kende sin egen kørende version dynamisk uden at du vedligeholder tallet manuelt.
- Undlad når du skal angive en fast tekst eller et versionsnummer manuelt → brug Tekstinput i stedet.
- Undlad når du skal have dato/tid for kørslen → brug Dato og tid i stedet.
Resultatet caches ikke, da versionen aflæses fra den aktuelle kørselskontekst.
Relaterede byggeklodser: Data-byggeklodser, Input-byggeklodser, Oversigt over byggeklodser
Udfaset
Følgende byggeklods er udfaset. Den virker stadig i eksisterende flows, men brug den ikke i nye.
Fildetaljer
Fildetaljer udtrækker metadata fra én uploadet fil — filnavn, MIME-type, filendelse og størrelse — og giver samtidig den rå data-URL videre til efterfølgende byggeklodser. Den læser kun filens metadata og behandler ikke indholdet.
Denne byggeklods er udfaset og bør ikke bruges i nye flows. Eksisterende flows, der allerede refererer den, fungerer fortsat. Skal du arbejde med selve filindholdet (f.eks. tekstudtræk fra PDF), så brug en byggeklods fra kategorien Data i stedet.
Inputs
| Felt | Type | Beskrivelse |
|---|---|---|
| Fil | filejson | Den uploadede fil, der skal analyseres. Påkrævet. Er filen tom eller ulæselig, fejler byggeklodsen. |
Outputs
- Filnavn (str) — det originale filnavn, f.eks.
dokument.pdf - MIME Type (str) — filens MIME-type, f.eks.
application/pdf - Filendelse (str) — filendelsen uden punktum, f.eks.
pdf - Størrelse (bytes) (int) — filens størrelse i bytes
- Data URL (filejson) — den rå fil til videre behandling
Typiske brugsscenarier
- Udtræk det originale filnavn til brug i navngivning af output-filer.
- Verificér filtype (MIME-type eller filendelse) før filen sendes videre til behandling.
- Aflæs filstørrelse til validering, f.eks. afvis for store filer.
Brug når / Undlad når
- Brug når: du kun har brug for metadata om en enkelt fil (navn, type, endelse, størrelse) plus at føre selve filen videre.
- Undlad når: du skal læse eller behandle filens indhold — det håndteres af indholdsbehandlende byggeklodser, ikke af denne.
- Undlad når: du allerede kender filens metadata, eller skal håndtere flere filer i samme trin.
Resultatet caches ikke, fordi byggeklodsen sender en data-URL videre og dermed undgår at gemme store binære data.
Relaterede byggeklodser: Data-byggeklodser · Oversigt over byggeklodser
Typiske kæder
Data-byggeklodserne sættes typisk sammen sådan:
- Register-opslag → analyse: CVR Opslag / Ejendomsoverblik / Datafordeler → Udtræk data-felter → Sprogmodel.
- Import → batch → eksport: Indlæs CSV-data / Excel til JSON → Løkke Start → behandling → JSON til Excel.
- Flere kilder → samlet rapport: flere kilder → Kombiner & Analysér → JSON til Excel → Send Email.
- Forbered til betingelse: Hent fra API → Opdeler → Hvis / ellers.
Relaterede sider
- Oversigt over alle byggeklodser — hele paletten på tværs af kategorier.
- AI-byggeklodser — sprogmodeller, struktureret udtræk og dokumentindlæsning (OCR), som data-byggeklodserne typisk fodrer.
- Input-byggeklodser — tekst, filer og skabeloner, der starter et flow.
- Logik-byggeklodser — løkker, forgreninger og Python Kode til at styre databehandlingen.
- Output-byggeklodser — send resultatet videre som dokument, e-mail eller download.
- Relationer mellem byggeklodser — hvordan handles og typer forbindes.