Koppelingen voor Teamleader Focus
Teamleader koppeling: je CRM praat met de rest van je bedrijf

12.000+
Aanvragen die vanzelf als contact binnenkomen, gewonnen deals die in de planning staan, facturen die bij je boekhouder landen. Zonder dat iemand iets overtypt.
Teamleader in het midden, de rest eromheen
Een Teamleader koppeling zorgt dat je CRM gegevens uitwisselt met de andere pakketten in je bedrijf, zonder dat iemand ze overtypt. Een aanvraag van je site komt als contact binnen, een gewonnen deal wordt een opdracht in je planning, een geboekte factuur gaat naar je boekhouder. In Teamleader Focus staan klanten, deals, offertes, facturen, uren en projecten al op een plek. De vraag is hoe de rest van je bedrijf daarop aansluit.
Voor een kmo met een kantoor en een ploeg op de baan is dat geen detail. De verkoop zit in Teamleader, de boekhouding bij een boekhouder in Exact Online of Octopus, de werkbonnen in een app op de gsm van de technieker. Elke plek waar die drie elkaar niet zien, kost iemand tijd op vrijdagnamiddag. En elke kopie met de hand is een kans op een fout in een btw-nummer of een factuuradres.
Hieronder lees je wat de publieke API van Teamleader Focus vandaag toelaat, welke route past voor jouw geval, wat er in de praktijk misloopt en hoe wij een koppeling bouwen die je zelf in handen houdt. Twijfel je nog of Teamleader wel het juiste pakket is, lees dan eerst HubSpot of Teamleader of de opties in Teamleader alternatief.
Drie wegen naar Teamleader Focus
Naar Teamleader
POST naar api.focus.teamleader.eu/<actie>
09:05
companies.addNieuw bedrijf uit het contactformulier
09:06
contacts.addDe contactpersoon bij dat bedrijf
09:20
quotations.createOfferte uit de prijstool op je website, bij de deal
09:48
invoices.draftConceptfactuur uit de geregistreerde uren
10:02
invoices.bookDe conceptfactuur boeken
- 401: het token van 09:00 is verlopen
- Vernieuwen met de refresh token, die maar een keer werkt
- Het nieuwe paar meteen bewaren, de call herhalen: geboekt
Uit Teamleader
Webhooks op de URL van de koppeling
09:31
deal.wonDeal gewonnen: je planning maakt een werkbon
09:52
invoice.paymentRegisteredBetaling van een oudere factuur: het klantportaal toont betaald
De deur
- OAuth 2: de koppeling staat geregistreerd op de Teamleader Marketplace, met een client id, een secret en gekozen scopes. De beheerder keurt een keer goed.
- Lukt vernieuwen niet, dan krijgt de beheerder een bericht om de koppeling opnieuw te verbinden.
- Te veel calls in de laatste minuut geeft 429. De headers zeggen wanneer het weer mag, en de koppeling wacht tot dan.
- Een lijst zoals factuurlijnen vervangt Teamleader bij een update in zijn geheel. De koppeling stuurt dus altijd alle lijnen mee.
Voorbeeld met verzonnen tijden, gebaseerd op de openbare API-documentatie van Teamleader Focus. Wij zijn geen partner van Teamleader.
Wat de API van Teamleader Focus vandaag toelaat
Teamleader publiceert zijn API-documentatie op developer.focus.teamleader.eu. De API werkt anders dan de meeste API's die je kent. Elke handeling heeft een eigen adres in de vorm resource.action: contacts.list, deals.info, invoices.book, timetracking.add. Elke oproep is een POST met JSON, ook als je alleen leest. Antwoorden staan onder data, fouten onder errors, en lange lijsten lees je per pagina.
Wat je kan bereiken, staat in groepen: CRM met contacten en bedrijven, Deals, Calendar, Invoicing, Expenses, Products, Projects, Planning, Tasks, Time Tracking, Tickets, Files, Templates en Webhooks. Een koppeling kan dus bijna alles lezen en schrijven wat je in het scherm van Teamleader ziet.
Aanmelden gaat via OAuth 2. Je registreert een integratie in de Marketplace onder Bouw, kiest de scopes die de koppeling nodig heeft en krijgt een client id en een client secret. Een gebruiker geeft eenmalig toestemming. Daarna krijgt de koppeling een access token die meestal na een uur verloopt, en een refresh token om een nieuwe te halen. Die refresh token werkt maar een keer. Wie de nieuwe niet meteen bewaart, staat buiten tot iemand opnieuw toestemming geeft.
Er geldt een limiet per minuut. Teamleader telt per integratie en per Teamleader-account, in een glijdend venster van een minuut. Wie erover gaat, krijgt HTTP 429 terug. Drie headers zeggen hoeveel ruimte er nog is: x-ratelimit-limit, x-ratelimit-remaining en x-ratelimit-reset. De documentatie toont 200 verzoeken als voorbeeldwaarde. Teamleader raadt zelf aan om met het filter updated_since alleen de wijzigingen op te halen en webhooks te gebruiken in plaats van elke paar minuten alles te lezen.
Webhooks melden wat verandert. Met webhooks.register geef je een adres op en de soorten gebeurtenissen die je wilt horen: contact.added, deal.won, invoice.booked, invoice.paymentRegistered, timeTracking.added en tientallen andere. Er zijn ook gebeurtenissen voor Peppol, zoals invoice.peppolSubmissionFailed. Handig als je wilt weten dat een e-factuur niet aankwam, sinds Peppol in België verplicht is tussen bedrijven. Meer daarover in Peppol-registratie.
Welke route past bij jouw pakketten
Je kan Teamleader op drie manieren aan iets anders hangen. Begin bij de goedkoopste die je probleem echt oplost.
| Route | Past als | Wie onderhoudt | Waar het stopt |
|---|---|---|---|
| App uit de Marketplace | er al een app bestaat voor je pakket, zoals Exact Online, Octopus, Yuki, Mollie of Google Calendar | de maker van de app | de app doet wat de maker voorzag, niet meer |
| Make of Zapier | twee standaardpakketten met een paar eenvoudige stappen ertussen | jij, in een scenario of zap | logica die groeit, veel taken per maand, fouten die niemand ziet |
| Eigen koppeling op de API | een eigen proces, een eigen app of veel volume | wie de code bouwde, met logging | bouw vooraf en onderhoud bij een nieuwe API-versie |
De Marketplace eerst. Volgens Teamleader bereikt een app in de Marketplace meer dan 12.000 bedrijven, en er zijn categorieën voor boekhouding, agenda, betalingen, e-mailmarketing, stockbeheer, tijdregistratie en web2lead. Sommige apps zijn gratis, andere betalend. Zoek je een koppeling met Clearfacts, Twinfield of AFAS, kijk dan eerst daar. Wat er staat, onderhoudt een partij met veel meer klanten dan jij.
Make of Zapier als het simpel blijft. Zapier staat als gratis app in de Marketplace. Make heeft een eigen Teamleader-app met acties op contacten, bedrijven, deals, facturen, offertes, projecten, taken en uren, en triggers die via een webhook meteen starten. Een formulier dat een contact aanmaakt en een deal opent, zet je zo in een namiddag op. In Make, Zapier of n8n lees je wat die drie kosten en waar ze ophouden.
Een eigen koppeling loont als je regels hebt die geen standaardapp kent: een werkbon die pas een factuurregel wordt na goedkeuring, een planning die per ploeg uit gewonnen deals komt, of een klantenportaal dat offertes uit Teamleader toont. Het is ook de route als je een eigen werkbon-app of tijdsregistratie-app laat bouwen die met Teamleader moet praten. De algemene afweging staat in koppeling laten maken.
Waar een Teamleader-koppeling misloopt
Een koppeling die de eerste week werkt, klopt daarom nog niet na een jaar. Deze vier zaken lopen het vaakst mis, en elk heeft een oplossing die je vooraf inbouwt.
- Dubbele contactenKomt een aanvraag binnen met een ander e-mailadres of een typfout in de bedrijfsnaam, dan maakt een naïeve koppeling een tweede bedrijf aan. Zoek eerst op btw-nummer en e-mail, en maak pas aan als niets past. Twijfelgevallen gaan naar een lijst die iemand nakijkt.
- Statussen die niet matchenEen deal in Teamleader heeft fases die jij kiest. Je planning of boekhouding kent andere woorden. Leg vooraf vast welke fase welke status wordt, en wat er gebeurt met een fase die iemand later toevoegt.
- Webhooks die wegvallenEen webhook is een melding, geen garantie. Ligt je server even plat of verandert het adres, dan mis je gebeurtenissen. Laat de koppeling daarom ook op vaste tijden ophalen wat sinds de laatste keer veranderde, en vergelijk.
- Limieten en tokensEen eerste import van duizenden contacten loopt tegen de limiet per minuut aan. Een refresh token die maar een keer werkt, vraagt dat de koppeling de nieuwe meteen bewaart. Een wachtrij en een veilige opslag voor tokens lossen beide op.
Gegevens per richting, met wat ze in gang zet
Een koppeling begint met een tabel, niet met code. Per soort gegeven leg je vast waar het ontstaat, waar het naartoe gaat en wat het vertrek in gang zet. Bij twijfel wint het pakket dat de bron is.
| Gegeven | Richting | Start bij | Waar je op let |
|---|---|---|---|
| Contacten en bedrijven | site of webshop naar Teamleader | formulier of bestelling | ontdubbelen op e-mail en btw-nummer |
| Gewonnen deals | Teamleader naar planning of werkbon-app | webhook deal.won | welke fase welke status wordt |
| Uren en materiaal | werkbon-app naar Teamleader | afgewerkte werkbon | uren op het juiste project en de juiste gebruiker |
| Facturen | Teamleader naar boekhouding | factuur geboekt | btw-codes en grootboekrekeningen |
| Betalingen | boekhouding of Mollie naar Teamleader | betaling ontvangen | deelbetalingen en creditnota's |
| Producten en prijzen | voorraad of ERP naar Teamleader | product gewijzigd | een bron voor de prijs, nooit twee |
Hetzelfde veld in twee richtingen synchroniseren is de snelste weg naar een lus. Pakket A past iets aan, B krijgt een melding en schrijft terug, A krijgt weer een melding. Kies daarom per veld een eigenaar. Wil je weten wat Teamleader zelf kost voor je aan zo'n koppeling begint, lees dan wat Teamleader kost.
Zo bouwen we een koppeling op jouw account
- Gesprek en gegevenskaartWe overlopen welke pakketten je gebruikt, wat er vandaag overgetypt wordt en hoe vaak. Daaruit komt de tabel hierboven, ingevuld voor jouw bedrijf. Bestaat er een Marketplace-app die het doet, dan zeggen we dat en bouwen we niets.
- Een vaste prijsNa dat gesprek krijg je een vaste prijs voor de bouw, met het onderhoud apart vermeld. Je weet vooraf wat het kost, ook als de bouw langer duurt dan gedacht.
- Jouw registratie, jouw sleutelsDe integratie staat geregistreerd onder jouw Teamleader-account, met alleen de scopes die nodig zijn. Client secret en tokens staan in een kluis, niet in een mail of een spreadsheet. Stop je met ons, dan trek je de toegang zelf in.
- Eerst een proefrunDe eerste run schrijft niets. Hij toont wat hij zou aanmaken, aanpassen of overslaan. Pas als die lijst klopt, gaat de koppeling live.
- Logging en een weg terugElke oproep komt in een logboek met wat erin ging en wat terugkwam. Faalt iets, dan krijg je een melding en wacht de gebeurtenis in een rij op een nieuwe poging. Voor de eerste schrijfactie nemen we een export van alles wat de koppeling raakt, zodat je terug kan.
Andere pakketten, andere koppelingen
Teamleader is zelden het enige pakket. Deze pagina's gaan over de buren waarmee het meestal moet praten.
- Boekhouding en ERPeen Exact Online koppeling, een Odoo koppeling of een Business Central koppeling. Twijfel je tussen Odoo en Teamleader als hoofdpakket, lees dan Odoo of Teamleader.
- Bouw en installatiewerk je met Robaws voor werven en werkbonnen, lees dan de Robaws koppeling. Bouw je liever zelf iets op maat, kijk naar software voor bouwbedrijven.
- Een CRM dat pastsoms is het eerlijke antwoord dat je proces niet in een standaard-CRM past. Dan is CRM op maat de betere vraag.
Koppelingen en automatisaties bouwen we binnen AI-automatisatie. Stuur ons via contact welke pakketten je gebruikt en wat er vandaag overgetypt wordt.
AI automatisatie
Hoe VBS je hiermee helpt
We laten mails, offertes, documenten en opvolging zichzelf doen, ingebouwd in de manier waarop je nu werkt.
- Een flow per taak, van formulier tot bevestiging
- Een mens keurt goed wat ertoe doet
- Draait op AWS, met logboek en melding als iets faalt
Hoe we dat aanpakken, lees je bij AI automatisatie.
Welke Teamleader-koppeling heb jij nodig?
Vertel ons welke pakketten naast Teamleader draaien en wat er elke week met de hand gebeurt. Na een gesprek krijg je de route die past en een vaste prijs, of de raad om een bestaande app te nemen.
Liever meteen contact?