Owner CRM with instant lead alerts and AI request triage — in one secure container
Agency Desk runs our own sales: a multilingual website form feeds a protected inbox, the owner gets a Telegram alert within seconds, and every request receives a structured AI assessment before the first reply — without per-request API fees.
Why small service teams lose requests
Most leads are not lost to competitors — they are lost between channels, notes and a slow first reply.
Requests scattered across channels
Website forms, email and messengers each hold part of the conversation; nobody sees the full list.
Slow first reply
A request that waits until the evening review often goes to whoever answered first.
Heavy CRMs for a small team
Enterprise CRMs cost per seat and take weeks to configure, so the team falls back to spreadsheets.
Overwritten records
Two open tabs or a careless import silently replace notes, prices and next steps.
From website request to a qualified next step
The public form and the owner's CRM are separated: spam cannot slow down or lock the working data.
Multilingual form
Consent, honeypot, per-client rate limit and a daily cap; the page language and UTM source are stored with the request.
Telegram notification
The owner gets the request summary in Telegram right after it is stored; delivery status is tracked.
Inbox import
Opening the desk moves new requests into the CRM exactly once, with stage, next action and source.
Structured assessment
A prepared package goes to the owner's AI subscription; the answer must be valid JSON: fit (yes/check/no), questions, draft reply.
Deal and payment tracking
Price, next contact date and confirmed payments with a transaction reference; duplicate receipts are rejected.
Engineering you can check
- Runs in production behind TLS in a non-root, read-only container with memory, CPU and process limits.
- Revision guard: a save based on stale data gets a conflict instead of silently overwriting; a database snapshot is taken before every save and the last 40 are kept.
- Sessions use PBKDF2 with 600,000 iterations, HttpOnly/Secure/SameSite=Strict cookies, CSRF and Origin checks and a login rate limit.
- Public requests live in a separate inbox table: spam cannot bloat or lock the CRM, and slow clients are disconnected after 15 seconds.
- Diagnostics store only error class and code location — never client text, contacts, tokens or headers.
- 13 automated tests cover authentication, CSRF, revision conflicts, inbox import, rate limits, alerts and timeouts.
Single-owner design: built for a founder or a small team lead, not as a multi-user enterprise CRM.
What changes for the owner
No request goes unseen
Every form submission is stored first and announced in Telegram, even if the owner is away from the desk.
Faster, better first reply
The AI assessment lists what is missing and drafts the answer, so the reply is precise instead of generic.
Money in one place
Monthly costs, the next revenue goal and confirmed payments are tracked next to the deals.
No per-seat licence
A small self-hosted service with exports and snapshots — you keep the data and the domain.
How we adapt it for a client
Branded desk per business
Your domain, stages, services and languages; one isolated container per client.
More intake channels
Telegram, WhatsApp or email requests through the same intake core with deduplication by phone and email.
Your existing CRM
Instead of the desk, requests can flow into HubSpot, Pipedrive, Bitrix24 or amoCRM through an adapter.
Automated AI step
Optional API mode with a cost cap, strict JSON validation and human approval before anything is sent.
Stop losing requests between channels
Tell us where your requests arrive today. We will propose the smallest working intake with alerts, and agree acceptance tests before any work starts.