Booking Form Setup

    Put a booking form on your website so customers can request an appointment themselves. Choose the questions they answer, the days and times you offer, and what happens to each request when it lands.

    Scheduling & Field Work18 min readOwners & admins

    You'll need Owner or Admin access for this.

    What it is

    The Booking Form is a public web page that belongs to your company. You send customers the link, or paste the form straight into your own website, and they fill it in to ask for an appointment. Every submission lands in Joby under Request History, where you confirm it, turn it into a client, and turn it into a job.

    You set it all up in one place: SettingsPipelineBooking Form. Admins also get a Booking Form shortcut in the left menu under More — that shortcut opens straight onto Request History and carries a badge showing how many requests are still Pending.

    Video walkthrough — coming soon

    A short screen recording of this whole setup is on the way and will appear here. Until then, the step-by-step below covers every screen in the order you meet it.

    The page has two tabs:

    Form Setup

    Everything the customer sees: the wording at the top, which questions appear, which days and times you offer, and whether each booking opens a job automatically.

    Request History

    Every submission you have ever received, newest first, as a list or a month calendar. This is where you confirm requests and turn them into work.

    You can have more than one booking form — up to 20. Each one has its own link, its own wording, its own questions and its own opening hours, so a "Commercial Jobs" form can ask completely different questions from a "Spring Promo" form.

    When to use it

    • You want a "Book online" button on your website instead of only a phone number.
    • You want enquiries to arrive after hours without anyone answering the phone.
    • You are running a campaign and want a separate link so you can tell where bookings came from.
    • You want customers to tell you the service they need before you call them back.
    • You want every online booking to open a job in your pipeline by itself.

    This is not the place to book a job on a customer's behalf while you are on the phone with them — use Leads or Appointments for that. The Booking Form is only for what customers submit themselves.

    Before you start

    • You need to be an owner or admin. The Form Setup tab is admin-only. If you open Settings and there is no Booking Form card under Pipeline, ask an owner to make you an admin.
    • Agents can still read the requests. On a phone, tap the last button in the bar along the bottom of the screen and pick Booking Form under Management — that opens Request History on its own. That one needs the Appointments permission, which is set per role under SettingsTeam Roles in the Management group.
    • Your services should exist first. The service picker on the form is fed from SettingsService Types. With nothing there you get a "No service types yet. Create one →" message instead of a list.
    • Statuses and ad sources should exist too if you want bookings to open jobs automatically. Those two drop-downs read from Settings -> Lead Statuses and Settings -> Ad Sources.
    • Your company web address has to be set up. The booking link is built from it. If it is missing, Copy Link answers "Please configure your organization slug first to generate a booking link." — contact Joby support to have it set.
    • Someone needs a plan for the website part. Copying the link is enough for social media or an email signature. Putting the form inside your own web page means pasting a small block of code — whoever looks after your website should do that bit.
    • Your company may use different words. "Lead" can be renamed for your account, so a button this guide calls Create Lead might read Create Job on your screen.

    Step-by-step

    1. Open the page and pick a form

    1. Go to SettingsPipelineBooking Form. Admins can also click Booking Form in the left menu under More, then switch to the Form Setup tab.
    2. The Booking forms card lists what you have. A brand-new account starts with one form called Booking Form carrying a Default badge, and its web address is shown underneath the name.
    3. Click a form's name to select it. Everything in the cards below applies to whichever form is selected — when you have more than one, a line appears reading "Editing <name> — the cards below apply to this form only."

    2. Set the wording customers see

    1. In the Form copy card, type a Title. Leave it empty and customers see Schedule an Appointment.
    2. Fill in Text below title — one or two lines under the heading. Left empty it reads Fill out the form below to book your appointment.
    3. Click Save Copy.

    3. Set your opening hours

    1. In the Availability card, click the day buttons — Sun Mon Tue Wed Thu Fri Sat — so only the days you work are filled in. Monday to Saturday is on to start with.
    2. Choose a Start Time and an End Time. These are the earliest and latest slots a customer can pick.
    3. Choose a Duration — 15 minutes, 30 minutes, 45 minutes, 1 hour, 1.5 hours or 2 hours. This decides how the day is chopped into slots. Two hours gives a customer an arrival window like 8:00 AM - 10:00 AM.
    4. Set Minimum lead time — the number of hours before booking you need as notice. It starts at 16. Anything sooner than that is greyed out on the customer's calendar.
    5. Click Save Settings.

    4. Decide whether customers pick a service

    1. In the Services on booking form card, switch on Show service selection on booking form. With it off, no service drop-down appears at all.
    2. Switch on Require service selection if customers must not be able to submit without choosing one.
    3. Under Services shown to customers you get one row per active service type. Use each row's switch to include or exclude it from the public drop-down.
    4. Use the pencil button on a row to open Customize booking copy. The Internal name is read-only; Customer-facing label is what customers actually read, and Description appears as a small line under it. Click Save.
    5. Need a service that does not exist yet? Type it into Add a new service at the bottom of the card and click Add. It is created switched on.

    5. Choose which standard questions appear

    1. Open the Standard form fields card. The box at the top reminds you that First name and phone are always shown and always required — those two cannot be switched off.
    2. Each remaining row has a Show switch and a Required switch: Appointment date, Appointment time, Last name, Email, Address and Notes.
    3. Address uses an address lookup, and switching it on also captures the city, state and ZIP without asking three more questions.
    4. Appointment date and Appointment time work differently: they have no separate Required switch, they simply read Required or Hidden. Hide the date and Joby records the first bookable date. Hide the time and Joby records the first available slot on that date.

    Hiding the time turns a booking into a request

    With the time picker showing, the customer's confirmation screen reads Appointment Confirmed! and repeats the date and time back to them. With it hidden, the same screen reads Request Submitted and simply says "We'll contact you shortly to confirm the details." Pick the second one if you would rather call the customer back with a time than commit to one on the spot.

    6. Add your own questions

    1. In the Form Fields card, click Add Field. An empty card reads "No custom fields configured. Add fields to customize the booking form."
    2. Type a Field Label * — this is what the customer reads, for example Service Type.
    3. Choose a Field Type *: Text, Number, Dropdown, Text Area, Checkbox, Phone or Email.
    4. For a Dropdown, fill in Options (comma-separated) * — for example Roofing Replacement, Roof Repair, Inspection. Tick Allow multiple selections to let customers pick more than one.
    5. Placeholder and Help Text are optional. Tick Required field if it must be answered, then click Add Field.
    6. Back on the list, each field shows its type as a small label. The Required tick box changes it on the spot; the pencil re-opens the editor; the bin deletes it after a "Delete this field?" confirmation.
    7. Click the chevron on a field to expand it. There you get Active (visible on booking form) — untick to park a field without deleting it — and Conditional Display.

    Conditional questions: expand a field, choose Add condition based on dropdown..., pick which drop-down controls it, then pick the answer in the Select Condition Value window and press Add Condition. The field then carries a label reading Shows when "…" and only appears for customers who chose that answer. One condition per field, and you need at least one Dropdown field for the option to appear at all.

    7. Decide what happens to a new booking

    1. In the Bookingsleads card, switch on Automatically create a lead for every booking. Two more controls appear.
    2. Pick a Lead status — the status every auto-created job starts on. Nothing in the list? Use the Create one → link to SettingsLead Statuses.
    3. Pick an Ad source. Every job created this way is stamped with it, so your reports can tell you how much work the website brought in.
    4. Leave the switch off if you would rather review each request by hand first — you can still press Create Lead on any row in Request History whenever you want.

    8. Put the form in front of customers

    1. Copy Link at the top of the page copies the selected form's web address. Paste it into an email, a text, a Google Business profile or a button on your site. Each row in the Booking forms card also has its own copy button.
    2. Open loads the live form in a new tab so you can see exactly what customers see.
    3. Embed opens Embed the booking widget. It gives you a Widget URL for site builders that have their own embed block, and an HTML snippet for everything else. Press Copy snippet and hand it to whoever edits your website — it goes into a plain HTML or Custom Code block.

    What the Embed window tells you

    • The embedded form starts at a fixed height and grows by itself when the full snippet is used.
    • It works on Wix, Squarespace, WordPress, Webflow, Shopify, Framer and any plain website.
    • Bookings made through the embedded form show up in your appointments straight away.

    9. Work through the requests that arrive

    1. Open the Request History tab — or click Booking Form in the left menu, which lands you there already.
    2. Each row shows Submitted, Customer, Phone, Email, Requested Date, Time, Status, Address and Notes. The chevron at the start of a row expands it so long notes and addresses are readable in full.
    3. Click the Status box on a row and choose Pending, Confirmed, Completed or Cancelled.
    4. In the Actions column, Create Client saves the customer to your client list and opens their page. If they already exist the button reads Open Client instead and simply takes you there.
    5. Create Lead opens a job from the request, carries the date, time, address and every answer over to it, and links the two. Afterwards the button reads Open Lead.
    6. The Copy button at the end of a row copies the whole request as text — handy for pasting into a message to a field worker.
    7. Delete removes the request from this history only. If it already became a job, that job stays on your calendar.

    How to check it worked

    • Settings saved: a confirmation message appears reading Settings saved successfully. Switches and drop-downs in the services, auto-lead and field cards save the moment you flip them — only Form copy and Availability wait for a button.
    • The customer's view: press Open and read the page. Your title and subtitle should be at the top, only the questions you switched on should be visible, and the calendar should grey out the days you did not tick.
    • Do a live test: submit the form yourself with your own name and phone number. You should land on Appointment Confirmed! (or Request Submitted if you hid the time), and the entry should be at the top of Request History within seconds. Delete your test row afterwards.
    • Auto-created jobs: after that test booking, check Work -> Leads for a new job on the status you chose, stamped with the ad source you picked.
    • A new form: it appears in the Booking forms list with its own link underneath, and you get a Booking form created message.
    • Requests are arriving: the Booking Form item in the left menu carries a number badge counting requests still on Pending. On a phone, the page header shows N pending.
    • The embed took: load your own website page in a private browser window. The form should render inside the page, and a test booking from there should show up in Request History like any other.

    Common mistakes

    Renaming a form breaks its old link

    The link is built from the form's name, so renaming changes it. The rename window warns you, and afterwards you get a message reading "Booking form renamed — its link changed with the new name." Re-copy the link and update anywhere it was shared or embedded.

    Editing the wrong form

    With several forms on the go it is easy to change the wrong one. The selected row is outlined, and a line above the cards names it. Read that line before you start changing settings.

    Nothing is bookable

    If every date is greyed out, the usual causes are a minimum lead time longer than you meant, a Start Time later than the End Time, or no days ticked at all. Fix them in the Availability card and reload the public page.

    The service list looks empty

    A service only reaches the public drop-down when the master switch is on and that service's own switch is on and the service is active under SettingsService Types. All three have to line up.

    • Deleting a form to "clean up". Its link stops working immediately — anything pointing at it, including an embed on your website, breaks. The confirmation spells this out. Submissions you already received are kept.
    • Trying to delete the default form. You cannot. You get "The default booking form can't be deleted. Set another form as default first." Use the star button on another form to make it the default, then delete.
    • Expecting a request with no contact details to convert. Creating a client or a job needs a phone number or an email. Without either you get "This request needs a phone number or email before a lead can be created."
    • Pressing Create Lead twice. Once a request has a job the button changes to Open Lead and simply opens the existing one — it will not create a second.
    • Turning on auto-create without choosing a status. Pick a Lead status and an Ad source at the same time, or the jobs arriving from your website will be hard to find and impossible to attribute.
    • Hiding a field customers actually need. Switching Address off means no address arrives at all — not even the city — so somebody has to ring back for it.
    • Deleting a request to get rid of the job. Deleting only clears the history entry. A job that was already created stays on your calendar and has to be cancelled separately.

    More detail (6)

    Managing several forms

    The Booking forms card is the control panel for all of them. Every row has the same set of buttons on the right:

    • Copy link — copies that form's web address.
    • Rename form — opens the rename window. Remember the link changes with it.
    • Duplicate form — makes a full copy called <name> copy, bringing across the wording, the hours, the standard-field choices and every custom question including its conditions. The fastest way to start a second form.
    • Make default — the default form is the one your main booking link answers. Only shown on forms that are not already the default.
    • Delete form — also only on non-default forms, and it asks first.
    • Press New form at the top right of the card to start an empty one. Names must be at least two characters and must be unique — a clash shows "A booking form with this name already exists." As you type, the window previews the link the form will get.
    • The limit is 20 forms. At the limit, New form and the duplicate buttons stop working and you are told "Limit of 20 booking forms reached."
    • A brand-new form starts with default hours and no custom questions, so set it up before you share its link.

    Reading Request History

    Controls along the top of the tab, left to right:

    Form and status filters

    An All forms drop-down appears once you have more than one form, next to an All statuses drop-down offering Pending, Confirmed, Completed and Cancelled.

    List / Calendar

    List is the table, newest first. Calendar lays the same requests onto a month grid by the date the customer asked for, with arrows to change month and a +N more marker on busy days.

    Tick boxes and Delete selected

    Tick rows — or the box in the heading to take the whole page — and a N selected counter appears with Delete selected and Clear beside it.

    Export CSV

    Downloads every request your company has ever received — not just the page in front of you. The file is named after today's date and opens in Excel, Numbers or Google Sheets.

    The list shows 50 requests per page with a 1-50 of 340 counter and Previous / Next buttons underneath. With nothing to show you get "No booking requests yet."

    The spreadsheet contains one column per piece of information on the row:

    • Submitted, Customer, Phone, Email
    • Requested Date, Time, Status
    • Address, Notes
    • Lead ID and Appointment ID for cross-referencing

    Worth knowing: deleting requests cannot be undone. The confirmation window counts what you are about to remove and, if any of them already became jobs, says so in words — those jobs are left alone, only the history entries go.

    What customers see

    • Your title and the line beneath it, then the questions in a single column.
    • First Name and Phone always. Then whichever of Last Name, Email Address, Address, Date, Time and Notes you left switched on, with a star next to the required ones.
    • A Services drop-down if you switched services on, showing your customer-facing labels and their descriptions.
    • Your own custom questions, in the order you created them, hidden where a condition says so.
    • A Book Appointment button at the bottom, which reads Booking... while it saves.
    • A confirmation screen with a green tick — Appointment Confirmed! with the date and time repeated back, or Request Submitted if you hid the time picker. Either way it ends with "We'll contact you shortly…" and a button to submit another.
    • If a link is wrong or the form was deleted, they see Booking Unavailable with the line "This booking link is invalid or the organization could not be found."

    Customers cannot see anything else about your company — no prices, no other bookings, no staff names.

    On your phone

    • Reach it from the last button in the bottom bar, then Booking Form under Management. That opens Request History on its own — the setup cards are computer-only.
    • Requests are cards, not a table: name, tappable phone number, a status pill, the service and requested time, and the address underneath.
    • Row of chips across the top — Pending, Confirmed, Completed, Cancelled, All — each with its own count.
    • A pending card gets a Confirm button; every unconverted card gets Create Lead. Once confirmed, call and text buttons appear on the right.
    • A converted card shows ConvertedLead #… and links straight to the job.
    • Pull down from the top of the list to refresh, and Export is in the header.

    Who can do what

    • Owners and admins — the whole page, both tabs, under SettingsPipelineBooking Form. Only they get the Booking Form shortcut in the left menu.
    • Anyone with the Appointments permission — the Request History screen on a phone, from the bottom bar's last button -> Management -> Booking Form. Set it per role under SettingsTeam Roles, in the Management group.
    • Everyone else — no access. The menu item simply is not there.

    Creating a client or a job from a request follows your normal permissions for those records, so a role that cannot create jobs will not get far with Create Lead. See Team Roles & Permissions for the full list.

    The Availability engine

    Form Setup has a card called Availability engine. It double-checks availability before a booking is accepted, so two customers cannot take the same slot.

    Double-booking protection is always on. What you control is:

    • Use slot engine — serves this form's dates and times from the checked list instead of the plain grid.
    • Slot capacity — how many bookings one time slot can take, from 1 to 10. Set it to the number of crews you can send out at once.
    • Conflicts logged (30d) — a read-only count of the double-bookings the engine turned away in the last 30 days. A number climbing steadily usually means your slot capacity is set lower than the work you can actually take.

    A safe way to turn it on

    1. Set Slot capacity to the number of jobs you can genuinely run at once.
    2. Switch Use slot engine on.
    3. Leave it a week, then read Conflicts logged (30d).
    4. A count higher than you expected usually means capacity is set too low — raise it and check again.

    A customer who loses the race for the last opening is told "That time was just booked. Please pick another time." and the list refreshes for them.

    Was this guide helpful?

    We use cookies to improve your experience. Privacy Policy