Hiring n8n Developer AI Quoting Agent, Swiss Plumbing/HVAC (Paid, Long-term)

Hi,

I build production n8n workflows, AI integrations, telephony and automation systems.

Your requirement of exact catalog matching instead of LLM guessing is exactly how I would approach this problem.

I would implement a deterministic catalog lookup layer before quote generation, ensuring that only verified references and prices are used.

I’m open to building a small paid proof of concept and discussing the architecture before investing in a full prototype.

Regards,
Timur

Hi , I saw your AI automation/agent requirement. I build [n8n/Make/AI agents] with [OpenAI/Claude/Gemini], APIs and CRM integrations. I can start with a small paid milestone and deliver within time.. Are you availble for a short call

Built a working prototype against your exact spec before replying —
because “no prototype = no conversation” is the right filter.

End-to-end run today (screenshots + sample PDF attached):

  • Free-text French intervention request in: chauffe-eau 100L Atlantic
    replacement, 2 Hansgrohe Talis mixers, Optipress ball valve, water
    softener.
  • Claude extracts the positions: type, product to search, quantity,
    conservative hours estimate (marked “à valider par le technicien”).
  • STRICT catalog matching against a demo catalog built from REAL
    references of your three suppliers: Sanitas Troesch (13-digit
    “NNNN NNN.NNN.NNN” refs, public prices from their product pages),
    Gétaz-Miauton (“NNN NNN” codes + manufacturer refs, prices from
    their 2026 service price list PDF), Nussbaum (“NNNNN.NN” Optipress
    codes — prices are B2B-only, so the demo marks them “prix indicatif”
    instead of inventing them).
  • Anything below the match threshold is NOT priced — it lands in a
    flagged “PRODUITS NON TROUVÉS — À VÉRIFIER” section. In my run the
    adoucisseur had no catalog match → flagged, not invented.
  • Output: structured PDF devis — 15% margin on materials, 95 CHF/h
    labour, 45 CHF déplacement, TVA 8.1%.

About n8n: the prototype proves the core logic (extraction, strict
matching, pricing math) as a standalone script so you can see it
without infrastructure. In production it wraps into n8n: Webhook
(request in) → Claude node (extraction) → Code node (strict matcher)
→ PDF generation → Email/CRM node.

For production pricing I’d propose pulling live catalogs via the
industry channel your suppliers already publish to: Sanitas Troesch
and Nussbaum are IGH members (DataExpert® / DATANORM feeds), so the
agent quotes from your real net prices, not scraped data.

Background: 20+ years in ERP and cost estimation — I run a
building-services contracting company myself, so quoting against
supplier catalogs without inventing prices is literally my day job.

Fastest way to verify: send me ONE of your real intervention requests —
I’ll return a finished PDF devis within the hour. I work async and
document everything in writing (English or French — both fine), which
for a long-term build means you always have specs and decisions on
record. Also reached out on WhatsApp.

Bonjour Ali,

Je viens de voir ton annonce pour la création de l’agent de chiffrage HVAC/Plomberie. Étant parfaitement francophone et spécialisé dans la création d’automatisations complexes sur n8n, ce projet correspond exactement à ce que je construis au quotidien.

J’ai l’habitude de concevoir des workflows qui intègrent des agents IA capables de traiter de la donnée métier brute et de générer des documents PDF formatés. Le fait de devoir croiser des références exactes (catalogue Meier Tobler, Sanitas, etc.) sans aucune hallucination est un défi que je gère en ajustant strictement les paramètres des LLM et en structurant les données en amont.

Serait-il possible de s’organiser un appel rapide de 10 minutes pour discuter du périmètre de ton prototype et de la logique de calcul de tes marges ?

AD-1 — your exact-match/no-invented-price constraint is the part worth proving, so I built a small RomeoApps-owned test surface rather than sending a generic n8n portfolio:

It takes short French input, prices only matched synthetic catalog rows, leaves unknown lines unpriced, and applies the 15% margin / 95 CHF labour / 45 CHF travel / 8.1% VAT math only after the match. The rows and prices are fictional; the point is the fail-closed behavior and visible price provenance.

If that control path matches what you need, send the catalog format plus 5–10 anonymized requests and required quote fields. I’ll reply in writing with the smallest paid pilot, acceptance checks and open risks.

The non-negotiable in your post is the whole project, so let me answer that first.

Exact catalog matching is not something you ask a language model to respect. It breaks the moment a reference is close but not identical. The way I would build it, the model never chooses a reference: it only reads the French request and extracts intent, quantities and attributes. The lookup against Getaz Miauton, Sanitas Troesch and Nussbaum is a deterministic search over your own catalog data, keyed on the supplier reference. No exact hit means the line comes back flagged as missing, with the closest candidates shown for a human to confirm. The model writes sentences, never prices.

I learned this the expensive way. An agent I run in production once offered a discount that did not exist, because the price list lived in the prompt. Now prices live in a database and a validation node builds every figure before the model ever sees it.

The 15% margin, the 95 CHF/h labour, the 45 CHF travel and the 8.1% VAT belong in that same place, configuration rather than prompt, so you can change a rate without anyone touching a workflow.

On the prototype: tell me which of the three suppliers to start with, and send me a sample of that catalog (even 30 lines) plus two or three real requests in French. I will send back something you can run yourself, a French request in and a PDF quote out, with exact references matched and missing items flagged instead of invented. That is the part worth testing, and everything else depends on it.

Where I am honest with you: I work in English, Portuguese and Spanish, not French. The model handles French input fine, but I cannot judge whether the technical wording of a quote reads right to a Swiss plumber, so someone on your side should sign off on that. And I have never worked with these three catalogs before.

Background: 31 n8n workflows in production, self-hosted, Postgres for state, plus a watchdog workflow that checks the others every 15 minutes and alerts before the client notices anything.

Hi AD-1, the exact-catalog requirement is the important part here. I would keep the LLM limited to parsing the French request into structured line items. Supplier catalog lookup, price retrieval, margin, labor, travel, and VAT would remain deterministic. Any unmatched item would be flagged for review and excluded from the quote rather than guessed.

I would start with a small paid prototype using a sanitized catalog slice and five to ten sample requests, including PDF output and an explicit unmatched-item case. I do not speak French and I would not claim an existing production prototype, so I want to be clear about that.

If written English collaboration and a small paid prototype are acceptable, I can send a first-phase scope.

I built a working prototype for the exact-match and refusal path and sent it to you on WhatsApp.

French request in, controlled supplier validation, ambiguous or unpriced products held for review, deterministic quote calculations, PDF output, and an importable n8n workflow.

The prototype and tests are available here: GitHub - vjurcutiu/ai-hvac-quote-agent: Fail-closed AI quoting prototype with supplier validation, n8n orchestration, deterministic pricing and PDF generation. · GitHub

Hi AD-1 — I’m Jingxiong Xiao, leading Davi Studio, a China-based AI-native delivery team. Your exact-match constraint is the right design: parse the French request, match only against catalog references, flag missing items, then calculate margin/labor/travel/VAT and generate the PDF.

We can build a small paid proof against one catalog slice and 5–10 anonymized requests for US$200–300, with tests and handoff notes. For transparency, our public examples are self-initiated products, not paid client work, and we do not claim existing French-speaking client delivery. Is an English-language async team from China acceptable? If yes, which supplier source will you provide first (CSV, PDF, or API)?

Portfolio: https://studio.aibro.vip/

Hi, I’m interested in this opportunity.
I work with n8n and have built workflows involving lead processing, Gmail, Google Sheets, Calendar and routing logic.

Are you still looking for someone? If so, I’d be happy to hear what the first workflow you need built is.

The exact-catalog constraint is the right one. I’d make the prototype pass a small acceptance pack before discussing the full build: 20 French intervention requests, expected supplier SKU/reference, expected missing-item flag, and quote totals with margin/labor/travel/VAT shown separately. Unknown or ambiguous products should route to human approval rather than the LLM choosing a “close” item.

I build bounded agent workflows with approval gates and evidence receipts. I can deliver that first testable slice for CHF 750 fixed: one supplier catalog, one quote template, the acceptance pack, and a short failure report. If it passes, we scope the remaining catalogs and production hardening separately. If that matches how you want to select, send one sample catalog export plus 3 representative requests and I’ll confirm scope before any payment.

Hi — I built a bounded n8n 2.33.7 prototype specifically for a Swiss plumbing/HVAC quoting brief: deterministic catalog matching, integer-cent arithmetic, explicit NEEDS_REVIEW when a reference is unknown, and no price taken from untrusted extraction. The workflow, evidence summary, and checksums are public here: n8n Exact-Match Quote Prototype | AUTOMATION NOTE

I would start with one paid acceptance slice against your real redacted cases: pin the input contract, exact-match rules, tax and travel rules, and human approval boundary before adding OCR or an LLM. That keeps fabricated totals out of the quote path.

If this is still open, can you share 3–5 anonymized accepted/rejected examples and the current catalog format?

Bonjour AD-1,

Your non-negotiable is the whole job, and it’s worth being precise about why: the failure mode you’re guarding against isn’t bad matching, it’s confident matching. A model asked to find a supplier reference will always prefer to produce a plausible one over producing nothing. So the architecture has to make hallucinated prices structurally impossible rather than merely unlikely.

How I’d build it:

  • Parse (LLM): free-text French request → normalised line items (product, quantity, unit). The model’s authority ends here. It never sees a price and has no code path to write one into the quote.
    • Match (deterministic, no LLM): each line looked up against indexed Getaz Miauton / Sanitas Troesch / Nussbaum reference fields. Above threshold on an exact reference → catalog price. Anything else → flagged to an exception queue with no reference and no price. Not a guess, not a “closest match” — an explicit gap for a human.
      • Calculate + render: plain arithmetic nodes only — 15% material margin, 95 CHF/h labour, 45 CHF travel, 8.1% VAT — then the structured PDF.
    • The reason I split it that way is that the generating step must never be the verifying step. That’s the same principle behind the agentic research engine I built as sole AI lead on a GRC platform: query planner, hybrid retrieval, cross-encoder reranking, and cited synthesis, where an answer that couldn’t be grounded in a real source was returned as “not found” rather than composed. Refusing to answer is the hard part to engineer, and it’s the part you’re actually hiring for.
  • Relevant production background: I built and maintain a 182-node n8n workflow for a translations company handling inbound email across 9 mailboxes with 8 reasoning paths and 7 chained LLM calls, and 6 n8n workflows behind a Retell voice + WhatsApp agent for a UK ISP that has handled 6,700+ real customer conversations and 2,400+ tickets across 7 departments. Field-service quoting is familiar territory — I’ve worked extensively with Jobber and GoHighLevel on exactly this shape of intervention/quote/dispatch flow.

I understand prototype-first, and I think it’s the right filter. One question decides how clean the matching layer can be, so I’d rather ask than assume: what format are the supplier catalogs in — CSV/Excel export, PDF, or an API? That single answer changes the indexing approach substantially. If you can share a small extract from one supplier plus 5–10 representative French requests (anonymised is fine), I’ll build the matching and refusal slice against your real references so you can test both paths yourself — including, deliberately, the missing-product case, since that’s the behaviour worth verifying before the happy path.

One thing I’ll be straight about rather than let you find out later: the retrieval and matching layer is language-agnostic and I can build and prove it against your French catalogs, but if the role needs someone who can read nuance in the French intervention text and judge it themselves, that’s worth us discussing openly up front.

Muhammad Haris

hariswassan001@gmail.com · linkedin.com/in/muhammad-haris-wassan

(Happy to move to WhatsApp — replying here as your profile isn’t open for DMs.)

Bonjour AD-1,

Sur ce projet, le point dur n’est pas n8n, c’est votre non-négociable.

Un modèle de langage ne doit jamais produire une référence catalogue. Il ne doit produire que l’intention : type de produit, diamètre, matière, quantité. La correspondance se fait ensuite en dur contre le catalogue fournisseur indexé, et tout ce qui n’atteint pas le seuil ressort en « à valider » avec les trois candidats les plus proches, jamais avec un prix. C’est l’architecture qui empêche l’hallucination, pas le prompt.

Je viens de l’exploitation, pas du web : quinze ans d’achats et de conduite d’opérations industrielles et commerciales avant de me spécialiser dans l’automatisation. Une référence fournisseur fausse dans un devis, ce n’est pas une coquille, c’est la mauvaise pièce livrée, le chantier arrêté et la marge perdue. C’est pour ça que je construis ce type d’agent pour qu’il refuse plutôt qu’il devine.

Ce que j’ai en production aujourd’hui : un système d’exploitation pour une entreprise de BTP, sur Airtable et n8n, qui relie devis, interventions de chantier, facturation et suivi de trésorerie. Le devis y est déjà calculé avec matières, marge, main d’œuvre et déplacement.

Je peux vous faire le prototype que vous demandez. Dites-moi simplement sur quel extrait de catalogue vous voulez que je le teste — un PDF ou un export d’une centaine de références suffit — et vous le testez vous-même.

Jamal

Here is a proposal tailored specifically to the job post on the screen (n8n Developer AI Quoting Agent, Swiss Plumbing/HVAC):

Subject: Application: n8n Developer - AI Quoting Agent (Swiss Plumbing/HVAC)

Hi,

I saw your post regarding the AI Quoting Agent for Swiss plumbing and HVAC interventions. I fully understand your core requirement: zero hallucination, strict catalog reference matching, and structured cost calculations.

Here is how my approach aligns with your stack and constraints:

Strict Catalog Matching (No Hallucinations): I utilize deterministic lookup nodes and RAG vector searches against exact supplier databases (Getaz Miauton, Sanitas Troesch, Nussbaum). If a component isn’t found in the reference catalog, the workflow explicitly flags it as a missing reference rather than generating estimate prices.

Calculation & PDF Engine: The workflow parses free-text French requests via LLM into structured JSON, applies your exact parameters (15% materials margin, 95 CHF/h labor, 45 CHF travel, and 8.1% Swiss VAT), and generates a clean, downloadable PDF quote ready for client delivery.

Prototype: I have built a testable workflow matching this structure and am ready to share a working demonstration/link for you to test with sample French intervention requests.

I would love to share the prototype link and discuss a long-term collaboration. I’ll send a direct message to your WhatsApp (+92 3716523767) to coordinate!

Best regards,

CH Abubakar

Bonjour Paulo,

La partie difficile de ce projet n’est pas la génération du PDF, c’est votre ligne non négociable : signaler un produit manquant au lieu d’inventer un prix. Un LLM laissé à lui-même produira toujours une référence plausible plutôt que d’avouer qu’il ne sait pas. Ça ne se corrige pas au prompt, ça se corrige à l’architecture.

Comment je le construirais : recherche hybride (lexicale + vectorielle) sur le catalogue fournisseur, avec un seuil de confiance sous lequel le système écrit « référence introuvable — validation humaine requise » et n’écrit surtout pas de prix. Le devis part avec le trou visible, jamais avec une approximation invisible.

C’est exactement ce que je publie en open source : GitHub - remten341/rag-freshness-gating: Hybrid RAG pipeline (BM25 + vector, RRF) with document freshness gating and metadata pre-filtering. 54 tests, sample corpus included. · GitHub (recherche hybride BM25 + vectorielle avec contrôle de fraîcheur, 54 tests) et GitHub - remten341/n8n-resilient-workflow: Production n8n workflow with retries, dead-letter queue, error branches and alerting. 21 nodes, 19 connections, importable JSON. · GitHub (workflow n8n de production : retries, file d’erreurs, alerting, JSON importable).

Vous sélectionnez sur prototype testable : c’est la bonne méthode. Pour en construire un qui ait du sens, il me faut deux choses — un extrait de catalogue réel (30 à 50 lignes suffisent) et trois demandes d’intervention en texte libre avec le devis attendu pour chacune. Avec ça je vous rends un prototype que vous testez vous-même, y compris sur les cas où la bonne réponse est « je ne sais pas ».

Je suis francophone, sur le fuseau horaire suisse, et disponible immédiatement.

Bien cordialement,

Rémi

Hi AD-1, saw your post about the quoting agent for plumbing and HVAC in Switzerland. The part that stuck with me was that it has to flag missing products instead of inventing prices. I hit the same shape of problem in my own engine: 27 workflow branches were being skipped while every run still finished COMPLETED, so nothing ever warned me. I build a hosted tool for agents like this, where every run shows each step, what it returned and what it cost. I have zero users and I am not selling, and I am not applying for the job. If you have 10 minutes I will set up your first agent myself and you can tell me if it is useful or garbage.

— Aghassi (solo founder, agent-mesh.org)

Hi AD-1 — this is a fit worth testing. I built a RomeoApps-owned synthetic exact-match prototype: Exact-match quoting prototype | RomeoApps

It runs French sample input through parse → exact catalog-row match → held exception → CHF calculation. Known catalog aliases are priced; unknown items remain unpriced for review; the 15% margin, 95 CHF labour, 45 CHF travel and 8.1% VAT are applied only after matching. A downloadable synthetic n8n fixture is included. Every reference and price is fictional demo data — this is owned proof, not client or supplier work.

If it passes your prototype check, please send the catalog slice format (CSV, PDF or API), required PDF fields, acceptance owner/checklist, paid milestone or rate, payer/payment route/timing, and start/deadline. I can then scope a small paid pilot in writing; I will not use real supplier data or credentials before those terms are agreed.

I’m not going to claim years of n8n experience. My strength is AI-assisted application/workflow development and building controlled systems where generated output is validated before it is accepted.

Your exact-match requirement is the part I would focus on first.

I’d propose a small paid prototype at a fixed **USD $500**:

- 1 supplier catalog sample

- 5–10 sample French intervention requests

- deterministic exact-reference matching

- unmatched items explicitly flagged for review

- no model-generated prices or supplier references

- quote calculation for materials, margin, labor, travel and VAT

- simple structured output first; PDF after the matching logic is proven

I can build this as a self-contained first milestone so you can test whether the matching/refusal behavior is reliable before discussing a larger engagement.

If you can provide a sanitized catalog sample and a few representative requests, I can scope that prototype immediately. I will not build a fake demo against invented SKUs.

Danny