Record transactions & generate budget reports with Gemini AI, Telegram & Firefly III
$20/month : Unlimited workflows
2500 executions/month
THE #1 IN WEB SCRAPING
Scrape any website without limits
HOSTINGER 🎉 Early Black Friday Deal
DISCOUNT 20% Try free
DISCOUNT 20%
Self-hosted n8n
Unlimited workflows - from $4.99/mo
#1 hub for scraping, AI & automation
6000+ actors - $5 credits/mo
Who this is for
Anybody using Firefly III, especially home/self-hosted users, who want to add some level of automation to their transaction tracking, either in addition to or because they can't or don't want to use the dataimporter
How it works - posting transactions
- User sends a transaction screenshot/image or statement to a Telegram bot
- Gemini analyzes it based on the user's requirements (asset account IDs & categories)
- The transaction information is parsed to create a suitable POST to a Firefly instance
- The transaction(s) are posted to Firefly via its API, using an OAuth2 credential
How it works - requesting budget reports
- User sends the word 'Report' via telegram
- A 'GET' API request is sent to Firefly for all budgets between the beginning of the month and the request date, including remaining amounts for each
- This is converted to a CSV file
- The CSV is sent to the user via Telegram
Prerequisites
- Telegram, and knowledge of how to set up a bot (search for
BotFatherin Telegram) - An existing instance of Firefly III with admin access for creating OAuth2 credentials
How to set it up - Credentials
- Open Telegram, and search for
BotFather - Create a new bot by following the instructions
- Save the API key provided
- In n8n, create a new
Telegramcredential using the info for the new bot - Create an OAuth client in Firefly, using the redirect URL found in n8n's
OAuth2 APIcredential creator - Fill the n8n
OAuth2 APIcredential form asAuthorization Code, filling in the remaining parameters from the info created in Firefly - Create a Gemini credential following the instructions in n8n
How to set it up - the workflow
- Set the credential in each Telegram node
- Set the Firefly credential in each http node
- Set the correct base URL for the Firefly instance in each http node
- Set the desired Gemini credential and model in each AI node
- Set the correct Bank IDs (as per Firefly) and preferred categories in the AI node system message
Customization options
The user can specify all types of asset and expense accounts, as well as a specific list of categories and descriptions for Gemini to use. Gemini can also be swapped out for any other AI/LLM.
Additionally, anyone can build on this by reviewing the Firefly API documents to automate almost any other part of the Firefly software.