Task and my work.
I needed one entry point for my routine: job search, notes, coding tasks and utility bots. Five separate services for that is inconvenient, so it all lives in one Telegram bot on a server.
The pattern is the same one a business needs for requests or leads: collect, filter by rules, score with a model, draft, and hand it to a person to decide.
- Job-search agent: 8 stages, 6 sources, runs every night. Collection, hard rules, LLM scoring with a threshold of 80 out of 100, company and public-contact research, resume and letter drafts, a Telegram digest with buttons.
- Emails go out through Gmail only after the recipient, subject and body are confirmed. Edits and rejection reasons are stored.
- Knowledge-base agent: sorts incoming notes in Obsidian following the base's own rules.
- Code delegation: development and research tasks go to Codex through MCP.
- Morning brief: a summary of the inbox, the knowledge base and server health.
- Creating and managing Telegram bots through n8n and MTProto; images are read by a separate vision model.
Key decisions.
Why I used the ready Hermes engine.
Hermes by NousResearch is a ready open-source agent engine: the Telegram gateway, schedules, MCP, skills and memory are already there. Writing that from scratch means weeks of infrastructure instead of the actual tasks. My work is the agents, stages, checks and integrations on top of it.
The model response is validated before the next stage.
Required fields, the score range and allowed decisions are checked against a schema. Malformed JSON is requested again once. A partial stage failure is marked separately from success, and an empty run sends a short status.
No fallback models.
If the main model is unavailable, the system fails with a visible error. Silently swapping the model changes the quality of the scores without anyone noticing.
How it works.
- Collect and filter
The agent pulls records from sources, removes duplicates and drops anything that fails the hard rules.
- Score and prepare
The LLM gives a score with reasons and risks; the agent gathers context and prepares a draft.
- Human decision
In Telegram: approve, edit or reject. Nothing is sent without confirmation.
Implementation and example.
System diagram: entry through Telegram, agents by task and a human decision at the end.
DIAGRAM OF THE IMPLEMENTED SYSTEM
- Telegram + Hermes
One entry point, schedules, skills and tools connected through MCP.
- Agents
Job search, knowledge base, Codex for code, bots through n8n, vision.
- Human decision
Approve / edit / reject buttons; external actions only after confirmation.
Architecture diagram of the project. Live data and connections are not shown.
Project result.
Job search runs every night and sends a digest with scores, risks and ready drafts. The other agents are called from the same chat. Nothing leaves the system without confirmation.
Technologies and implementation details
Hermes (NousResearch), Python, MCP, Codex, PostgreSQL, Pydantic, n8n, Gmail API and Telegram. The engine is ready-made; the agents, stages, checks and integrations are mine.
Let's discuss your task.
Describe the agent's job, the tools and data it can use, and which actions need an employee's approval. We will set the boundaries of the agent and how its output is checked.
Discuss an AI agent ↗︎