Alle functies

Koppelingen

Verbonden met wat je al gebruikt

Betalen, boekhouding en tijdregistratie, domeinregisters en DNS, Google Workspace of Microsoft 365, 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.

Uren die nog elders geschreven worden

Wie van een andere urenregistratie overstapt, schrijft een tijd lang in allebei. De Timeon-koppeling houdt uren en projecten aan beide kanten gelijk zolang die overstap duurt, in de richting die je per soort kiest. De eerste run herkent wat een import al overzette en koppelt het zonder iets te schrijven, een gefactureerd uur wordt nooit herschreven, en een uur dat aan beide kanten gewijzigd is komt in een wachtrij als beslissing in plaats van dat een van de twee stilletjes wint. Een proefrun is de standaard, en het schema draait op de klok van je organisatie.

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 of Microsoft 365, 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. Werkt je bureau in Microsoft 365, dan doet een eigen app-registratie in Entra hetzelfde met de Outlook-agenda, OneDrive en Outlook-mail, naast of in plaats van Google. Op de Google-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. Analytics en Search Console zijn daarnaast elk een eigen leesoppervlak met een eigen MCP-sectie, voor elke vraag die het dashboard niet voorzag. SE Ranking werkt op een API-sleutel voor het hele bureau, en Rank Math levert 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 dezelfde host op meerdere manieren: 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. Onder datzelfde wachtwoord leest en bewerkt een agent de pagina's, media, formulieren en abilities van elke gekoppelde site, met de site als parameter, en met de schakl WordPress MCP Bridge-plugin ook paginaopbouw met ACF, verborgen berichttypes, uploads en WPML-vertalingen. Een concept schrijven en een live pagina wijzigen zijn twee rechten, want WordPress heeft geen testomgeving. 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.

  • Zes losse proeven bij het controleren van een WordPress-site, en geen daarvan bepaalt de uitslag van de andere
  • Eén MCP-sectie voor elke WordPress-site, of het er nu vier zijn of vierhonderd
  • 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: OpenAI, een eigen server, of Mistral Voxtral, dat een vergadering van drie uur in één keer uitschrijft met wie er sprak.

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 nooit meer mag dan jij, 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, ChatGPT 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. Claude en ChatGPT koppelen met alleen het adres via OAuth, en smallere adressen als /mcp/compact, /mcp/growth of /mcp/wordpress bieden precies het deel dat een client aankan. 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, Microsoft, Timeon 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.

De demo komt eraan

De live demo is nog niet klaar. We werken er hard aan en kijken ernaar uit om hem hier te delen zodra hij af is.

Naar de documentatie

Meer functies