agents
This repository holds my agentic tasks and workflows — automation stacks built with tools like n8n, OpenHands, and OpenClaw.
Projects
n8n-Bale-file-fetch
An n8n workflow that acts as a file-retrieval agent for Bale (a Telegram-like Iranian messaging app). Type a natural-language request — e.g. "grab the devops PDFs from this channel" — and the workflow parses the intent with an LLM, fetches matching files from a Bale channel via its bot API, and saves them to disk.
Built as a take-home task for a job interview, focused on demonstrating how to scope an LLM's role narrowly (intent parsing only) while keeping the rest of the pipeline — fetching, filtering, downloading — as plain, deterministic logic.
See inside the folder for:
- SETUP.md — how to stand it up (Bale bot/channel creation, n8n import, credentials, known gotchas)
- HOW_IT_WORKS.md — architecture and data flow, step by step
- NODE_DESCRIPTIONS.md — talking points for walking through the workflow live
n8n-bale-publicchat-file-fetch
An n8n workflow that extends the file-retrieval concept to public Bale bots you don't control. The standard Bale Bot API only works within chats the bot owns — this project bypasses that limitation using client authentication (phone-number login via the unofficial aiobale library), allowing access to any public bot's chat history.
How it works: a natural-language request is parsed by an LLM to extract a keyword, which is then used to search the public bot's entire message history for matching files. Unlike the bot-API approach, this doesn't need to be admin of the target chat — it acts as a regular user session.
Built as a proof-of-concept demonstrating that client auth can access chats where bot auth cannot, while being honest about the trade-offs (real user session vs. sanctioned bot integration).
See inside the folder for:
- BALE-METRO-FILE-AGENT-DOCS.md — full technical documentation covering architecture, the two route approaches, infrastructure quirks, and reproduction steps
- script/fetch_metro_smart.py — the Python script that does the actual Bale client-auth + history search
- json/ — the n8n workflow export
.freebuff
(add a short description here once you're ready — leaving as a placeholder for now)
Notes
Workflow exports and configs in this repo have credentials and IDs replaced with placeholders (e.g. YOUR_BOT_ID) before committing. Anyone running a workflow locally needs to drop their own values back in.