Field Value Name drive-expense-processorCategory automation Complexity moderate Tags google-drive, llm-extraction, expense-management, google-sheets, postgres-state, s3-storage Author randybias Min Version 0.1.0
Watch a Google Drive folder for receipt uploads, extract expense data with AI, and log structured records to Postgres and Google Sheets. Polls Drive on a schedule, stores originals in S3, uses Claude to extract fields from receipts, validates the extracted data, and writes results to both a database and a spreadsheet.
poll-drive → store-originals → extract-fields → validate-record → store-and-notify
Node Purpose poll-drivePoll Google Drive folder for new receipt uploads store-originalsStore original receipt files in S3 extract-fieldsAI-powered extraction of expense fields from receipts validate-recordValidate extracted data against allowed categories store-and-notifyWrite to Postgres and Google Sheets, notify via Slack
manual
cron — every 15 minutes (*/15 * * * *)
Service Type Required Google Drive API External Yes Google Sheets API External Yes Anthropic API External Yes Slack webhook External Yes tentacular-postgres Exoskeleton Yes tentacular-rustfs Exoskeleton Yes
Key Default Description timeout120sPer-node timeout retries1Retry count per node drive_folder_idYOUR_FOLDER_IDGoogle Drive folder to watch sheets_idYOUR_SHEETS_IDGoogle Sheets spreadsheet ID for logging allowed_categoriesTravel, Meals, Software, Office, Equipment, Other Valid expense categories
google.access_token — Google API access token for Drive and Sheets
anthropic.api_key — Claude API key for field extraction
slack.webhook_url — Slack webhook for notifications
tntc scaffold init drive-expense-processor
tntc scaffold init drive-expense-processor my-custom-name
tntc scaffold info drive-expense-processor
Scaffold source: quickstarts/drive-expense-processor/