Naar de hoofdinhoud

MCP

AI-gegevensinvoer voor je Telegram CRM: velden en labels automatisch invullen met MCP

Matias, auteur van de Entergram-blog
Matias 28 jul 2026 14 min leestijd
Een AI-agent die via MCP CRM-velden zoals taal en salesfase invult bij Telegram-chats
MCPAICRMWorkflows

Laat de AI de velden van je Telegram CRM invullen

Koppel de Telegram MCP-server van Entergram aan een AI-client, en de agent kan de berichten van elke chat lezen, de CRM-kolommen aanmaken die je beschrijft en in één run de juiste waarde invullen bij elke chat waar hij toegang toe heeft. Je beschrijft het resultaat in een prompt ("een kolom Language, gevuld op basis van de laatste 100 berichten"), controleert een steekproef van de voorgestelde waarden en laat de agent de rest doen. Deze post loopt vijf werkende voorbeelden door: taalherkenning, salesfase, supportlabels, de velden die nooit iemand invult, en een broadcast naar het segment dat de agent net heeft opgebouwd.

Dit doet ertoe omdat CRM-kolommen leeg blijven zodra het team het druk krijgt. Niemand heeft zin om een lange chat terug te lezen om te ontdekken dat het contact een Turkssprekende reseller is die naar staffelprijzen vroeg, en dat vervolgens in vier velden te typen. De informatie staat al in de berichten. Een agent met MCP-toegang kan die lezen en terugschrijven als gestructureerde data waarop je kunt filteren, rapporteren en broadcasten.

Wat MCP de agent geeft

Het Model Context Protocol is de standaard waarmee AI-clients externe systemen aanroepen. Entergram biedt een gehoste MCP-server, en de tools die deze publiceert bepalen wat een agent echt kan. Voor deze taak zijn vier groepen belangrijk:

  • Chats en ontdekking: entergram_list_workspace_chats, entergram_get_workspace_chat. Dit is de CRM-weergave van een gesprek: huidige veldwaarden, gekoppelde tickets, interne notities.
  • Berichten: entergram_list_messages, entergram_send_message. Dit is het ruwe bewijs waarover de agent redeneert, en het kanaal waarlangs hij antwoordt.
  • Aangepaste CRM-velden: entergram_list_custom_columns, entergram_create_custom_column, entergram_create_custom_column_option, entergram_patch_chat_custom_fields. Het schema lezen, het schema uitbreiden, waarden schrijven.
  • Interne notities en tickets: entergram_create_chat_comment, entergram_create_ticket. Hier laat de agent zijn redenering achter, en hier escaleert hij.

Het belangrijke is dat create_custom_column überhaupt bestaat. Bij de meeste integraties mag een machine schrijven in velden die iemand anders heeft ontworpen. Hier kan de agent ook het veld ontwerpen: het type kiezen (text, textarea, number, date, select, multiselect, checkbox), de lijst met opties bepalen, elke optie een kleur geven en er meteen mee beginnen het te vullen. Daarmee verandert de workflow van "eerst configureren, dan automatiseren" in "beschrijf het resultaat dat je wilt en laat de agent de structuur bouwen".

De setup duurt een paar minuten: kopieer de URL van je MCP-server via Settings → Workspace → Connectors → MCP, plak die in Claude, ChatGPT, Cursor, n8n of welke client je ook gebruikt, en autoriseer de scopes. De helppagina over MCP-connectors en onze gids voor het koppelen van elke AI-client behandelen de details per platform. Alles hieronder gaat ervan uit dat die verbinding actief is.

Voorbeeld 1: een taalkolom die zichzelf vult

Begin met het voorbeeld dat zich direct terugbetaalt, zeker als je over de grens verkoopt.

Je hebt geen idee welke taal de meeste van je contacten verkiezen. Je team schrijft standaard in het Engels, krijgt korte antwoorden en leest dat als weinig interesse. De helft van de keren is het geen gebrek aan interesse, maar iemand die in zijn derde taal typt en het kort houdt omdat het moeite kost.

Dit is de hele workflow als prompt:

Maak in mijn Entergram-workspace een nieuwe aangepaste chatkolom aan met de naam "Language", type select, met deze opties: English (en), Russian (ru), Spanish (es), Turkish (tr), Portuguese (pt), Farsi (fa), Arabic (ar), Chinese (zh), German (de), French (fr) en Mixed/Unclear (unclear). Geef elke optie een eigen kleur.

Ga daarna door elke chat in de workspace. Lees per chat de laatste 100 berichten, kijk alleen naar wat het contact schreef (negeer mijn eigen berichten en alle botoutput) en bepaal in welke taal het contact overwegend schrijft. Vul die in het veld Language in. Zijn er minder dan vijf berichten van het contact, of schrijft het contact ongeveer evenveel in twee talen, vul dan unclear in in plaats van te gokken.

Laat me, voordat je iets schrijft, de eerste 20 chats zien met je voorgestelde waarde en een onderbouwing van één regel. Ik bevestig, daarna doe je de rest.

Wat de agent stap voor stap echt doet:

  1. Hij roept entergram_list_custom_columns aan om te controleren of er al een kolom Language bestaat, zodat een tweede run geen duplicaat aanmaakt.
  2. Hij roept entergram_create_custom_column aan met type: "select" en de reeks opties, waarbij elke optie een label, een vaste value en een hex-color heeft.
  3. Hij roept entergram_list_workspace_chats aan om de gesprekken op te sommen, met items[].telegramId als de canonieke chat-id.
  4. Per chat roept hij entergram_list_messages aan en haalt hij de recente geschiedenis op.
  5. Hij bepaalt de waarde en roept daarna entergram_patch_chat_custom_fields aan met { language: "tr" }.

Een paar dingen maken het verschil tussen een kolom die echt nuttig is en een kolom die je niet meer vertrouwt:

Filter je eigen berichten eruit. Leest de agent het hele gesprek inclusief jouw kant, dan trekt een supportteam dat vooral Engels schrijft elk resultaat richting Engels. De instructie "kijk alleen naar wat het contact schreef" doet hier echt werk.

Maak onderscheid tussen schrift en taal. Cyrillisch is niet automatisch Russisch. Het kan ook Oekraïens, Bulgaars of Servisch zijn. Arabisch schrift is niet automatisch Arabisch, want Farsi en Urdu gebruiken het ook. Zeg dat expliciet in de prompt als je in die markten verkoopt, en de agent kijkt naar de woordenschat in plaats van op het alfabet te matchen.

Geef de agent een uitweg. De optie unclear voorkomt dat de kolom volloopt met zelfverzekerde onzin. Een veld dat voor 90% is gevuld en klopt, is beter dan een veld dat voor 100% is gevuld en voor 15% fout is, want dat tweede veld vergiftigt ongemerkt elke broadcast die je erop bouwt.

Voeg een betrouwbaarheidsveld toe als er veel op het spel staat. Met een tweede kolom, Language confidence, type number, kan de agent bij elke inschatting een waarde van 0 tot 100 vastleggen. Daarna filter je op alles onder de 70 en bekijk je die zelf. Veertig chats om te controleren in plaats van 1.400.

Als die kolom eenmaal bestaat, is hij geen decoratie. Hij bepaalt wie welk antwoordsjabloon krijgt, welke teamgenoot de chat oppakt en, zoals je verderop leest, welke broadcastvariant een contact ontvangt.

Voorbeeld 2: de salesfase, afgeleid uit het gesprek

Hetzelfde mechanisme, een moeilijker oordeel. Dit is de kolom die je verkopers zouden bijhouden en dat nooit deden.

Maak een select-kolom "Pipeline stage" met de opties: New lead, Qualifying, Demo scheduled, Proposal sent, Negotiation, Won, Lost, Dormant.

Lees per chat de laatste 100 berichten en kies de fase die het gesprek echt onderbouwt. Gebruik bewijs, geen gevoel: "Proposal sent" alleen als ik prijzen of een document heb gestuurd; "Demo scheduled" alleen als er een gesprek met een tijdstip is afgesproken; "Won" alleen als er een bevestiging van betaling of start is; "Lost" alleen als ze expliciet hebben afgehaakt. Is het laatste bericht van het contact ouder dan 45 dagen en is er geen duidelijke uitkomst, kies dan Dormant.

Laat bij elke chat die je labelt ook een interne notitie achter met een citaat van het specifieke bericht waarop de fase is gebaseerd, met de datum.

Die laatste regel maakt dit betrouwbaar. entergram_create_chat_comment schrijft een notitie die alleen je team ziet, nooit de klant. Zo heeft elke gelabelde chat een eigen audittrail, bijvoorbeeld "Proposal sent, op basis van 12 juni: 'hier is de offerte voor 200 seats'". Is een verkoper het niet eens met een label, dan ziet hij in twee seconden waarom de agent het koos, en past hij het label aan in plaats van het vertrouwen in de hele kolom te verliezen.

Handige varianten zodra de basisversie werkt:

  • Een datumkolom Last meaningful contact, gevuld met de tijdstempel van het laatste bericht dat inhoud had, dus zonder "ok", "bedankt", stickers en reacties. Sorteer erop en je krijgt een echte follow-upwachtrij in plaats van een lijst die vervuild is door duimpjes.
  • Een getalkolom Deal value, gevuld met elk bedrag dat het contact zelf noemde. Leeg als er niets is besproken. Opeens hangt er een getal aan je pipeline, gehaald uit gesprekken die nooit iemand heeft vastgelegd.
  • Een textarea-kolom Blocker, met één zin over waarom elke deal nog niet gesloten is. Lees die kolom door voor twintig chats en je leert meer over je funnel dan uit welk dashboard ook.

Doe je outreach op grote schaal, combineer dit dan met de aanpak uit onze gids over Telegram-salesautomatisering. De fasekolom maakt de rest van de pipeline adresseerbaar.

Voorbeeld 3: supportlabels die passen bij hoe je echt sorteert

Support vraagt om een andere vorm dan sales, en hier bewijst multiselect zijn waarde, omdat één gesprek vaak een factuurvraag en een bugmelding is.

Maak een multiselect-kolom "Issue type" met de opties: Billing, Bug, Onboarding, Feature request, Integration, Account access, Abuse report. Maak een checkbox-kolom "Needs human". Maak een select-kolom "Sentiment" met de opties: Happy, Neutral, Frustrated, Angry.

Lees voor elke chat met activiteit van het contact in de afgelopen 14 dagen de recente berichten en vul alle drie de velden in. Vink "Needs human" aan als het contact een vraag stelde die nooit is beantwoord, of als het sentiment Frustrated of Angry is.

Open daarna voor alles waarbij "Needs human" is aangevinkt en het sentiment Angry is een ticket met hoge prioriteit, geef het als titel een samenvatting van één regel van het probleem en koppel het aan de chat.

Multiselect-waarden worden verstuurd als arrays van optiewaarden, ["billing", "bug"], niet als labels. Daarom hoort de agent altijd eerst het schema te lezen voordat hij schrijft. Checkbox-velden verwachten echte booleans. Datumvelden verwachten ISO 8601-strings. Gaat er bij een van die drie iets mis, dan wordt de schrijfactie geweigerd in plaats van ongemerkt verminkt, en dat is precies het gedrag dat je wilt.

Aan het eind heb je een supportwachtrij die op iets beters is gesorteerd dan het tijdstip van binnenkomst. Filter op Needs human = true, sorteer op sentiment en je werkt de lijst af in de volgorde die churn echt verlaagt. Combineer het met een kanbanbord voor tickets en de escalaties die de agent opende, verschijnen in dezelfde kolom waarin je team al werkt.

Voorbeeld 4: de velden die nooit iemand invult

De twee hierboven liggen voor de hand. Deze verrassen mensen.

Werktijden. Een getalkolom Active hour, gevuld met het uur van de dag (in UTC) waarop het contact het vaakst berichten stuurt, berekend uit de tijdstempels van de laatste 100 berichten. Het kost de agent niets extra, want hij heeft de tijdstempels al, en het vertelt je wanneer iemand echt achter zijn bureau zit. Een koper in Dubai om 07:00 UTC berichten en een koper in São Paulo om 19:00 UTC levert een merkbaar hogere reactiegraad op, zonder extra moeite.

Reactiepatroon. Een select-kolom met Replies fast, Replies in a day, Replies in days en Rarely replies, afgeleid uit de mediane tijd tussen jouw bericht en hun antwoord. Dit veld vertelt je of stilte iets betekent. Een contact dat altijd vier dagen nodig heeft, koelt niet af. Iemand die normaal binnen het uur antwoordt en al een week stil is, wel.

Bedrijf en functie. Tekstkolommen, gevuld met wat de persoon in het gesprek over zichzelf vertelde: de handtekening, de introductie, het bericht "we zijn een exchange met 40 mensen in Singapore" uit de eerste maand. Het staat gewoon in de geschiedenis en niemand heeft het ooit in een veld overgenomen.

Verwijzingsbron. Een select-kolom, gevuld met wat het contact vertelde over hoe het je vond: een community, een partner, een specifiek kanaal. Draai dit over je hele workspace en je hebt een attributierapport voor een kanaal dat er nooit een had.

Complianceflags. Een checkbox Requested no marketing, aangevinkt wanneer iemand ooit heeft gevraagd geen promotionele berichten te ontvangen. Draai dit één keer over je volledige geschiedenis en je hebt een uitsluitingslijst opgebouwd uit berichten die je team zich half herinnert. Voor je volgende campagne is dat ene veld de hele oefening al waard.

Hiervoor zijn geen nieuwe productfuncties nodig. Het zijn allemaal gewoon kolommen plus een leesronde, en precies dat maakt MCP de moeite van het koppelen waard.

Voorbeeld 5: broadcasten naar een segment dat de agent net heeft opgebouwd

Nu de beloning. De kolommen hierboven zijn geen doel op zich. Ze bestaan zodat je op groepen kunt handelen in plaats van op individuen.

Zodra Language, Pipeline stage en Last meaningful contact zijn gevuld, wordt een verzoek als dit mogelijk:

Zoek elke chat waarin Pipeline stage Dormant is, Language Russian is, Requested no marketing niet is aangevinkt en Last meaningful contact meer dan 60 dagen geleden is. Laat me de lijst zien met namen en het laatste wat ze zeiden.

Schrijf een kort heractiveringsbericht in het Russisch: twee zinnen, geen emoji, met een verwijzing naar ons laatste gesprek over prijzen. Laat me het concept en de lijst met ontvangers zien. Verstuur nog niets.

Jij controleert. Jij past de formulering aan. Daarna:

Verstuur het, één chat tegelijk, vanaf het salesaccount, met een pauze tussen elk bericht. Sla iedereen over die ons in de afgelopen 48 uur een bericht heeft gestuurd. Zet na het versturen Pipeline stage op Qualifying en laat een interne notitie achter met de datum en de campagne.

Dat is een gesegmenteerde broadcast in de juiste taal die rekening houdt met afmeldingen en die als bijeffect je CRM bijwerkt, gebouwd op velden die een uur eerder nog niet bestonden. De gids over broadcastberichten behandelt dezelfde taak via de interface van Entergram. De MCP-route is wat je wilt als het segment wordt bepaald door iets wat alleen een leesronde kan vaststellen.

Drie regels zijn hier belangrijker dan waar ook in deze post:

Eis altijd een proefrun. "Laat me de lijst en het concept zien, verstuur niets" hoort in elke broadcastprompt die je schrijft. Versturen is de enige actie die je niet kunt terugdraaien, en met messages.write kan een agent namens jou berichten versturen.

Doseer het tempo. Het eigen antispamgedrag van Telegram reageert op pieken. Eén bericht tegelijk met een pauze ertussen is geen schijnvoorzichtigheid, het is hoe je het account gezond houdt. Onze gids over massaberichten versturen op Telegram gaat in detail in op de limieten.

Schrijf varianten per taal, geen vertalingen van één Engels bericht. Je hebt nu een kolom Language. Gebruik die goed: een Russisch bericht dat als Russisch is geschreven, presteert beter dan een machinaal vertaald Engels bericht, en de agent kan prima het eerste schrijven als je erom vraagt.

Uitvoeren over een hele workspace

Een paar praktische tips voor de eerste grote inhaalslag.

Werk in batches. Vraag om 50 chats tegelijk in plaats van 1.400 in één instructie. De context van een agent is eindig, en een run in batches die voortgang rapporteert, kun je stoppen, corrigeren en hervatten. "Doe chats 1 tot en met 50, laat me een overzichtstabel zien en wacht dan" is een betere instructie dan "doe alles".

Sorteer op waarde. Doe eerst je actieve chats, niet alfabetisch. Breekt de run halverwege af, dan wil je dat de nuttige helft klaar is.

Maak herhaalde runs idempotent. Vertel de agent dat hij chats overslaat waarin het veld al is ingevuld, tenzij je expliciet om een verversing vraagt. Dan kun je dezelfde prompt wekelijks draaien om nieuwe gesprekken mee te nemen zonder dat werk opnieuw wordt gedaan.

Geef alleen de scopes die je nodig hebt. Voor een ronde van lezen en labelen zijn chats.read, messages.read en chat_custom_fields.write genoeg. Laat messages.write helemaal uit tot je bij de broadcastfase bent. Scopes zijn de echte veiligheidsgrens. Lees wat teamgenoten en gekoppelde clients kunnen zien voor hoe rechten in de workspace werken.

Houd een mens in de lus bij alles wat onomkeerbaar is. Labels zijn goedkoop te herstellen. Berichten die naar 300 mensen zijn verstuurd niet.

Veelgestelde vragen

Kan een AI-agent echt mijn persoonlijke Telegram-chats lezen?
Via de MCP-server van Entergram wel. Die werkt op je gekoppelde account, niet op een bot, dus hij ziet dezelfde privéberichten, groepen en kanalen als jij. Dat is precies de bedoeling: bots kunnen de gesprekken waarin je echte zaken plaatsvinden niet zien. Het verschil wordt uitgelegd in Telegram MCP vs de Bot API.

Werkt dit ook met een Telegram-bot?
Nee. De Bot API kan alleen berichten lezen die naar de bot zijn gestuurd. Elke workflow in deze post hangt af van het lezen van echte gespreksgeschiedenis vanaf een normaal account.

Welke AI-clients ondersteunen dit?
Elke client die MCP ondersteunt: Claude, ChatGPT, Perplexity, Cursor, Cline, Windsurf, Zed, Goose, Raycast, plus n8n en Make. De setup bestaat uit een URL en een OAuth-autorisatie. Zie Claude koppelen aan Telegram MCP of de vergelijking van Telegram MCP's in 2026.

Wat gebeurt er als de agent iets verkeerd labelt?
Je past de waarde in de chattabel aan, net als bij elk ander veld. Daarom is de gewoonte van interne notities belangrijk: je ziet de redenering, herkent het patroon en past de prompt aan in plaats van de kolom op te geven.

Verschijnen de velden die ik via MCP aanmaak in de normale interface?
Ja. Het zijn gewone aangepaste kolommen: filterbaar, sorteerbaar, zichtbaar voor je team en bruikbaar in analyses en bij het opbouwen van segmenten. MCP is een tweede deur naar hetzelfde schema, geen parallel systeem.

Begin met één kolom

De fout is op dag één een perfect schema van twaalf kolommen willen ontwerpen. Doe dat niet. Kies Language, draai het over je workspace en kijk hoe het voelt om je inbox daarop te filteren. Het kost één prompt en een kop koffie, en je ziet meteen of de waarden kloppen.

Voeg daarna Pipeline stage toe. Dan supportlabels. Dan de vreemde: actief uur, reactiepatroon, verwijzingsbron, velden die geen enkel CRM standaard meelevert, omdat geen enkel CRM kon weten dat je ze zou willen.

De doorbraak is niet dat AI in je database schrijft. Het is dat een gesprek eindelijk een doorzoekbaar object is: iets wat je kunt labelen, tellen, segmenteren en waarop je kunt handelen, zonder dat iemand 200 berichten hoeft terug te lezen om te onthouden wie deze persoon was.

Koppel je Telegram MCP-server en begin met één kolom.

Matias, auteur van de Entergram-blog
Matias

Business development en schrijver over Telegram CRM

Matias werkt in business development bij Entergram, waar hij partnerschappen, klantgesprekken en de Web3-community onder zijn hoede heeft. Hij maakt van terugkerende workflowvragen praktische gidsen over Telegram CRM, support, analyse en automatisering.

28 jul 2026 · 14 min leestijd

Meer artikelen van Matias

Klaar om je Telegram-workflow te verbeteren?

Verspil geen lead meer. Verlies geen bericht meer.

Begin met Entergram