Koppelingen
Verbonden met wat je al gebruikt
Betalen, domeinregisters en DNS, Google Workspace, je marketingbronnen, je eigen AI-aanbieder, single sign-on, opslag, e-mailbezorging en de API: schakl. koppelt aan diensten die je al betaalt, elk op je eigen account en je eigen sleutels. Er zit geen tussenpartij tussen, want je draait de installatie zelf. De koppelingenpagina zet ze allemaal op een rij, per stuk met een badge die zegt of hij beschikbaar is of nog op de roadmap staat; hieronder staat wat ze samen voor je bureau doen.
Geld: online betalen, en wat je boekhouder krijgt
Koppel het Mollie-account dat je bureau al heeft en elke openstaande factuur krijgt een betaallink: iDEAL, Bancontact, kaart, SEPA-incasso of PayPal, precies wat in jouw Mollie-profiel aanstaat. De klant betaalt op de betaalpagina van Mollie, dus er komen hier nooit kaartgegevens langs; wat terugkomt is een id, waarna schakl. de status zelf bij Mollie ophaalt en er een gewone betaalregel op de factuur van maakt. Loop die route eerst één keer met de testsleutel van Mollie, want pas een echte betaling bewijst dat het meldingsadres bereikbaar is. Voor de boekhouding koppel je je SnelStart-administratie: klanten, definitieve facturen met de pdf eraan en je artikelen gaan erheen, en wat terugkomt is het enige waar SnelStart de baas over is, namelijk wie er betaald heeft. Werk je met een ander pakket, dan download je elke definitieve factuur en creditfactuur als UBL 2.1, het bestand dat Exact Online, Moneybird en e-Boekhouden importeren.
- Staf drukt op Betaallink, een klantlogin in het portaal ziet Nu betalen.
- Een uurlijkse controle haalt op wat een gemiste melding niet heeft doorgegeven.
- De betaallaag noemt geen leverancier, dus Stripe of Adyen wordt een pakket erbij (nu nog roadmap).
- Optioneel een QR-blok op het document, aan te zetten in Instellingen → Facturatie.
Domeinen: het register weet wie betaalt, de zone waar het heen wijst
Dat zijn twee verschillende vragen, en schakl. houdt ze uit elkaar. Koppel per klant een Cloudflare-account en je beheert de zone vanaf de domeinpagina zelf: nameservers, de live DNS-tabel, export en één domeinbrede omleiding die schakl. aanmaakt en terugleest, waardoor een domein met status omleiding eindelijk ook echt een Redirect Rule is. De OXXA-koppeling leest je resellerregister uit en zet vervaldatum, verhuisslot, automatisch verlengen, DNSSEC, de gedelegeerde nameservers en de houder op het domein; één actie schrijft terug, namelijk de nameservers omzetten waarmee de overstap naar Cloudflare rond is. En omdat alleen een register kan zeggen welke domeinen jij verlengt, is dat ook wat bepaalt welke domeinen je mag factureren.
- Een account is een rij, geen instelling: je bureau heeft er een en je klanten brengen die van henzelf mee.
- Wat schakl. besloot en wat het als laatste zag, staan apart bewaard.
- Iemand die in het dashboard van de leverancier iets verandert, wordt daardoor gemeld als verschil en niet stilletjes overschreven.
- De eerste sync laat zien welke domeinen je verlengt zonder dat schakl. ze kende.
Google Workspace, en de cijfers die eroverheen rijden
Je registreert je eigen Google Cloud OAuth-client als Internal app; dat is wat de afgeschermde Gmail- en Drive-rechten bruikbaar maakt zonder de keuring die Google voor publieke apps eist. Daarna koppelt elke medewerker zichzelf, in één extra klik. Goedgekeurd verlof en ingeplande taken gaan naar de eigen Google Agenda, het Drive-paneel opent de map van de klant, en e-mail met een bekende contactpersoon komt op de klanttijdlijn zodra de eigenaar van de mailbox hem goedkeurt. Op dezelfde toestemming rijden je marketingbronnen mee: Google Analytics 4, Search Console en Google Ads koppel je per klant, waarna de dagcijfers 's nachts worden opgehaald en in je eigen database bewaard. SE Ranking werkt op één API-sleutel voor het hele bureau, en Rank Math levert als vijfde bron de AI-zichtbaarheid van een klant, op het WordPress-wachtwoord dat bij die ene website hoort.
Adverteren en meten, met de knip op de juiste plek
Google Ads is een eigen module geworden, want een bureau doet meer met een advertentieaccount dan ernaar kijken. Je leest campagnes, kosten, zoektermen, apparaten en locaties, en je verandert budgetten, zoekwoorden, uitsluitingen en campagnes, elk achter een eigen recht: een sleutel die 's nachts de zoektermen mag opruimen hoeft niet ook aan het budget te kunnen komen. Een beleid per adverteerder houdt de vangrails vast (beschermde merkwoorden, een plafond op het dagbudget, hoeveel een budget in één keer mag stijgen), en wat je bewust níet uitsluit wordt ook vastgelegd, want anders komt hetzelfde lijstje elke maand terug. Tag Manager staat ernaast en gaat over de andere helft: welke container van deze klant is, wat erin live staat, en wat er al drie weken klaarstaat zonder gepubliceerd te zijn. Een werkruimte bewerken en publiceren zijn daar twee losse rechten, want het eerste verandert een concept dat niemand ziet en het tweede verandert wat er draait in de browser van elke bezoeker.
- Vier schrijfrechten bij Ads: campagne, budget, zoekwoord en uitsluiting
- Alles wordt gepauzeerd aangemaakt, en elke schrijfactie kan eerst als proef
- Tag Manager schrijft in een eigen werkruimte, dus half werk komt nooit in het concept van de klant
Wat er op de site van een klant draait, en of hij overeind staat
Twee koppelingen hangen aan de website in plaats van aan het domein. Eén WordPress-applicatiewachtwoord per site opent vier oppervlakken op dezelfde host: de gewone REST-API, de Abilities-API van WordPress 6.9, de MCP-server als die plugin er staat, en de eigen route van Rank Math voor AI-zichtbaarheid. Uptime Kuma is de open-source monitor die de meeste bureaus toch al draaien; koppel hem en een monitor wordt een record met een klant, een website, een profiel en een geschiedenis, in plaats van een melding die één keer afgaat. Draait de Kuma van de klant achter een firewall, dan werkt het nog steeds, want dan komt het verkeer de andere kant op en sturen wij er niets naartoe.
- Vijf losse proeven bij het controleren van een WordPress-site, en geen daarvan bepaalt de uitslag van de andere
- Monitorprofielen in plaats van driehonderd keer dezelfde instellingen overtypen
- Wat wij besloten en wat we voor het laatst zagen staan apart, dus iemand die in Kuma zelf iets wijzigt valt op
Inloggen met het account dat je bureau al heeft
Single sign-on werkt met elke OpenID Connect-aanbieder: Google Workspace, Microsoft Entra ID, Authentik, Keycloak of Auth0. Je stelt het volledig in de app in, onder Instellingen → Single sign-on, zonder omgevingsvariabelen en zonder herstart, en Verbinding testen bewijst dat het klopt voordat iemand erop vertrouwt. Wil je verder gaan, dan zet je inloggen met wachtwoord voor de hele organisatie uit; de API weigert dat op te slaan zolang de huidige gegevens geen geslaagde test hebben gehad, en er blijft een noodklep voor de beheerder van de installatie. Tweestapsverificatie vraagt helemaal geen koppeling: een authenticator-app en tien eenmalige back-upcodes zitten er gewoon in. Alleen het vangnet per sms vraagt een gateway, en staat die niet ingesteld, dan bestaat de sms-optie nergens in het product.
Wat je zelf aanwijst: opslag, verzending en model
Bestanden staan standaard op een volume naast de database; zet je de opslag-backend op s3, dan schrijft de app naar elke S3-compatibele bucket, van Hetzner Object Storage tot MinIO, Scaleway of AWS. Identieke bytes kosten per organisatie één object, dus hetzelfde handtekeninglogo op vijfhonderd binnengekomen mails is één object en geen vijfhonderd. Voor verzending kies je de partij die je toch al betaalt: je eigen SMTP-server, of Brevo, SendGrid of SMTP2GO via hun HTTP-API. Alles wat de app verstuurt, vertrekt verpakt in jouw logo, merknaam en kleur, met jouw handtekening eronder, en de naam schakl. staat er nergens in. Voor AI breng je je eigen aanbieder mee: Anthropic, OpenAI, of alles wat hun chat-API spreekt op een basis-URL van jezelf, tot een Ollama of vLLM in je eigen rack aan toe. Spraak naar tekst is een aparte sleutel, want Anthropic heeft er geen dienst voor.
Alles wat de app kan, kan een script ook
De webapp praat nooit rechtstreeks met de database: alles loopt over /api/v1, dus er is geen achterdeur die een script mist. De interactieve referentie staat op je eigen host onder /api/docs, met het OpenAPI-document op /api/openapi.json, en je authenticeert met een API-sleutel die precies de rechten draagt die je aanvinkt, persoonlijk of als service-account dat blijft werken als er iemand vertrekt. Dezelfde spec voedt de MCP-server op /mcp, waar elke operatie een tool is voor Claude of een andere AI-client; die tool-aanroep gaat in-process door dezelfde poort als het web, dus hostname naar organisatie, RLS gebonden en rechten opgelost. De volledige endpointlijst staat gepubliceerd in de documentatie, met per endpoint het recht dat je sleutel moet dragen. Je abonneren op gebeurtenissen staat nog op de roadmap; wel kan een automatiseringsregel een webhook aanroepen en kan een meldingskanaal naar een webhook-URL sturen. De kern van schakl. is open source (AGPL): koppelmodules als Mollie, Cloudflare, OXXA, Google en marketing zijn uitbreidingen met een licentiesleutel, net als de MCP-server, terwijl single sign-on, S3-opslag, e-mailbezorging en de REST API bij de kern horen.
Meer weten?
De documentatie beschrijft elke module tot in de details, van installatie tot rechten.