Automatizza il riepilogo dell'MRR di Stripe con un AI agent su Telegram
Ricevi alle 9 del mattino un riepilogo su Telegram con la variazione dell'MRR, i nuovi abbonamenti, le cancellazioni e una riga di contesto. Chiave Stripe in sola lettura, nessuna dashboard da $108/mese, nessuna dashboard da aprire.

Controlli già Stripe ogni mattina. Smetti di aprire la dashboard.
Se gestisci un piccolo SaaS, la prima cosa che fai quasi ogni mattina è aprire Stripe. Guardi sempre gli stessi tre o quattro numeri. L'MRR. I nuovi abbonamenti della notte. Eventuali cancellazioni. Magari i pagamenti falliti. Poi chiudi la scheda e inizi la giornata.
Le dashboard che promettono di risolvere questo problema partono da cifre serie. Baremetrics Metrics costa $208 al mese per il prodotto di analytics da solo. ChartMogul è gratuito sotto i $10K di MRR, poi salta a $100 al mese con il piano Scale e aggiunge $25 al mese per ogni ulteriore scaglione di $10K di MRR che superi. Entrambi ti invieranno un riepilogo via email o su Slack. Entrambi ti daranno anche una matrice di coorti di churn, un modello di previsione, un flusso di dunning e altre dieci funzionalità che non usi.
Se l'unica cosa che vuoi davvero è "cosa è cambiato in Stripe durante la notte, in un solo messaggio, alle 9 del mattino", stai pagando dai $108 ai $474 al mese per il prodotto sbagliato. Quello che vuoi è un report giornaliero, non una suite di analytics. Sono due problemi completamente diversi, e il secondo si risolve in un pomeriggio con un AI agent su Telegram, una chiave Stripe in sola lettura e una singola attività pianificata.
Cosa contiene un riepilogo Stripe davvero utile
Prima di automatizzare qualsiasi cosa, scrivi il riepilogo che vorresti trovare al risveglio. Per un SaaS bootstrap l'insieme utile è ridotto:
- L'MRR in questo momento, e la variazione rispetto a 24 ore fa. Un numero di testata con il segno.
- Nuovi abbonamenti a pagamento della notte. Piano, email del cliente, contributo all'MRR.
- Cancellazioni della notte. Piano, email del cliente, MRR appena perso.
- Cambi di piano. Upgrade e downgrade si compensano in expansion MRR e contraction MRR.
- Pagamenti falliti che vale la pena conoscere. Qualsiasi importo superiore a $50, qualsiasi pagamento su un cliente con più di 3 mesi di anzianità.
- Una riga di contesto. "Netto +$47 di MRR, l'expansion ha battuto il churn 3 a 1, la mossa più grande è stata l'upgrade di Acme a Pro" arriva in modo molto diverso rispetto a un elenco di numeri.
È un messaggio di 10 righe. Non ti serve una dashboard da $208. Ti servono una chiave Stripe in sola lettura, una chat Telegram e un'attività pianificata che parte alle 9 ora locale.

La ricetta: una skill, un'attività giornaliera, una chiave in sola lettura
Il trucco è mantenere lo scope molto ridotto. Non devi ricalcolare l'MRR dagli eventi grezzi invoice.payment_succeeded. Non ti serve un database interrogabile. Ti serve un riepilogo giornaliero, scritto dall'agent, consegnato sul tuo telefono.
Passo 1: crea una chiave Stripe in sola lettura
Questo è il singolo passo di sicurezza più importante. Le chiavi API limitate di Stripe ti permettono di concedere il permesso Read su risorse specifiche e None su tutto il resto. Per un riepilogo dell'MRR ti serve solo la lettura su:
- Subscriptions
- Customers
- Invoices
- Prices e products
Imposta ogni altra risorsa su None. La chiave non può creare addebiti, non può effettuare rimborsi, non può modificare un abbonamento, non può leggere i dati della tua piattaforma Connect. Se la chiave viene compromessa, il peggio che un attaccante può fare è vedere gli stessi numeri che vedi tu. Stripe raccomanda esplicitamente le chiavi limitate rispetto alle chiavi segrete, soprattutto quando affidi la chiave a un AI agent.
Conserva la chiave nei secret del tuo agent, mai nel codice, mai in un prompt. Hermes Agent cifra i secret a riposo e non li espone mai al modello.
Passo 2: scrivi una piccola skill stripe-reader
La skill è un wrapper leggero attorno all'API di Stripe che restituisce un singolo blob JSON ogni mattina:
# skills/stripe-reader/main.py
import stripe, os, datetime as dt
stripe.api_key = os.environ["STRIPE_RESTRICTED_KEY"]
since = int((dt.datetime.now(dt.timezone.utc) - dt.timedelta(hours=24)).timestamp())
# Active MRR right now
active = stripe.Subscription.list(status="active", limit=100, expand=["data.items"])
mrr_now = sum(_monthly_normalize(item) for sub in active.auto_paging_iter() for item in sub["items"]["data"])
# Events in the last 24 hours that affect MRR
new_subs = list(stripe.Subscription.search(query=f"status:'active' AND created>{since}").auto_paging_iter())
canceled = list(stripe.Subscription.search(query=f"canceled_at>{since}").auto_paging_iter())
plan_changes = list(stripe.Event.list(type="customer.subscription.updated", created={"gte": since}).auto_paging_iter())
return {
"mrr_now_cents": mrr_now,
"new_subs": [_pluck(s) for s in new_subs],
"canceled": [_pluck(s) for s in canceled],
"plan_changes": [_pluck_event(e) for e in plan_changes],
"failed_payments": _list_recent_failed_invoices(since),
}
Due note sui calcoli. Primo, la definizione di MRR data da Stripe stessa è la somma degli importi normalizzati su base mensile di tutti gli abbonamenti attivi, quindi un piano annuale da $290 contribuisce $24,17 all'MRR, non $290 (la documentazione di Stripe sull'MRR). Secondo, una cancellazione smette di contare ai fini dell'MRR solo quando scade, non nel momento in cui il cliente clicca su Annulla, quindi le "cancellazioni della notte" nel tuo riepilogo dovrebbero includere sia gli eventi canceled_at sia gli eventi current_period_end verificatisi nelle ultime 24 ore.
È esattamente il tipo di sfumatura che rende complicato calcolare l'MRR dai dati grezzi di Stripe quando provi a costruire una pipeline di analytics completa. Per un riepilogo una volta al giorno puoi permetterti di essere leggermente impreciso: le dashboard su cui hai tarato l'occhio fanno lo stesso.

Passo 3: un'attività pianificata alle 9 del mattino
Dai al tuo Hermes Agent una singola riga di cron in linguaggio naturale:
every weekday at 9am Madrid time, run the stripe-reader skill
and send me a Telegram digest. Headline: MRR right now and delta
vs yesterday. Then list new subs, cancels, plan changes and
failed payments over $50. End with one line of context about
what dominated the day.
Questo è l'intero prompt. L'agent chiama la skill, ottiene il JSON, scrive il messaggio e lo invia alla tua chat Telegram. Con enabled_toolsets=["stripe-reader","telegram"] limitato a questa attività, l'LLM vede solo i numeri che gli servono e lo strumento di invio su Telegram: non può chiamare per errore nient'altro. È lo stesso schema che abbiamo usato nel playbook del riepilogo crypto e nella guida generale alle attività pianificate per Hermes Agent.
Perché il livello agent si ripaga
Un report piatto potrebbe essere fatto con uno script Python da 50 righe. Il motivo per mettergli davanti un agent è la riga di contesto alla fine del messaggio.
Un report nudo e crudo dice:
MRR $4.217. +$47 rispetto a ieri. 2 nuovi abbonamenti. 1 cancellazione. 3 cambi di piano. 1 pagamento fallito.
Un report con contesto dice:
MRR $4.217 (+$47, +1,1%). L'expansion ha battuto il churn 3 a 1: Acme è passata da Starter a Pro ($30 di MRR), Beta Co ha aggiunto una postazione ($10). Una cancellazione Starter ($19) ha indicato "passaggio a Notion AI" nel sondaggio di uscita. Netto +$47, secondo giorno migliore del mese.
Stessi numeri, messaggio molto diverso. Il primo è qualcosa che scorri di sfuggita. Il secondo è qualcosa su cui agisci: potresti contattare chi ha cancellato il piano Starter, potresti scrivere ad Acme per ringraziarla, potresti verificare se il motivo del sondaggio di uscita compare anche in altre cancellazioni. Quel livello di diagnosi è ciò che costa $108 al mese su Baremetrics, ed è ciò che un piccolo AI agent ti dà al prezzo di un VPS economico più il consumo del tuo modello.
Quanto costa
Conti onesti per un SaaS bootstrap nella fascia $0 - $10K di MRR:
| Strumento | Costo mensile | Cosa ottieni |
|---|---|---|
| Baremetrics Metrics | $208 | Suite di analytics completa, email di riepilogo settimanale |
| ChartMogul Scale | $100 + $25 per ogni +$10K di MRR | Suite di analytics completa, alert configurabili |
| ProfitWell | $0 di base | Metriche gratuite limitate, upsell verso Recover e Retain |
| Hermes Agent + Hermify Starter | $19/mese + ~$2 di consumo del modello | Un riepilogo su Telegram alle 9 del mattino, controllo totale della chiave in sola lettura e del prompt |
Non ottieni le curve di retention per coorte, non ottieni una dashboard pubblica, non ottieni un flusso di dunning. Ottieni l'unico report che apri davvero e lo ottieni sul telefono prima ancora di sederti. Per la maggior parte dei founder bootstrap sotto i $10K di MRR, è tutto il lavoro che serve.
Se superi i $10K di MRR e inizi ad avere bisogno della parte di dunning, puoi tenere l'agent per il riepilogo giornaliero e aggiungere ChartMogul Launch (gratuito sotto i $10K) o uno strumento mirato per quella specifica esigenza. L'agent non ti chiude dentro a niente.
Come iniziare
La configurazione completa è:
- Crea una chiave API Stripe limitata con permesso di lettura su subscriptions, customers, invoices, prices e products. None su tutto il resto.
- Inserisci la chiave nei secret del tuo Hermes Agent.
- Aggiungi la skill
stripe-reader: puoi scriverne una tua o fare il fork del repository pubblico delle skill di Hermes. - Aggiungi una riga di cron in linguaggio naturale.
- Verifica che il primo riepilogo delle 9 del mattino arrivi sul tuo Telegram.
Se vuoi l'intero stack ospitato, monitorato e su un bot Telegram gestito, inizia con Hermify sul piano Starter a $19/mese. Tu porti la tua chiave del modello e la tua chiave Stripe in sola lettura, noi gestiamo il runtime, il cron e il bot. Lo stesso schema funziona per i riepiloghi crypto, il monitoraggio dei competitor e il resto del cluster sull'automazione che stiamo pubblicando nell'ultimo mese.
La dashboard che apri ogni mattina costa $108. La dashboard che viene da te costa $19.
Fonti
- Calculating MRR in Stripe Billing - Stripe Help & Support
- Impact of subscription cancellations on MRR - Stripe Help & Support
- Common events that affect MRR totals - Stripe Help & Support
- Restricted API keys - Stripe Documentation
- Best practices for managing secret API keys - Stripe Documentation
- ChartMogul vs Baremetrics vs MRR.io pricing - Baremetrics blog
- ChartMogul pricing on G2
- Calculating MRR from raw Stripe data is tricky - Steven Wang on Medium
Avvia il tuo Hermes Agent
Porta la tua chiave API, collega Telegram e ottieni un agente IA che migliora da solo, online in 60 secondi.
Inizia ora