castomFLOW

Koppla ihop vad som helst

HTTP in, HTTP ut, besvärliga delar hanterade

Varje automatiseringsverktyg reklamerar ett antal integrationer. Antalet är alltid stort och det är alltid fel fråga, för systemet du faktiskt behöver är det som byggdes internt 2014 av någon som har lämnat företaget. Det som spelar roll är hur väl verktyget talar protokollet under alla dem.

De färdiga kopplingarna

De applikationer de flesta företag kör på har förberedda steg: butiker och marknadsplatser, bokföring och fakturering, kalkylblad och databaser, kalendrar och post, lagring och meddelanden, CRM och helpdesk, betalleverantörer och fraktbolag. Du auktoriserar kontot en gång och fälten är namngivna i det språk applikationen använder, inte i dess JSON:s språk.

Där en applikation har en polsk marknadssärart — ett faktureringssystem som måste vara KSeF-klart, ett fraktbolag vars etiketter är en nationell standard — känner det förberedda steget till detta, eftersom familjen säljer till den marknaden och var tvungen att lära sig.

Och sedan det allmänna fallet

Allt annat är ett HTTP-steg, och ett HTTP-steg här är ingen tröstpris. Det är samma maskineri som de färdiga kopplingarna bygger på, med samma hantering av de delar som är tråkiga att skriva själv.

De tråkiga delarna

Hanterade, så att du inte skriver dem igen

Autentisering

API-nycklar, bearer-token, basic auth, OAuth 2 med refresh, HMAC-signering av anrop, ömsesidig TLS. En autentiseringsuppgift lagras en gång, refereras till med namn och skrivs aldrig ut i en logg eller en körningspost.

Sidindelning

Markörer, sidnummer, offset, Link-rubriker, och det API som signalerar slutet genom att returnera en tom array. Säg vilken form det är, så går steget igenom hela mängden.

Hastighetsbegränsningar

Ett tak per anslutning, respekterat i alla arbetsflöden som använder det. När en leverantör svarar 429 med en Retry-After väntar steget så länge i stället för att hamra på.

Omförsök och backoff

Tillfälliga fel försöks igen med ett växande intervall och ett tak. Ett steg är en ren funktion av sina indata, så ett omförsök kör om steget i stället för att köra om hela körningen.

Besvärliga nyttolaster

JSON, formulärkodning, XML, vanlig text, multipart-uppladdningar. Svar parsas till fält du kan referera till med namn, även de som ligger fyra nivåer ner.

Tidsgränser

En gräns per steg, så att en långsam beroendekomponent inte kan hålla en worker upptagen medan allt bakom den köar. Vad som händer när gränsen nås är ditt beslut, per steg.

Om den talar HTTP har konversationen redan börjat.

Inkommande webhooks, på allvar

Varje arbetsflöde kan ha en URL som startar det. Den URL:en verifierar signaturer — HMAC i de former som de vanliga leverantörerna använder, och en delad hemlighet där det är allt avsändaren klarar av. En osignerad begäran till ett arbetsflöde som kräver signatur avvisas och registreras, inte tyst behandlas.

Deduplicering sker på nyttolastens egen identifierare, så att en avsändare som försöker igen för att den inte hann se din 200 i tid ger en körning i stället för tre. Felaktiga nyttolaster sparas, med skälet till att de avvisades, för den vanligaste orsaken till ett oförklarligt gap i en automatisering är en avsändare som ändrat sig om ett fält.

Systemen som bara talar CSV

De finns. En fil dyker upp på en SFTP-server klockan fyra på natten, eller kommer som en bilaga, eller läggs i en delad mapp. Ett arbetsflöde kan hålla utkik efter den, läsa den och behandla varje rad som en post — inklusive filen med byte-ordningsmarkering, semikolonseparerare och rubrikrad på polska, för det är så exporten faktiskt ser ut.

Att gå åt andra hållet fungerar också: ett arbetsflöde kan bygga en fil och lägga den där det andra systemet förväntar sig att hitta den, vilket ofta är det enda gränssnitt en mjukvara från 2006 har.

Nattlig leverantörsfeedSFTP → HTTP
  • ⚡UtlösareNy fil på leverantörens SFTP: stock-2026-09-09.csv.
  • 2ParsaSemikolon, byte-ordningsmarkering, polska rubriker. 4 118 rader.
  • 3NormaliseraValutakoder kontrollerade mot referensdata; två avvisade som ogiltiga.
  • 4PushaHTTP PATCH i omgångar om 200, hastighetsbegränsningen respekterad.
  • !UndantagTvå rader arkiverade för en person, med radnumret och skälet. De andra 4 116 gick igenom.

Steg som anropade en modell: 0Kostnad för denna körning: ingenting

Där autentiseringsuppgifterna bor

Krypterade, refererade till med namn, avgränsade till den arbetsyta som äger dem, och aldrig renderade i en körningslogg, ett felmeddelande eller en supportkonversation. En körningspost visar att ett steg autentiserade sig som supplier-sftp; den visar inte vad supplier-sftp är.

En byrå som kör ett arbetsflöde för trettio klienter ger varje klient sin egen uppsättning autentiseringsuppgifter, och arbetsflödet hänvisar till uppsättningen i stället för till hemligheten. Att rotera en nyckel är en ändring på ett ställe — vilket är största skälet till att byråer kommer hit.

Gränsen värd att känna till: ett system utan något gränssnitt alls — inget API, ingen webhook, ingen fil, ingenting utom en person som klickar i en webbläsare — kan inte automatiseras av detta eller av något annat ärligt. Här finns ingen headless-webbläsare som låtsas vara en användare, för den går sönder första gången motparten flyttar en knapp, och den går sönder tyst.