Skip to content

Guide

How to add a service request form to your website

CalSpark gives your business a hosted request page and a snippet you can paste into your site. Here is the setup, what happens when a customer submits it, and the limits you should know about before you rely on it.

By CalSpark team. Published . Updated .

Set it up in about five minutes

  1. Sign in as an admin and open Company. In the Features card, turn on Request form. It is off until you do, and Settings, Lead form does not appear without it.
  2. Open Settings, then Lead form.
  3. Choose a company link name: 3 to 40 lowercase letters, numbers and hyphens. Changing it later breaks links you already shared, so pick a name you will keep.
  4. Turn on Accept requests from the public form and click Save. While it is off, the link shows a not available page and nothing can be submitted.
  5. Under Share your form, click Copy public link or Copy embed code.
  6. Paste it into your website, as described below, and publish.
  7. Submit a test request yourself and find the new job in the Unassigned/Unscheduled Jobs list on the dispatch board.
  8. Optionally, switch on the instant reply under Settings, Automations.

The hosted page lives at /request/ followed by your link name, on your CalSpark address. It shows your company name and logo and works on a phone.

Getting it onto your website

The embed code is a single iframe, which is a window onto the hosted page. It looks like this, with your real address filled in by CalSpark:

<iframe src="https://your-calspark-address/request/your-company-name?embed=1" title="Request service" width="100%" height="720" style="border:0;max-width:640px" loading="lazy"></iframe>

Most website builders have an embed, custom HTML or code block. Add one to the page where you want the form, paste the snippet, and publish. Where that block lives and what it is called differs by builder, so look in your builder help for the word "embed". Some builders or plans restrict what code you can paste. If yours will not take it, add a button on your site that links to the public link instead. Customers fill in the same form either way.

What happens when someone submits

  • A lead is recorded with the name, phone, email and message.
  • The customer is matched by phone or email. If there is no match, a new customer is created, with an address when the visitor filled one in.
  • An unscheduled, unassigned pending job is added, with the message as the scope of work. It appears in the Unassigned/Unscheduled Jobs list on the dispatch board, ready for you to schedule.

If the visitor matches an existing customer, CalSpark attaches the new job to that customer and does not change the name, phone, email or addresses on file. Anything different they typed is written as a note on the job for you to review.

The form has a text message checkbox. Ticking it is noted on the lead, but it does not set text consent on the customer. A text is only enabled after they reply YES to a confirmation text, and that needs text messaging set up, which is not turnkey. Nothing is assumed from an unticked box.

The new-lead instant reply

The New-lead instant reply automation is off by default. When you switch it on, a visitor who gave an email gets a message right away, and company admins get an email titled New lead. Sends are held until 08:00 during quiet hours. A text goes out only if you have your own Twilio connection.

Say three things: you got it, when they will hear back, and what to do if it is urgent. Use {{lead.name}} and {{company.phone}}.

Subject: Thanks for contacting {{company.name}}

Hi {{lead.name}},

We got your request and will call you by the end of the next business day. If water is running or the power is out, call {{company.phone}} now.

{{company.name}}

Do not promise a time you cannot keep. By default, CalSpark sends at most 50 automatic messages a day from public form activity.

Sending leads to another system

Each submission also fires a lead.created event. If you want new leads in a spreadsheet or another tool, point a signed webhook at it. The payload carries the lead name, email, phone, source and message. See webhooks and API and the developer docs. There is no public Zapier app today, so a webhook receiver or your own script does the work.

Spam, fields and limits

CalSpark checks every submission with a hidden field that bots tend to fill in, a time-limited form token (a submission within about 3 seconds of loading the page is refused), and rate limits per address and per company link. The platform can also use Cloudflare Turnstile when it is configured. None of this is a promise that no junk gets through. Submissions are unverified, so call back before you roll a truck.

The form fields are fixed: name, phone, email, service address, what you need, preferred time and date, and the text checkbox. You cannot add or remove fields. Name and a short description of the problem are required, and you need a phone or an email. Phone is optional if the visitor gives an email, so keep the page around the form short and ask for little. There is no photo upload on the form.

Questions

How do I turn the request form on?

Start in Company, Features, and turn on Request form. Then open Settings, Lead form, choose a link name, turn on Accept requests from the public form and save. The form is off by default, so nothing can be submitted until both steps are done.

Where is the form hosted?

At /request/ followed by your company link name on your CalSpark address. You choose the link name under Settings, Lead form.

Can I change the questions on the form?

No. The fields are fixed. Name, a description of what they need, and a phone or an email are required.

Will a submission change an existing customer record?

No. A match by phone or email gets the new job attached, and any new details are added as a note on the job for staff to review.

Does ticking the text box mean I can text the customer?

Not by itself. It is noted on the lead. Texting starts only after the customer replies YES to a confirmation text, and text messaging needs your own Twilio account.

Can I get new leads somewhere else?

Yes, through the lead.created webhook event. There is no public Zapier app.

Try it with your own jobs

14-day free trial. No card. $49 a month flat for up to 10 users after that.