Een koffie, een buskaartje, een notitieboek. Kleine aankopen vergeet je gemakkelijk voordat je een spreadsheet opent. Wat als één Telegram-bericht genoeg was om ze vast te leggen, en een tweede om je maandtotaal te bekijken?
In deze handleiding bouw je Pocket Ledger, een Telegram-uitgaventracker met Google Sheets. Stuur een aankoop, bevestig de voorgestelde gegevens en vraag je maandtotaal op. Je Sheet bewaart de rijen en rekent; de bot voert het gesprek. Dit is het eindresultaat.

Hetzelfde resultaat in de Sheet. De koffie van EUR 4,50 brengt EUR 7,70 op EUR 12,20; USD 6,00 blijft apart.
De screenshots volgen een echte demo met fictieve uitgaven. We vergeleken de opgeslagen rij met de Action-aanroep in Inbox en controleerden beide Telegram-antwoorden aan de hand van de waarden uit Google Sheets. Persoonlijke identificatiegegevens en inloggegevens zijn verborgen in de gepubliceerde beelden.
De eerste mijlpaal is één opgeslagen koffie. De tweede is een totaal dat je in de spreadsheet kunt controleren. Je leert ook waarom ‘opgeslagen’ in een chatantwoord slechts de helft van het bewijs is.
Download de Pocket Ledger-installatiekit voor de opgemaakte startwerkmap, avatar, prompt, Action-instellingen en testwerkblad. Importeer de werkmap in de Sheet die Quickchat AI heeft aangemaakt en volg daarna de stappen hieronder. De kopieerbare voorbeelden gebruiken steeds Engels en november 2026, zodat je jouw resultaten met de screenshots kunt vergelijken.
Wat heb je nodig voor een Telegram-uitgaventracker?
Je hebt Telegram, een Google-account en een Quickchat AI-account nodig. De inrichting gebruikt dashboardinstellingen en een spreadsheetformule; je hoeft geen programma te hosten.
- Maak een Quickchat AI-account, rond de verificatie af en maak een Agent met de naam
Pocket Ledger. - Zorg dat je een Google-account hebt voor de nieuwe spreadsheet. Begin met de fictieve gegevens hieronder.
- Gebruik een nieuwe Telegram-bot voor deze oefening. Houd een tweede vertrouwd Telegram-account beschikbaar voor de toegangstest aan het einde.
Het Free-abonnement van Quickchat AI is bedoeld voor persoonlijk, niet-commercieel leren en heeft een beperkte bundel. AI-gesprekken en Simulation Testing kosten credits. Bekijk de actuele abonnementen en limieten voordat je een abonnement voor doorlopend gebruik kiest.
Twee richtingen, twee Actions. Een rij opslaan geeft de Agent nog geen manier om eerdere totalen te lezen.
Stap 1: hoe verbind je je eigen Telegram-bot?
BotFather maakt de identiteit van je bot. Quickchat AI levert de Agent die op berichten reageert.
Open de officiële @BotFather, stuur /newbot, noem de bot Pocket Ledger en kies een beschikbare gebruikersnaam die eindigt op bot. Upload de avatar uit de kit met /setuserpic. Houd het token geheim; je plakt het rechtstreeks in Quickchat AI.

Open in Quickchat AI External Apps → Telegram → Your own bot. Kies Connect to Telegram, plak de inlogreferentie in Bot Token en bevestig het venster. Zet Enable your own bot aan en kies Save. De BotFather-handleiding beschrijft de schermen uitgebreid.
De verbonden bot heeft dezelfde naam Pocket Ledger die je in Telegram ziet.
Open de link van je nieuwe bot in Telegram, stuur /start en stuur daarna Hello in de privéchat. /start verstuurt het welkomstbericht; het gewone bericht maakt het Inbox-gesprek en de afzendermetadata aan die je hieronder nodig hebt. Laat Actions voor persoonsgegevens tijdens het instellen inactief.

Open dit gesprek in Quickchat AI via Inbox → Details → Visitor. Zoek Telegram User Id en Telegram Chat Type (de metadatasleutels zijn telegram_user_id en telegram_chat_type). Kopieer de numerieke gebruikers-ID met het bedieningselement dat verschijnt als je erover beweegt, en controleer of het chattype private is.
Neem je afzender-ID uit dit veld over. Persoonlijke identificatiegegevens zijn verborgen in de screenshot; gebruik je eigen echte waarde.
De ID komt uit de metadata van de Telegram-afzender. Je gebruikersnaam, een nummer in een bericht en de ID van de bot zijn andere gegevens. Je gebruikt de afzender-ID straks om beide Actions te beperken.
Stap 2: hoe bereid je de Google-spreadsheet voor?
De Google Sheets-integratie maakt een spreadsheet en een eerste Action. Hergebruik dat bestand, zodat de Action en de Google-machtiging naar dezelfde bron verwijzen.
- Open Actions & MCPs → Add Action → Google Sheets en autoriseer je Google-account. De handleiding voor Google Sheets legt de toestemming en beginconfiguratie uit.
- Schakel de eerste Action meteen uit. Deze wordt actief aangemaakt. Behoud de naam
log_lead_to_google_sheet, want opnieuw verbinden zoekt op die naam. We veranderen de functie naar het opslaan van uitgaven. - Open de aangemaakte spreadsheet en noem deze
Pocket Ledger demo. Kies in dit nieuwe demobestand File → Import → Upload, selecteerpocket-ledger-starter.xlsxuit de kit kies Replace spreadsheet en klik daarna op Import data. Zo worden zowelExpensesalsSummaryvoorbereid in het bestand waartoe Quickchat AI toegang heeft. Gebruik deze optie alleen in de nieuwe demospreadsheet. - Controleer de drie startrijen hieronder. In
Summarymoeten de begintotalen EUR 7,70 en USD 6,00 zijn. Stap 6 legt de formule uit en verbindt de lees-Action.
Begin met de Google Sheets-verbinding. De autorisatie maakt de spreadsheet aan die beide Actions gebruiken.
Wil je de tabbladen zelf maken? Hernoem het eerste tabblad naar Expenses. Stel voor deze Engelse voorbeelden File → Settings → Locale → United States in. Maak A:D en F:H op als Plain text en E als Number met twee decimalen. Plak vervolgens het onderstaande blok in A1. Zet de koprij vast en verbreed de kolommen. Voeg Summary toe met stap 6. Google beschrijft ook hoe je een Excel-werkmap in een bestaande Sheet importeert.
Kopieer de drie eerste uitgaven
date month item category amount currency note conversation_url
2026-11-01 2026-11 coffee food 4.50 EUR synthetic example
2026-11-02 2026-11 bus ticket transport 3.20 EUR synthetic example
2026-11-03 2026-11 notebook stationery 6.00 USD synthetic example
Drie startuitgaven, klaar voor de vierde. Bedragen zijn getallen in E; valutacodes staan als afzonderlijke tekstwaarden in F.
De kolom conversation_url koppelt elke nieuwe uitgave aan het gesprek. Laat deze leeg voor de drie handmatig ingevoerde voorbeelden. Googles drive.file-machtiging omvat bestanden die de app maakt of expliciet mag gebruiken; dit recept gebruikt de spreadsheet van de integratie en geeft geen toegang tot je hele Drive.
Stap 3: hoe beperk je uitgaven tot jouw chat?
Stel Run only when in voor elke Action die het logboek leest of beschrijft. Beide voorwaarden moeten kloppen, dus alleen jouw ID is in een groepschat onvoldoende.
| Metadatasleutel | Vergelijking | Waarde |
|---|---|---|
telegram_user_id | equals | Jouw echte numerieke afzender-ID uit stap 1 |
telegram_chat_type | equals | private |
- Open de uitgeschakelde Action
log_lead_to_google_sheeten zoek Run only when. - Voeg beide bovenstaande voorwaarden toe. Gebruik de exacte metadatasleutels en de cijfers van je ID, zonder gebruikersnaam of
@-voorvoegsel. - Sla de Action op en laat deze uitgeschakeld. Voeg dezelfde voorwaarden toe aan de lees-Action wanneer je die in stap 6 maakt.
De voorwaarden van de opslag-Action in de lokale demo. Vervang de fictieve ID door jouw echte afzender-ID en herhaal beide voorwaarden op de lees-Action.
Beide voorwaarden horen op beide Actions. Een andere afzender of groepschat moet worden geweigerd voordat een HTTP-verzoek Google Sheets bereikt.
Dit zijn door de server afgedwongen Action-voorwaarden. ‘Antwoord alleen mij’ in de prompt is geen toegangscontrole. Beperk ook het delen van de spreadsheet en de toegang tot je Quickchat AI-account.
Stap 4: hoe laat je de bot een bevestigde uitgave opslaan?
Pas de eerste Action aan om één rij toe te voegen in de kolomvolgorde van je spreadsheet. Stel When to run → AI decides in, zodat deze op bevestiging kan wachten. Geef de Agent vervolgens een bevestigingsregel voordat je deze inschakelt.
Stel de uitgavenvelden in
Vervang onder What to ask the user first de leadvelden door deze parameters. Houd de parameternamen exact zoals hieronder.
| Parameternaam | Formaat | Verplicht | In te voeren beschrijving |
|---|---|---|---|
date | Text | Ja | Uitgavendatum in YYYY-MM-DD, bevestigd door de eigenaar. Vraag ernaar als die ontbreekt. |
month | Text | Ja | YYYY-MM uit de bevestigde datum. |
item | Text | Ja | Korte naam van de aankoop. |
category | Text | Ja | Eenvoudige categorie afgesproken met de eigenaar, zoals eten of vervoer. |
amount | Decimal Number | Ja | Positief numeriek bedrag zonder valutateken. |
currency | Text | Ja | Bevestigde ISO-valutacode, zoals EUR of USD. Vraag om uitleg bij dubbelzinnige symbolen. |
note | Text | Nee | Optionele notitie. Laat leeg als er geen is opgegeven. |
Behoud de echte spreadsheet-ID uit het bestaande API Endpoint. Verander het bereik in Expenses!A:H, houd de methode POST aan en stel Query Params in op valueInputOption=RAW en insertDataOption=INSERT_ROWS. Verwijder dubbele query-instellingen als deze al in de URL staan.
Kopieer de referentie voor het toevoegverzoek
POST https://sheets.googleapis.com/v4/spreadsheets/YOUR_CREATED_SHEET_ID/values/Expenses!A:H:append
Query Params:
valueInputOption = RAW
insertDataOption = INSERT_ROWS
Headers:
Authorization = Bearer {{google_sheets_access_token}}
Content-Type = application/json
YOUR_CREATED_SHEET_ID is een verklarende placeholder. Behoud je echte ID in de bestaande URL; vervang die niet door deze placeholder. Kies het bestaande Google Sheets-System Token voor de Authorization-waarde en de ingebouwde gespreks-URL-variabele in de body.
Voer op het tabblad Body in:
{"values":[["{{date}}","{{month}}","{{item}}","{{category}}","{{amount}}","{{currency}}","{{note}}","{{conversation_url}}"]]}
Lokale configuratie van de uitgaven-Action. De body bepaalt de celvolgorde; het formaat van de bedragparameter bepaalt het numerieke type.
Laat de aanhalingstekens rond {{amount}} in de editor staan. Omdat deze exacte placeholder naar een Decimal Number-parameter verwijst, levert vervanging een JSON-getal zoals 4.5 op. Zonder aanhalingstekens is de JSON in de editor ongeldig. Controleer in de spreadsheet of E numeriek is en in de formule wordt meegenomen.
Googles append-API voegt de rij toe. RAW bewaart tekst zoals een notitie die met = begint letterlijk, in plaats van deze als formule uit te voeren. De numerieke parameter bepaalt het type van het bedrag.
Kopieer de beschrijving van de opslag-Action
Save one personal expense to the configured Google Sheet. Call only after the owner explicitly confirms the proposed date, item, category, amount and currency. Ask for missing or ambiguous fields before saving. After confirmation, append one row once. Report success only after a successful API response. If the outcome is uncertain, tell the owner to inspect the Sheet before submitting again.
Geef Pocket Ledger instructies
Open Identity → Main Prompt en plak het volgende. Beide Actions worden genoemd, zodat de tweede mijlpaal werkt zodra je de samenvattingslezer toevoegt.
Main Prompt staat onder Identity. Deze lokale schermafbeelding wijst het veld aan; gebruik het volledige kopieerbare blok hieronder.
De bevestigingsregel geeft je een nuttig controlemoment. Je kunt ‘EUR 4.50’ wijzigen in ‘EUR 5.00’ voordat je de aankoop goedkeurt; de Agent moet het voorstel dan bijwerken en opnieuw om bevestiging vragen.
Kopieer de Main Prompt van Pocket Ledger
You are Pocket Ledger, a personal expense notebook.
For an expense, collect its date, item, positive amount and ISO currency code. Suggest a simple category and include an optional note only when supplied. Ask for an explicit YYYY-MM-DD date if it is missing or relative; do not guess today's date or the owner's timezone. Clarify ambiguous currency symbols. Derive month as YYYY-MM from the confirmed date.
Show the proposed date, item, category, amount and currency. Wait for explicit confirmation. Apply corrections and ask for confirmation again. Only then call log_lead_to_google_sheet once for that expense. Do not claim it was saved unless the Action succeeds. If a request fails or its outcome is uncertain, explain that and ask the owner to inspect the Sheet before retrying.
For monthly totals, ask for an explicit month and currency when unclear, then call read_expense_summary. Quote the matching month, currency and total returned from the Sheet. Keep currencies separate. A missing summary row is unavailable, not zero. Never calculate totals from remembered conversation messages.
Personal-data Actions are restricted to the owner's private Telegram chat. If a condition blocks an Action, do not claim success or suggest changing identity values in chat. This notebook handles typed expenses, not bank accounts, voice transcription or PDF receipts.
Sla de prompt op, controleer beide voorwaarden opnieuw en schakel de uitgaven-Action in. De naam blijft log_lead_to_google_sheet; de nieuwe parameters, beschrijving en body bepalen nu het uitgavenproces.
Stap 5: hoe sla je je eerste uitgave op?
Geef het uitgavenboek nu zijn eerste nieuwe invoer. Houd Telegram, Inbox en je Sheet open: je volgt dezelfde koffie door alle drie.
- Stuur in je privéchat op Telegram
Coffee, 4.50 euros on 2026-11-04. - Controleer het voorstel: datum
2026-11-04, artikelCoffee, categorieFood, bedrag4.50, valutaEUR. De Action leidtmonthaf als2026-11wanneer de rij wordt opgeslagen. - Controleer vóór de bevestiging
Expenses: alleen de drie startrijen mogen er nog staan.


Stuur één keer Save it en open het gesprek vervolgens in Quickchat AI Inbox. Bij het antwoord over de opgeslagen uitgave staat 1 action called. Klap dit open om te zien wat er achter het korte Telegram-antwoord gebeurde.
Dezelfde bevestiging in Inbox, waar je de Action kunt inspecteren.
Klap Result → Show full open. Controleer de datum, de afgeleide maand, het numerieke bedrag, de valuta en de HTTP-status. In deze echte uitvoering gaf Google HTTP 200, updatedRows: 1 en updatedRange: Expenses!A5:H5 terug.
De opslag-Action stuurde bedrag 4.5 als getal en schreef één rij. Privégegevens zijn verborgen; het teruggegeven bereik en resultaat blijven zichtbaar.
Open ten slotte Expenses. Rij 5 moet dezelfde koffie bevatten, met 2026-11 in de maandkolom, 4.50 bij het bedrag en EUR als valuta. De laatste kolom verwijst naar het Inbox-gesprek, zodat je een invoer kunt herleiden tot het bericht waarmee deze is aangemaakt.
De vierde uitgave kwam via Telegram binnen. De privélink naar Inbox is verborgen in de gepubliceerde afbeelding.
Nu heb je een bruikbare dagelijkse routine: sturen, bevestigen, controleren. Geef de bot vervolgens een betrouwbare bron om te lezen als je vraagt waar het geld deze maand naartoe ging.
Stap 6: hoe vraag je een maandtotaal op?
Laat Google Sheets het totaal berekenen en de lees-Action het ophalen. Door in de spreadsheet te rekenen blijft het antwoord controleerbaar nadat het gesprek eindigt.
Voeg een Summary-tabblad toe
Als je de startwerkmap hebt geïmporteerd, zijn Summary en de formules al voorbereid. De beginwaarden zijn EUR 7,70 en USD 6,00; de koffie verandert alleen de EUR-rij. Gebruik de stappen hieronder als je de Sheet handmatig maakt.
Het beginpunt: twee valuta’s, twee onafhankelijke totalen.
- Maak een tabblad
Summary. Zet kolommen A:B op Plain text en voermonth,currency,totalin A1:C1 in. - Voer
2026-11enEURin A2:B2 in, daarna2026-11enUSDin A3:B3. - Voer deze formule in C2 in en vul deze door naar C3. Geef C een getalnotatie met twee decimalen.
=SUMIFS(Expenses!$E$2:$E$501,Expenses!$B$2:$B$501,A2,Expenses!$F$2:$F$501,B2)
De SUMIFS-functie telt bedragen op waarvan maand en valuta overeenkomen met de overzichtsrij. Vereist de landinstelling van je spreadsheet puntkomma’s tussen argumenten, vervang dan de komma’s in de formule. Getallen in JSON-verzoeken gebruiken nog steeds een decimale punt.
Selecteer C2 om de formule achter EUR 12,20 te zien. De USD-rij blijft 6,00.
De oorspronkelijke EUR 7.70 plus de nieuwe koffie van EUR 4.50 levert EUR 12.20 op. Het notitieboek van USD 6.00 heeft een eigen totaal.
De startformule omvat rijen 2 tot en met 501. In deze vastgelegde uitvoering eindigen de drie bereiken op 502 nadat de nieuwe rij is ingevoegd. Sheets kan verwijzingen aanpassen bij het invoegen; controleer of alle drie de Expenses-bereiken gelijk blijven lopen en breid ze samen uit voordat nieuwe invoer buiten het bereik valt. Voeg een overzichtsrij voor maand en valuta toe voor elke combinatie die je wilt opvragen.
Voeg de lees-Action toe
Open Actions & MCPs → Add Action → API Action. Gebruik Generate met onderstaand verzoek; gegenereerde Actions beginnen uitgeschakeld. Noem de Action read_expense_summary en houd When to run op AI decides, zodat het resultaat in het antwoord kan worden gebruikt. Hergebruik dezelfde echte spreadsheet-ID en hetzelfde Google Sheets-System Token. Parameters van de gebruiker zijn niet nodig.
Kopieer het verzoek voor de Action-builder
Create a read-only Google Sheets Action named read_expense_summary. Use GET for the Summary!A1:C25 range of the spreadsheet already created by this Agent's Google Sheets integration. Reuse its actual spreadsheet ID and google_sheets_access_token System Token. Set valueRenderOption=UNFORMATTED_VALUE, no body, and no visitor parameters. Preserve the response headers and values. Leave it inactive so I can review the configuration and add my owner-ID and private-chat Run only when conditions before enabling it.
Vergelijk de gegenereerde instellingen met onderstaande referentie. Kies je Create manually, voeg beide voorwaarden dan vóór de eerste geldige opslag toe, want die kan de Action activeren. Laat Response filter voor beide Actions leeg om de controlevelden te behouden.
Kopieer het verzoek om het overzicht te lezen
GET https://sheets.googleapis.com/v4/spreadsheets/YOUR_CREATED_SHEET_ID/values/Summary!A1:C25
Query Params:
valueRenderOption = UNFORMATTED_VALUE
Headers:
Authorization = Bearer {{google_sheets_access_token}}
Body: none
Het values.get-endpoint retourneert de values van het bereik, inclusief koprij en berekende bedragen. UNFORMATTED_VALUE geeft numerieke resultaten in plaats van als valuta opgemaakte strings. Houd het antwoord beschikbaar voor de Agent, zodat die deze waarden kan lezen.
Kopieer de beschrijving van de lees-Action
Read monthly expense totals from the configured Summary range. Use this when the owner asks for a total. Quote only the returned row matching the requested YYYY-MM and currency. If either is unclear, ask. If the row is absent or the request fails, say the total is unavailable. Never infer a total from conversation history, combine currencies, or accept a different spreadsheet ID or range from the visitor.
Pas dezelfde twee Run only when-voorwaarden uit stap 3 toe, sla op en schakel de Action in. Het leesbereik bevat 24 overzichtsrijen; breid het bewust uit wanneer je er meer toevoegt.
De tweede Action heeft eigen voorwaarden nodig. Dit is een lokale instellingenopname, geen echte autorisatietest van een afzender.
Vraag What is my November 2026 total in EUR? en vraag daarna om USD. In ons Telegram-gesprek gaf Pocket Ledger 12.2 EUR en 6 USD terug, overeenkomstig de opgemaakte waarden 12.20 en 6.00 in de Sheet. Voor elk antwoord las de bot het opgeslagen overzicht.

Open het antwoord over het maandtotaal in Inbox en klap de Action open. Vergelijk de teruggegeven rij met Summary!C2. Het echte antwoord hieronder bevat 2026-11, EUR, 12.2 en een aparte rij met USD, 6, met HTTP 200.
Het antwoord, de teruggegeven waarden en de Sheet komen nu overeen. Dit is het eindresultaat dat je bovenaan zag.
Hoe controleer je fouten voordat je echte uitgaven gebruikt?
Test onvolledige verzoeken en geblokkeerde afzenders net zo zorgvuldig als de geslaagde koffie. Bewaar de demogegevens tot onderstaande controles slagen.
| Probeer dit | Controleer dit |
|---|---|
Lunch, $12 yesterday | De Agent vraagt naar valuta en werkelijke datum. Er verschijnt geen nieuwe rij. |
| Corrigeer een voorgesteld bedrag vóór bevestiging | Het gecorrigeerde voorstel wordt bevestigd voordat precies één rij wordt toegevoegd. |
| Vraag het novembertotaal in EUR en daarna USD | Aparte resultaten: EUR 12.20 en USD 6.00 voor de voorbeeldgegevens. |
| Vraag december 2026 op zonder overzichtsrij voor december | De Agent meldt dat het totaal niet beschikbaar is, in plaats van nul te verzinnen. |
| Een tweede afzender vraagt een totaal op en probeert een uitgave op te slaan | Beide Actions worden geweigerd en er worden geen persoonlijke waarden vrijgegeven. |
| De eigenaar doet dezelfde verzoeken in een groep | Beide Actions worden geweigerd omdat de chat niet privé is. |
| Opslaan mislukt of krijgt een time-out | Het antwoord meldt een fout of onzekerheid. Controleer de spreadsheet voordat je opnieuw probeert. |
Open voor herhaalbare taaltests Testing → Create Dataset → Paste messages en gebruik de berichten en beoordelingscriteria uit het pakket. Test de bevestigingsreeks apart in een volledig gesprek. Preview- of Simulation-metadata zijn testgegevens; ze bewijzen niet dat een echte tweede Telegram-afzender wordt geblokkeerd.
De lokale dataset is klaar voor tests. De aanwezigheid ervan is geen voltooide Simulation of bewijs van een Google Sheets-schrijfactie.
Werkt gedrag niet zoals verwacht, wijzig dan één relevante instructie, herhaal dezelfde invoer en controleer aanroep en spreadsheet opnieuw. Bij te vroeg toevoegen moet je bijvoorbeeld de bevestigingstekst van de opslag-Action bekijken. Bevestiging is een instructie, geen uniciteitsgarantie van een database. Na een time-out is de spreadsheet controleren belangrijker dan opnieuw verzenden.
Zodra het traject werkt, verwijder je de fictieve uitgavenrijen, behoud je koppen en formules en voeg je overzichtsrijen toe voor de maanden en valuta’s die je werkelijk gebruikt. Je eerste echte aankoop kan dezelfde routine volgen als de koffie.
Kan een AI-assistent helpen Pocket Ledger te configureren?
Een verbonden assistent voor accountbeheer kan de Agent voorbereiden en de Action-instellingen controleren. Volg Manage with AI via de ChatGPT-vermelding of Claude-vermelding van Quickchat AI. Geef de assistent het pakket en dit verzoek:
Help me configure Pocket Ledger from this setup kit. Inspect the available Quickchat AI tools first. Prepare the Main Prompt and the two HTTP Actions using the exact field names, numeric amount type and fixed ranges. Keep log_lead_to_google_sheet as the starter name. Ask me to complete Google OAuth and Telegram Bot Token setup in the dashboard. Apply both owner/private run conditions before enabling either Action. Do not run credit-consuming tests or append expenses until I ask. Report any setting your tools cannot configure so I can complete it in the dashboard.
De eigenaar rondt de Google-toestemming en Telegram-verbinding af. Controleer de instellingen en voer dezelfde controles hierboven uit, ongeacht wie ze heeft ingevoerd.
Veelgestelde vragen
Hoe houd ik uitgaven bij in Telegram met Google Sheets?
Verbind een Telegram-bot met een Quickchat AI Agent en autoriseer Google Sheets. Configureer één Action die na bevestiging een uitgave toevoegt en één die een met formules berekend maandoverzicht leest. Beperk beide Actions tot je Telegram-gebruikers-ID en een privéchat.
Kan de bot vertellen hoeveel ik deze maand heb uitgegeven?
Ja, als de gevraagde maand en valuta een rij hebben in het ingestelde Summary-bereik. Google Sheets berekent het totaal met SUMIFS; de lees-Action haalt het op. Een Action die alleen toevoegt kan geen totalen ophalen, en een ontbrekende overzichtsrij is geen nul.
Kan iemand anders mijn uitgaven lezen via de Telegram-bot?
Beide Actions voor persoonlijke gegevens moeten jouw geverifieerde telegram_user_id en telegram_chat_type gelijk aan private vereisen. Deze voorwaarden blokkeren aanroepen van andere afzenders en groepen. Test beide situaties voordat je persoonlijke gegevens toevoegt en beperk ook toegang tot de spreadsheet en je Quickchat AI-account.
Is deze Telegram-uitgaventracker gratis?
Een Telegram-bot maken is gratis. Het Free-abonnement van Quickchat AI ondersteunt persoonlijk, niet-commercieel leren met een beperkte hoeveelheid AI-credits. AI-antwoorden en Simulation Testing gebruiken credits; doorlopend gebruik hangt af van je beschikbare bundel en abonnement.
Heb ik Apps Script, Python of een automatiseringsserver nodig?
Dit recept gebruikt Quickchat AI Actions en een Google Sheets-formule. Je plakt de meegeleverde verzoekinstellingen, JSON-body en prompt in het dashboard; je hoeft geen Apps Script, Python-bot of automatiseringsserver te implementeren.
Kan ik mijn bestaande uitgavenspreadsheet gebruiken?
Dit recept gebruikt de spreadsheet die de Google Sheets-integratie van Quickchat AI maakt. De drive.file-autorisatie geeft geen onbeperkte toegang tot je Drive. Vervang de spreadsheet-ID niet door een willekeurig bestaand bestand in de veronderstelling dat het toegankelijk is.
Kan de bot foto’s van bonnetjes of spraakberichten lezen?
Deze tutorial behandelt getypte uitgaven. Extractie uit bonnetjes vereist eerst een eigen test van afbeeldingslevering via Telegram en bevestiging. Spraaktranscriptie en het verwerken van PDF-bonnetjes vallen buiten deze opzet.
Hoe gaat de bot om met verschillende valuta’s en dubbele invoer?
Elke valuta krijgt een apart maandtotaal; het recept rekent valuta’s niet om. Bevestiging vermindert onbedoelde invoer, maar biedt geen atomaire preventie van dubbele invoer. Krijgt opslaan een time-out, controleer dan eerst de spreadsheet voordat je opnieuw verzendt.