Overzicht
Vier bewegende delen, en ze zijn allemaal gewoon
Mensen, met een registratie van wat je naar hen mag sturen. Een graaf die beslist wat wanneer gebeurt. Documenten die renderen naar wat de graaf wil sturen. En een engine die contacten door de graaf loopt zonder iemand te verliezen, dubbel te sturen, of te breken wanneer je hem bewerkt op een vrijdag om half vijf.
Stap zes voedt stap twee. Een bericht dat geopend wordt is zelf een trigger; een link die aangeklikt wordt is een trigger; het uitblijven van beide gedurende negentig dagen is een segment waar iemand in kan terechtkomen. Die lus is het hele product, en alles hieronder is een detail van hoe één van de zes onderdelen is opgebouwd.
Wat volgt is geen lijst met functies die indruk moet maken. Het is de vorm van het systeem, in de volgorde waarin iemand het in werkelijkheid tegenkomt.
Het contactvlak en het accountvlak komen elkaar nooit tegen
Een klant ben jij — je logt in met een castomo-account, en ClickSomo ziet je wachtwoord nooit, want identiteit hoort bij een aparte dienst en wordt offline geverifieerd.
Een contact is iemand aan wie je marketing stuurt. Een contact logt nooit in, heeft nooit een inloggegeven en wordt nooit een account. De twee vlakken blijven permanent gescheiden, want jij bent de verwerkingsverantwoordelijke voor je eigen contacten en wij zijn de verwerker — en juist die regeling maakt het geheel wettelijk in plaats van slechts handig.
Het heeft ook een praktische kant. Een betaling maakt geen contact aan. Een boeking maakt geen contact aan. Er is geen stille achterdeur waarmee een zusterdienst iemand op jouw lijst kan zetten zonder grond om die persoon te schrijven.
- 1Drie identificatorenTenant, project en gebruiker, als uuid's. Geen wachtwoord, geen profiel, geen kaart.
- 2Quota als getallenContacten, verzendingen, AI-generaties. Geen bedrag, geen valuta, geen factuur — factureringswoorden steken deze lijn niet over.
- 3Jouw contactenVan jou. Afgebakend tot een tenant en een project samen, zodat een vergeten project niets ziet in plaats van de rijen van iemand anders.
Twee vlakken, permanent gescheiden

Alles hier gebeurt in iemands broekzak.
De engine
Een run is een rij, en een wachttijd is een tijdstip erop
Eén run per contact per funnelversie. Een worker least de runs die aan de beurt zijn, voert nodes uit tot hij bij een wachttijd of een eindpunt komt, en schrijft het volgende wektijdstip. Dat is de hele lus, en de eenvoud ervan is het punt.
Een node is een pure functie
Van de run, het contact en de node — en de effecten ervan worden in dezelfde transactie vastgelegd als de voortgang van de run zelf. Een worker die tussen "versturen" en "doorgaan" wordt gedood laat niets half af, en dat maakt een herhaling veilig in plaats van een tweede e-mail.
Wachttijden zijn geen rijen in een wachtrij
Een wachttijd zet wake_at op de run. Er wordt vooraf niets stroomafwaarts weggeschreven, dus er is stroomafwaarts niets te corrupteren als je de funnel bewerkt — het faalpatroon van elke tool die een reeks bij binnenkomst alvast materialiseert.
Idempotentie is een index
Geen controle gevolgd door een insert: het venster tussen die twee is precies breed genoeg om dubbel te versturen. Een unieke index over run, node, contact en venster is wat het echt tegenhoudt, en ook onder belasting.
De onderdelen, op volgorde
Acht pagina's, en dan heb je het product gelezen
Er schuilt geen verborgen diepte hieronder. Elke pagina is het echte mechanisme, geen samenvatting ervan.
Contacten & toestemming
Identiteit is het e-mailadres. De naam wordt als geheel opgeslagen. Toestemming is een grootboek met een wettelijke grondslag, en afwezigheid is geen toestemming.
Learn moreFunnels & triggers
Veertien triggers, zestien acties, zeven flownodes, en de zeven lastige gevallen waartegen de engine getest is.
Learn moreKanalen
E-mail, sms, push en gedrukte brieven. Breng je eigen verzending mee, en één aflevervocabulaire, welke provider het ook vervoert.
Learn moreCreatief
Eén document, zes weergavedoelen, samenvoegvariabelen gecontroleerd bij publicatie, en een waarschuwing voordat Gmail je bericht afkapt.
Learn moreTracking & rapporten
Een aparte trackinghost, ondertekende redirects, afmelden met één klik, en botverkeer gelabeld in plaats van stilletjes meegeteld.
Learn moreAI & agents
Een zin erin, een funnel eruit — gevalideerd op dezelfde manier als die van een mens. Een MCP-server waarvan de beste tool een proefrun is.
Learn moreDe API
API eerst, geen privé-endpoints, OpenAPI op /docs, idempotencysleutels overal, ondertekende webhooks naar buiten.
Hoe het zich verhoudt
Waar dit staat naast Mailchimp, Brevo, ActiveCampaign, Klaviyo en e-clicks.pro — geformuleerd als feiten over ClickSomo.
Learn moreWat het kost
Begin gratis, schaal op contacten en kanalen, en betaal niets voor het verzenden omdat je je eigen verzending meebrengt.
Learn moreWat dit niet is
Het is geen CRM. Het bevat een mailinglijst en wat die lijst heeft gedaan, niet je pipeline, je deals of je facturen. Heb je die nodig, houd dan het systeem dat je al hebt en stuur het events.
Het is geen agent die zelfstandig beslist wat er verstuurd wordt. AI stelt een funnel of een stuk tekst op op een moment dat jij erom vroeg; de grafiek die het produceert wordt daarna gecontroleerd door precies dezelfde checker die ook een menselijke versie bewaakt, en niets bereikt een echte persoon zonder dat een mens het publiceert. Dat is een bewuste beperking en het is de reden dat een run reproduceerbaar is.
Het is geen mailserver, en dat zal het nooit worden. De deliverability-reputatie hoort bij je provider of je eigen mailbox — dat is ook de reden dat de slechte campagne van niemand anders de jouwe hier kan schaden.
Het eerlijke deel: je eigen verzending meebrengen is een echte afweging. Je configureert een mailbox of een provider, voegt drie DNS-records toe en controleert of ze verifiëren, en je draagt de gevolgen als je iets verstuurt dat mensen rapporteren. In ruil daarvoor betaal je niets voor bezorging, wordt je reputatie niet gedeeld met vreemden, en verandert een providerwissel niets aan wat er upstream van ligt.