- Data keuangan yang terhubung melalui Plaid bisa dihubungkan sebagai alat MCP untuk menangani saldo, transaksi, investasi, dan informasi pinjaman, serta mengotomatiskan pemeriksaan keuangan yang berulang dengan Claude Code routines
- Otomatisasi browser berbasis cron yang lama sering rusak karena masalah rendering, prompt 2FA, error yang hanya mengumpulkan sebagian akun, perubahan format email, dan batasan passkey, sehingga Driggsby dibuat untuk mengurangi masalah ini
- Email ringkasan keuangan harian disusun hanya dengan prompt, waktu eksekusi, dan Driggsby custom connector; karena Gmail connector hanya bisa membuat draf, alat
email_me() ditambahkan untuk menangani pengiriman nyata dan menstabilkan format
- Dengan cara yang sama, otomatisasi untuk deteksi anomali transaksi Amex selama 7 hari terakhir dan pemantauan arus keluar besar di atas $500 dari checking account dibuat, dengan pengaturan agar tidak mengirim notifikasi saat semuanya normal
- Beban konfigurasi dan debugging yang rendah bahkan memungkinkan menjalankan routine keuangan yang dipersonalisasi terpisah untuk masing-masing pasangan, dan menjadi fondasi otomatisasi yang cepat meluas ke pemantauan investasi, langganan, dan pengeluaran
Titik awal otomatisasi dan susunan Driggsby
- Sebelumnya, alurnya dimulai sebagai pekerjaan cron harian non-interaktif yang menjalankan Codex CLI dan Chrome DevTools MCP untuk login ke rekening bank, kartu, serta akun sekuritas dan pensiun, mengambil saldo dan transaksi terbaru, lalu mengirim email ringkasan keuangan harian kepada pasangan
- Pada hari pertama sistem ini bekerja cukup baik, tetapi keesokan harinya langsung rusak lagi, dan pola itu terus berulang
- Masalah rendering browser, prompt 2FA yang tak terduga, kebingungan saat eksekusi yang membuat hanya sebagian akun terambil, format email yang berubah seenaknya, hingga bertambahnya akun yang hanya mengizinkan passkey semuanya menumpuk
- Untuk mengurangi ketidakstabilan ini, Driggsby dibuat, dan setelah dua bulan, 75k lines kode Rust serta kontrak Plaid, bentuknya mencapai kondisi sekarang
- Driggsby terhubung ke akun keuangan melalui Plaid, lalu mengekspos saldo, transaksi, informasi investasi, dan informasi pinjaman sebagai alat-alat terpisah melalui MCP
- Awalnya, Claude dibuka setiap kali dibutuhkan lalu diberi pertanyaan keuangan untuk dijawab dengan Driggsby, dan seiring waktu mulai terlihat pola pertanyaan berulang seperti mengecek kekayaan bersih, memeriksa saldo dan transaksi, serta memantau investasi
Apa yang diubah oleh Routines
- Claude Code routines, yang dirilis beberapa hari lalu, mempermudah memindahkan kueri berulang semacam ini ke mode autopilot
- Loop agen yang berjalan di cloud sendiri bukan hal baru, tetapi routines menonjol karena proses penyiapannya sangat sederhana
- Tidak perlu menulis kode loop agen terpisah atau menentukan tempat deployment-nya
- Tidak perlu menjalankan sendiri lingkungan eksekusi seperti OpenClaw, Codex SDK, atau
claude -p on Hetzner
- Cukup tulis prompt, lalu hubungkan data dan alat dengan rapi melalui MCP connector, maka otomatisasi bisa langsung dibangun
Otomatisasi email harian
-
Mengganti spreadsheet lama
- Masalah pertama yang dikerjakan kembali adalah email harian, dengan tujuan menerima email ringkasan yang rapi untuk melihat semua akun dan kekayaan bersih dalam sekali pandang
- Informasi ini sudah lama ada di spreadsheet lama di suatu tempat di Google Drive, dan pembaruannya sebenarnya hanya memakan waktu sekitar 15 menit, tetapi gesekan kecil itu saja sudah cukup membuatnya jarang diperbarui
- Frekuensi pembaruan nyata akhirnya mentok paling sering sekitar sekali tiap 6 bulan
-
Proses pengaturan routine
- Pengaturan selesai hanya dengan memasukkan prompt, menjadwalkan waktu eksekusi setiap pagi, menghubungkan Driggsby custom connector, lalu menyimpan
- Namun, pada awalnya proses ini langsung buntu karena tidak ada cara untuk mengirim email
-
Batasan Gmail connector dan alat pengganti
- Setelah menambahkan Gmail connector, email yang padat informasi dan enak dilihat memang berhasil dibuat, tetapi pada praktiknya email itu hanya dibuat sebagai draf, bukan dikirim ke inbox
- Karena Gmail connector tidak bisa mengirim email dan hanya dapat membuat draf, dibutuhkan cara lain
- Setelah melihat-lihat Claude connector store dan tidak menemukan cara kirim yang praktis, alat MCP sederhana bernama
email_me() ditambahkan ke Driggsby
-
Batasan email_me() dan stabilisasi format
email_me() membatasi tujuan pengiriman hanya ke alamat email terverifikasi milik pemilik akun, serta memblokir tautan dan gambar agar tetap berada pada tingkat keamanan yang bisa diterima
- Untuk mengurangi masalah format yang berubah-ubah pada setiap eksekusi, isi email diwajibkan berupa Markdown, dan CSS untuk email yang merender Markdown juga ditambahkan
-
Debugging dan hasil akhir
- Beberapa bug kecil bisa diperbaiki dengan cepat karena proses eksekusi routines mudah ditelusuri
- UI-nya hampir sama dengan sesi Claude Code biasa yang terlihat di Claude Desktop atau aplikasi web, sehingga routine yang sedang berjalan mudah diperiksa apa adanya
- Setelah beberapa kali pengujian, email pukul 7:47 pagi benar-benar sampai, dan masalah email harian pun terselesaikan
- Setelah itu, perubahan isi email bisa dilakukan cukup dengan mengedit prompt di UI routines tanpa perlu mengubah kode
-
Kustomisasi terpisah untuk masing-masing pasangan
- Pasangan juga mendapatkan email harian pribadi terpisah yang bisa diedit dengan prompt miliknya sendiri
- Karena masing-masing punya hal yang dianggap penting, kini informasi yang ingin diterima setiap hari bisa disesuaikan secara terpisah
Perluasan setelah email harian
-
Deteksi anomali transaksi kartu 7 hari terakhir
- Setelah email harian berjalan stabil, perhatian bergeser ke apa lagi yang bisa dilakukan, karena agen baru bisa terus dijalankan tanpa beban infrastruktur tambahan
- Karena data transaksi sudah ada di Driggsby, otomatisasi berikutnya berkembang menjadi deteksi anomali transaksi kartu kredit Amex
- Sebuah routine mingguan dibuat dan dikonfigurasi dengan prompt berikut
- Contoh prompt asli
- Mengambil transaksi kartu kredit Amex selama 1 tahun terakhir
- Memisahkan hanya transaksi 7 hari terakhir dan meninjau bagian itu secara terfokus
- Jika dalam 7 hari terakhir ada item tak terduga seperti tagihan ganda, perubahan biaya langganan, atau nama maupun deskripsi merchant yang aneh dibanding pola sebelumnya, kirim email
- Jika semua transaksi normal dan sesuai dengan pola historis, jangan kirim notifikasi
- Prompt sesederhana ini memang bisa menghasilkan false positive, tetapi mudah disempurnakan seiring waktu dan biaya untuk meninjau hasilnya juga rendah
-
Pemantauan arus keluar besar dari checking account
- Berikutnya, dibuat routine untuk memeriksa apakah ada arus keluar dana besar yang tidak terduga dari checking account
- Prompt disusun dengan kondisi berikut
- Contoh prompt asli
- Meninjau transaksi checking account, lalu membandingkan dengan data transaksi 12 bulan terakhir untuk memastikan apakah dalam satu hari terakhir ada arus keluar besar yang tidak sesuai pola historis
- Fokus pada transaksi di atas $500
- Karena otomatisasi ini berjalan setiap hari, pembatasan untuk hanya meninjau transaksi satu hari terakhir diterapkan dengan ketat
- Jika ada item yang memenuhi syarat, kirim email dengan judul "Checking account outflow alert"; jika tidak ada, jangan beri notifikasi
-
Cakupan perluasan tambahan
- Seiring waktu, alur ini meluas ke investasi, analisis langganan, dan pemantauan berbagai kategori pengeluaran
- Karena pengaturan dengan routines hampir terlalu mudah, ke depan kebutuhan untuk menggabungkan banyak kondisi sekaligus atau menyempurnakan prompt dengan lebih detail akan semakin besar
Mengapa ini penting
- Kekuatan terbesar routines ada pada otomatisasi yang bisa langsung dicoba hampir tanpa usaha
- Hambatan masuk menjadi sangat rendah, sampai pada tingkat di mana saat sebuah prompt terpikirkan, otomatisasi bisa langsung dijalankan
- Pasangan yang berprofesi sebagai CPA juga menjalankan otomatisasinya sendiri langsung di cloud berdasarkan data yang diambil real-time dari Driggsby
- Arah yang ditekankan adalah membuat lebih banyak alat yang memungkinkan tiap orang menghubungkan datanya sendiri dan membuat otomatisasi dengan mudah seperti ini
1 komentar
Komentar Hacker News
Baru-baru ini aku mencoba menyusun seperti ini sendiri. Sinkronkan transaksi rekening giro/kartu kredit ke Google Sheets dengan https://tiller.com/, lalu mirror spreadsheet itu ke DB Supabase gratis dengan GitHub Actions
Aku membuat Claude/Codex bisa mengakses riwayat transaksi dan saldo lewat kueri berbahasa Inggris menggunakan Supabase MCP atau psql, dan kemampuannya menemukan pola langganan atau pola aneh cukup mengesankan. Terutama perkiraan arus kas, yang biasanya tidak terlalu bagus di tool online, hasilnya lumayan, misalnya aku bisa bertanya berapa banyak yang aman dipindahkan ke tabungan berdasarkan pola pengeluaran bulanan dan kas yang tersedia
Untuk klasifikasi otomatis, Claude cukup bagus menangani DSL kustom. Aku menyuruhnya membuat rule set tabel markdown untuk normalisasi penerima pembayaran/kategori, dan rule itu juga dijalankan bersama di GitHub Actions
Apakah ditarik lewat sesuatu seperti Plaid, apakah masih harus menyerahkan kredensial web banking, dan bagaimana 2FA ditangani
Untuk institusi keuangan yang tidak punya API resmi, aku juga khawatir apakah masih bergantung pada screen scraping, dan kalau ada bug yang menyebabkan klik atau persetujuan yang tidak disengaja, bahkan transfer yang salah, apa yang terjadi. Memang katanya read-only, tapi di perbankan pribadi aku hampir tidak pernah melihat bank yang benar-benar mendukung akun pendamping read-only
Aku juga penasaran apakah ada asuransi atau jaminan supaya pengguna bisa mendapat ganti rugi jika terjadi kerugian finansial besar, dan khawatir juga dengan implikasi privasi karena seluruh data bank diperlihatkan ke dua perusahaan. Aku pernah dengar soal class action terkait data yang dijual atau dibagikan secara tidak semestinya, tapi tidak tahu sebenarnya apa yang terjadi
Ada juga klausul di syarat bank yang menyatakan kita setuju untuk tidak membagikan kata sandi ke pihak ketiga. Rasanya tidak nyaman menyerahkan keuangan pribadiku ke layanan web/cloud; aku lebih suka software klien yang berjalan lokal dan berkomunikasi dengan API bank. Penasaran apakah ada yang seperti itu di Kanada
Katanya open banking akan datang, tapi masih tidak jelas apakah software buatan pribadi bisa mengaksesnya secara langsung. Kalau memang benar-benar tepercaya, dan ada kebijakan yang mewajibkan minimnya penyimpanan internal setelah data diunduh, aku juga ingin memakai API bank
Aku sudah pakai Tiller sejak Mint diakuisisi Intuit, dan setup-ku mirip. Bedanya aku menghubungkan akses sheets dengan model qwen lokal dan API key buatan sendiri via OAuth, tapi pendekatan Claude Routine sepertinya jauh lebih mudah
Aku ingin melihat keseluruhan cara setup-nya, terutama prompt apa yang dipakai
Mungkin karena kekayaan bersih-ku kecil, tapi jujur aku kurang paham kenapa ini bernilai
Aku juga tidak ingin LLM mengirim email setiap hari, dan kalau aku perlu melihat posisi investasi lebih sering daripada per kuartal, rasanya aku justru harus pindah ke investasi yang lebih aman. Aku agak tertarik dengan tool budgeting, tapi aku ingin itu sepenuhnya deterministik
Perencanaan keuanganku umumnya cukup tenang, jadi menurutku lebih baik mencari pekerjaan bergaji lebih tinggi daripada menghabiskan lebih banyak waktu mengoptimalkan pengeluaran dari kondisi sekarang
Hal yang terkait angka menurutku memang seharusnya sepenuhnya deterministik
Aku pernah menunjukkan DB SQLite ke LLM dan memintanya menjelaskan apa yang terlihat dari transaksi lima tahun terakhir, dan hal-hal yang ditangkap atau diingatkannya cukup mengesankan. Tapi aku tidak yakin ada nilai praktis yang benar-benar membuatku mengubah sesuatu
Untuk sementara aku akan coba membuatnya meninjau tiap bulan, tapi bahkan hanya dengan memperbarui anggaran aku biasanya sudah tahu kondisi keuanganku, jadi belum jelas seberapa membantu itu
Aku memakainya untuk melacak kartu kredit dan rekening giro, dan kalau mau, kamu juga bisa menyambungkan MCP ke sana untuk menganalisis data terpusat itu
Aku tinggal di Kanada dan memakai https://lunchmoney.app/ untuk pelacakan dengan integrasi Plaid
Ada API-nya, jadi aku menyuruh LLM membuat CLI, dan hasilnya agen bisa mengambil hampir semua data yang dibutuhkan sesuka hati
Hal lain yang kusuruh lakukan adalah menumpuk rule penandaan, dan itu berjalan sekali sehari lewat cron. Kadang aku juga menyuruhnya meninjau rule-rule itu supaya membuat rule baru untuk transaksi yang belum terklasifikasi
Menurutku pola membuat LLM mengabadikan pekerjaan ke dalam rule engine atau kode itu cukup bagus. Setelah ada CLI yang bisa dikueri, kita bisa menyuruh agen melakukan hampir apa saja
Untuk yang tertarik, aku akan membagikan gambaran besar setup infrastruktur/keamanan kami
Backend dan CLI kami ditulis dalam Rust dengan linting ketat, webapp berjalan di atas Axum, dan terhubung ke Postgres lewat sqlx
Fitur finansial bersifat read-only. Tidak ada tool transfer, pembayaran tagihan, atau pengiriman uang, dan uang juga tidak bisa dipindahkan dari permukaan AI
Dari Plaid kami hanya meminta transaksi, investasi, dan utang; kami tidak meminta auth/transfer/payment initiation, jadi kami tidak menerima nomor rekening atau routing penuh, hanya mask empat digit terakhir dasar
Nama pengguna dan kata sandi bank masuk ke Plaid Link tanpa melewati kami, dan kami hanya menyimpan access token per institusi
Plaid access token disimpan di DB terpisah di balik satu layanan custody Cloud Run. Saat disimpan, token dienkripsi dengan Cloud KMS, broker memanggil endpoint KMS encrypt/decrypt, dan material root key tidak pernah keluar dari batas Google HSM. Hanya service account broker yang punya hak enkripsi/dekripsi, dan webapp tidak punya izin membaca DB itu
Untuk setiap panggilan enkripsi/dekripsi, kami mengirim Plaid item ID sebagai AAD agar ciphertext untuk satu item tidak bisa ditukar lalu didekripsi sebagai token item lain
Setiap layanan Cloud Run berjalan dengan cloud identity dan DB role masing-masing, dan pemanggilan internal antar layanan juga diautentikasi dengan identity token berumur pendek
DB operasional tidak punya public IP, dan secret tidak disimpan di source atau image container, melainkan di managed secret storage
AI connector menggunakan OAuth 2.1 + PKCE dan memiliki scope per pengguna, serta bisa dicabut lewat UI. Setiap tool call dicatat bersama nama tool, argumen yang sudah dibersihkan, klien pemanggil, dan alasan yang diajukan agen, sehingga pengguna bisa melihat apa yang diminta LLM atas nama mereka
Permukaan AI tidak memiliki tool fetch-URL, shell, atau I/O serbaguna; hanya mengembalikan data finansial terstruktur. Networking, IAM, dan grant DB semuanya dikelola lewat Terraform, dan perubahan infrastruktur juga hanya dilakukan lewat jalur itu
Akses infrastruktur dikendalikan dengan 2FA dan security key
Rasanya seperti kamu memahami audiens situs ini, dan fakta bahwa keamanan dirancang dengan teliti di setiap lapisan membuatku lebih percaya pada keseluruhan tool ini
Aku juga sempat mencoba membangun sesuatu yang mirip sendiri; MVP awalnya hanya mengunduh PDF laporan secara manual lalu memakai Claude untuk menyiapkan ledger untuk akuntansi plain text, dengan rencana menambahkan Plaid nanti
Aku khususnya penasaran bagaimana orang-orang menggunakan Plaid. Untuk mulai, apakah perlu jumlah pengguna tertentu, atau apakah aku bisa membuat akun Plaid untuk penggunaan pribadi hanya agar rekening pribadi dan bisnis milikku terhubung ke API yang rapi
Hati-hati saat memakai Routine
Ada catatan kecil yang nyaris tidak terlihat, bahwa dalam mode routine, tool MCP selalu diizinkan termasuk izin tulis. Jadi secara teknis agen bisa saja mengubah resource sesukanya
Ini kelihatan seperti solusi yang mencari masalah. https://tiller.com/ saja sudah bekerja dengan sangat baik, dan kamu bisa melakukan semua perhitungan yang diinginkan di spreadsheet, plus tidak ada halusinasi
Aku juga tidak terlalu paham kenapa orang ingin ringkasan LLM yang panjang lebar untuk dibaca. Kalau kamu sesekali mengklasifikasikan pengeluaran sendiri, anomali biasanya langsung terlihat, dan dengan Tiller itu juga mudah dilakukan
Akan ada banyak sekali produk berbeda di area ini, dan produk kami hanyalah salah satu pendekatan di antaranya. Aku senang melihat lebih banyak percobaan seperti ini
Yang lebih besar adalah bahwa LLM bisa dengan mudah menyerap dan menggabungkan berbagai sumber data
Era Finance kami sedang membangun solusi yang tepat untuk ini. Era Context adalah MCP yang menghubungkan agen apa pun yang kompatibel ke keuangan pribadi, dan bisa dilihat di https://era.app
Saat ini kami fokus pada tool baca, tapi tool tulis seperti transfer uang atau pelunasan utang juga sedang disiapkan
Kalau ada fitur yang diinginkan, aku ingin mengajak kalian mengirim email ke alex di domain itu. Sebagai konteks, aku Alex sang CEO, hampir baru di HN, sebelumnya memimpin web presence stripe.com, dan sebelumnya lagi ada di Square/CashApp
Mungkin pertarungannya memang sudah kalah, tapi aku tetap tidak mengerti kenapa orang ingin menyerahkan seluruh riwayat transaksi keuangan ke LLM
Rasanya penyedia LLM juga tidak punya perlindungan yang lebih kuat atas penggunaan data seperti ini dibanding industri keuangan. Industri keuangan sendiri saja sudah kejam dalam hal mengumpulkan, menambang, dan menjual data kita
Sebagai orang yang tertarik pada pola pengeluaran atau investasi, bahkan dengan prompt yang sangat dasar pun aku pernah menemukan hal-hal yang sebelumnya terlewat
Tentu saja membuat ini aman sangat sulit, dan karena itu aku sudah memikirkan bagian itu sangat lama
Jadi aku kurang paham apa sebenarnya masalahnya
Bank utamaku, Monzo di Inggris, menyediakan API lengkap dan trigger webhook untuk event
Karena itu aku bisa membuat bot WhatsApp yang menanyakan alasan jika ada transaksi tidak biasa, dan LLM hanya kupakai untuk penalarannya. Aku juga menyiapkan otomatisasi yang setiap hari menjelang tengah malam menyapu saldo ke rekening tabungan untuk memaksimalkan bunga harian
Aku mempertahankan saldo kecil saja di rekening harian, lalu jika siang hari ada pengeluaran, dana diisi kembali dari tabungan agar saldo rendah itu tetap terjaga. Kalau butuh pengeluaran lebih besar, baru kupindahkan secara manual
Saat mencoba menganalisis transaksi lama dengan Claude, aku terus mengalami halusinasi seperti membuat tagihan yang tidak ada, menambahkan item baru, dan menghitung ganda
Untuk urusan keuangan, Claude tidak cukup kalau hanya benar 95%. Aku harus selalu waspada dan meninjau hasilnya, jadi dalam kasusku nilainya praktis hilang
Aku juga merasa Claude cukup sering berhalusinasi, terutama pada dataset yang tidak lengkap atau terbatas