Agentas WebOps: from first lead to paid invoice in one panel
The internal panel that runs Agentas Web, our website business. It finds businesses whose website needs work, handles outreach and replies, follows each deal through contract and invoice, and watches billing and uptime for every live site. Built and operated by Agentas.
- Status
- In production since July 2026
- Type
- Internal panel, one process on our own server
- Stack
- Node.js, Express, built-in SQLite
- Source
- Private — walkthrough on request
What it does
Prospects from the public registry
Businesses are pulled from the Brønnøysund Register Centre by trade and municipality, and each one's website is found, checked and scored. About 21,000 business websites have been scored so far. The automatic score can only flag a weak site; calling a site good takes a human review.
Outreach with a hard daily cap
Outreach goes out at a steady pace, a few emails a day. The daily cap doubles as the off switch, each address is checked right before sending, and every outreach email carries an unsubscribe option.
Replies in one place
The mailbox syncs into the panel and each reply is matched to the right lead. Conversations are split into your turn and waiting on them, so it is always clear who needs to answer next.
Deals that move themselves
Eight stages from first interest to a live site, each with its own sub-steps. Many of them tick themselves as the work happens: brief received, contract sent, contract accepted by email, invoice drafted and sent, and paid.
Invoices with a human gate
Invoices are created as drafts in the accounting system and sent only after approval in the panel. The payment status is read back to mark the deal as paid, and credit notes are blocked in code.
Billing, uptime and a report per site
Sites with an overdue invoice are suspended in the registry and added to an nginx maintenance map, then reactivated when paid. Every live site is checked every five minutes, and each customer gets a private report page with uptime and visitors, with bot traffic filtered out.
Relevant if you're looking for…
WebOps is an internal tool, and we build the same kind of panel for service businesses with their own chain from first contact to paid invoice.
- A CRM for a small business, built around your own process: WebOps follows each deal through eight stages from first interest to a live site, and many sub-steps tick themselves off as the work happens.
- B2B lead generation from the public business registry: companies are pulled from the Brønnøysund Register Centre by trade and municipality, and outreach goes out at a steady pace under a hard daily cap, with an unsubscribe option in every email.
- Automated invoicing with a human gate: invoices are created as drafts in the accounting system, sent only after approval in the panel, and the payment status is read back to the deal.
- Agency management software for client websites: every live site is checked every five minutes, sites with an overdue invoice are paused, and each customer gets a private report page with uptime and visitors.
We build this for clients: Custom software and internal tools · AI automation of manual work
How it works
- 01
Find
Registry discovery, then a website check and score.
- 02
Reach out
A steady drip under a daily cap, with replies matched back.
- 03
Deliver
Brief, contract, build, then an approved and paid invoice.
- 04
Run
Billing watch, uptime checks and a report per site.
How it's built
WebOps is one Node.js process: Express, Node's built-in SQLite, four runtime dependencies and no native builds. Pages are rendered on the server, and every change to a lead, deal or client is written to an append-only activity log, which is what each customer's timeline is built from.
The rule throughout: the panel prepares, and a person approves anything that cannot be undone. Invoices wait as drafts, credit notes are blocked, and outreach runs under a daily cap. The AI steps that read unknown web pages return structured data only and hold no app secrets, so the worst they can do is produce bad data, which is checked before it is used.
Engineering highlights
- The panel itself is reachable only on our private network
- Push-to-deploy through GitHub Actions over a private network
- Nightly database snapshots with a written restore procedure
- Scrypt-hashed passwords and signed session cookies
- Untrusted text escaped for its context: page text, links and inline scripts
- SPF, DKIM and DMARC verified on both mail domains
Questions
What is a CRM system, and when is it worth building your own?
A CRM keeps track of customers, contacts and deals. One of your own makes sense when the process runs across several tools; WebOps brings leads, replies, deals, invoices and site operations into one panel.
Can invoicing be automated without wrong invoices going out?
Yes, with a person approving where a mistake is expensive. In WebOps invoices wait as drafts until approved, the payment status is read back automatically, and credit notes are blocked in code.
Can you build a custom CRM for our business?
Yes. We build the panel that does the repetitive steps in your chain, stops for a person where a mistake is expensive, and keeps a record of everything that happened. The WebOps source is private, but we are happy to give a walkthrough.
Want something like this?
Every service business has a chain like this, from first contact to paid invoice. We build the panel that does the repetitive steps, stops for a person where a mistake is expensive, and keeps a record of everything that happened.
Get in touch