Los Gatos, Bay Area, California, USA

Shall we discuss your project?

Contact us to receive a consultation and discover the best solution for your project. Fill out the form, and we will get back to you shortly.

Looks good!
Please enter your name.
Looks good!
Please provide a valid email address.
Looks good!
Please enter a description of your project or task.

Special Offer

Express MODX Website, $800

A complete, content-filled site on a premium ThemeForest template, built on MODX and handed over on your own domain and hosting. Fixed price, fixed scope, no hourly billing and no surprise invoice at the end.

01

Send Form: Visitor send feedback form.

02

MODX contact form: FormIt + AjaxForm, your markup

03

Spam control: Honeypot, page token, keyword filter

04

HCPLead snippet: Search → verify → create

05

POST /customers + leads: Official Housecall Pro API

06

Job Inbox → API Leads: Attributed, owned, convertible

Under the hood

A snippet in your hook chain, not a plugin you rent

The integration is a custom MODX snippet running as a FormIt hook. It is installed in your site, it belongs to you, and it has no monthly fee attached to it.

FormIt processes a submission through a chain of hooks in order. Ours sits at the end of that chain, behind your validation, spam checks, local save, UTM capture, notifications and email.

01

You fill in the brief

A structured questionnaire about your business, services, audience and competitors. It is the only long form in the process and takes about twenty minutes.

02

We shortlist five designs

Not a catalogue of thousands. We go through ThemeForest with your industry and your brief in hand and bring back five templates that fit the business you actually run.

03

We agree on the structure

Every page, every section, every menu item, written out and approved before a line of code is touched. Changing the structure later is expensive. Changing it here is a conversation.

04

The site goes up on our staging domain

On our hosting, on a test domain, from day one. You can open it any time and watch the site take shape instead of waiting for a reveal at the end.

05

We implement the design with placeholder text

The template becomes a working MODX site: templates, chunks, snippets, resource tree, editable fields. Structure first, wording later.

06

We fill the site with your content

Your texts, photos, services, projects and prices, placed into the design, formatted and checked on mobile.

07

You review the site

A full pass over every page, with your comments collected in one place.

08

We test and fix

Forms, links, mobile layout, page speed, browsers, plus every item on your list.

09

You sign off

Final acceptance, once the list is empty.

10

We move the site to your hosting and domain

DNS, SSL, transfer, final check. You get the admin login and a short handover document explaining how to publish a news post without calling us.

Fixed scope

What the $800 covers

Most quotes for a site this size arrive as a range and end above the top of it. This one does not move, because the scope is defined before anyone starts working.

The package

One domain, one language, 36 pages. That is 10 service pages, 10 news pages and 10 project pages, plus home, about, contacts and the three listing pages that hold your services, news and projects.

What is done for you

Domain and hosting setup, template selection and license, the full MODX build, SEO-ready page structure, competitor analysis for your niche, and content placement using the material you provide.

What you own at the end

The site on your domain and your hosting, the MODX admin login, the template license in your name, and a site you can extend later without asking permission from anybody.

What a form-to-email workflow really costs

A missed lead never announces itself. Nothing turns red. The job goes to whoever answered first, and your close rate slips a little with no obvious reason.

The lead sits

Form emails land next to vendor invoices and spam. An inquiry answered in five minutes converts at a completely different rate than one answered tomorrow. Email has no clock on it.

Nobody owns it

No status, no assignment, no record of who called. Two people reach the same homeowner, or nobody does. Answering "did we follow up?" means searching a mailbox.

Attribution disappears

The lead came from a paid click on a specific landing page. Typed in by hand it becomes a customer with no source, and your ad reporting turns into guesswork.

Your list degrades

One person types (650) 555-0134, another 6505550134. Duplicate records pile up until nobody can tell which profile holds the service history.

Under the hood

A snippet in your hook chain, not a plugin you rent

The integration is a custom MODX snippet running as a FormIt hook. It is installed in your site, it belongs to you, and it has no monthly fee attached to it.

FormIt processes a submission through a chain of hooks in order. Ours sits at the end of that chain, behind your validation, spam checks, local save, UTM capture, notifications and email.

Two API calls, in the documented order

POST /customers creates the customer when one is needed. POST /leads creates the lead attached to that customer ID. Housecall Pro describes lead creation as requiring an already existing customer, so the sequence is not optional.

Deduplication, because the API will not do it

Housecall Pro documents that customer creation is not idempotent. Every call creates another customer, there is no idempotency key, and no endpoint deletes one afterward. We search first, re-verify against a normalized email or phone rather than trusting fuzzy search, and create only on a real miss.

Normalization on every field

Phone numbers are converted to E.164 before they are sent. Emails lowercased and trimmed, names whitespace-collapsed. That satisfies the API and makes matching reliable at the same time.

Failure handling that stays quiet only when it should

Bounded retries that never blindly repeat a create, Retry-After honored on a 429, full request and response logging with credentials scrubbed out, and an alert to your team when a call fails.

The API key never touches the browser

It lives in server-side configuration, outside the web root where possible, excluded from version control. A Housecall Pro key grants access to the entire account, so it is treated as a credential and not as a setting.

Before you ask for a quote

What your account needs first

Housecall Pro side
  • A MAX plan. The Public API, Webhooks and the API Leads channel are all MAX features. On Basic or Essentials no developer can work around it.
  • An API key with Full access, generated by an Admin under My Apps → All Apps → API Key Management, sent through a secure channel.
  • The API Leads channel enabled in the Job Inbox app.
  • A lead source created in Settings → Lead Sources. The field is validated against that list, so the value has to exist first.
  • A decision on Job Inbox auto-reply. It is on by default and messages the lead on your behalf.
Website side
  • Server-side access to the MODX install, or a working relationship with whoever has it.
  • Your existing form, whatever it is built on. FormIt and AjaxForm are home ground for us.
  • Somewhere to write log files.
  • Data duplication and forwarding. You can simultaneously send lead data to other channels. For example: Telegram.
  • Not on MODX? The same pattern works on WordPress, custom PHP, Node, or any stack that can make a server-side HTTPS request.

Outcome

What changes the day it goes live

No lost leads

Every qualified submission is an object in your CRM with a status, an owner and a timestamp, not an email somebody may or may not have read.

Faster first response

The lead is in Job Inbox before the visitor closes the tab, and your team can reply to the customer from inside Housecall Pro.

Visible interaction history

You can see whether anyone has touched a lead and what its current status is, without asking around the office.

Real marketing attribution

The source travels with the lead into the estimate and the invoice, so you can report on which channel produced booked work.

One clean customer list

Repeat customers stay one record with one service history, because matching happens before anything is created.

No new subscription

The logic runs inside your own site. No connector service in the middle, no task quota, no third party holding your customer data in transit.

Scope

What the project includes

With the account prerequisites in place, a standard form-to-lead integration takes a few days including live testing.

01

Discovery

We review your form, hook chain, spam controls and Housecall Pro setup. You get a field map showing exactly what lands where in the CRM.

02

Build

The snippet installed and running: field mapping, lookup and deduplication, customer and lead creation, attribution, retries, logs, failure alerts, parallel delivery.

03

Testing

Live submissions against your real account, since Housecall Pro publishes no sandbox. Test records are marked clearly and cleaned up before go-live.

04

Handover

Documentation of what was installed, which key it uses, what each config value does, and how to read the log when something looks wrong.

Questions

Before you commit

The things every owner asks us in the first call, answered here so you do not have to book one to find out.

Not if it is built properly. The API itself will happily create duplicates, since customer creation is explicitly not idempotent and there is no idempotency key. Deduplication happens in our code: search first, verify the match exactly, create only on a genuine miss.

The lead is saved locally and sent through your email and messaging channels before the API call is attempted. The failure is logged with the exact response, your team is alerted, and the lead is entered by hand. You lose a few minutes, not a customer.

No. That is the point of using the API rather than an embed. Your form keeps its markup, styling, fields and behavior, and the integration attaches behind it.

Only if every campaign name is pre-created in Settings → Lead Sources, because the field is validated against that list. We normally keep a small stable set of channel sources and put campaign detail in the lead notes, which is easier to maintain and just as reportable.

Only if every campaign name is pre-created in Settings → Lead Sources, because the field is validated against that list. We normally keep a small stable set of channel sources and put campaign detail in the lead notes, which is easier to maintain and just as reportable.

As safe as your server. It never appears in front-end code or page source, it lives in server-side configuration, it is excluded from version control, and it is scrubbed out of logs. A Housecall Pro key grants access to the whole account, so it is handled as a credential.

The API supports it, and both require an existing customer and address. We recommend against it for website inquiries. A form fill is a lead, not a scheduled job. Let your office qualify it and convert it inside Housecall Pro, which is one click from the API Leads channel.

A few days once the prerequisites are in place. Delays almost always come from the plan tier, the API key, or an undecided lead source name.

If you like what you see, let's work together.

I bring rapid solutions to make the life of my clients easier. Have any questions? Reach out to me from this contact form and I will get back to you shortly.

Looks good!
Please enter your name.
Looks good!
Please provide a valid email address.
Looks good!
Please enter your messsage.