A guest form is a page in your guidebook that asks instead of tells. Build it once in Communication → Guest forms, apply it to one property, a multi-unit site, or everything you own, and each guest's answers land on their stay — in that stay's conversation in Communication → Inbox and in the reservation side sheet. On each property the form appears as a custom page — guests answer from Quick info, by scanning its QR code on a printed or acrylic sign, or from an optional pre-stay email.
Three kinds:
Answering with a known email (via the guidebook gate, their reservation, or an email question on the form) adds the guest to your CRM as an email-marketing contact — never SMS.
Not to be confused with Marketing → Lead capture (called "Forms" until October 2026), which holds your first-visit popup and the sign-up forms on your website pages. See Lead Capture.
Airbnb, Booking.com and Vrbo hide a guest's real email behind a relay address, so Haven's own emails can't reach them.
The best way is to send them your guidebook automatically. Turn on OTA guidebook automation and pick your form under Edit Listing → Arrival → Guidebook access → Add check-in form or survey: every Airbnb and Vrbo guest gets their guide in the booking thread with the form inside it, and you don't have to remember to send anything. The guidebook also carries the rest of the stay — check-in steps, the door code, the ID check and rental agreement — which a form on its own does not.
You can also send just the form. Each form link belongs to one reservation: opening it signs the guest in to that stay, with or without a Haven account, so their answers land on the right booking. Use it when a guest hasn't answered yet, or for a stay the guidebook message doesn't reach.
The link is short (yourdomain.com/g/…) and opens the form on its own page,
under your brand — not the whole guidebook. There is no shop, no offers and
no payment on it, so it is safe to paste into an OTA chat. The page greets
the guest by name, shows their dates, and fills in what Haven already knows
(name, email, phone) for them to confirm. After they submit, it shows what
they will receive from you — their guide and check-in details, by email and
text — any step still open before arrival (ID check, rental agreement), and a
button into their guide. A thank-you discount code is never shown there.
For the first 30 days after you connect a custom domain, links for Airbnb and other OTA stays use your Haven address instead, because Airbnb blocks brand-new domains; the (i) next to Send a form says so when it applies.
Ways to send a form link yourself:
{guest_form_link} in an Inbox reply — it becomes the link to the
stay's first unanswered pre-stay form, on any booking channel.The form you pick for the guidebook message is included on Airbnb and other OTA stays as long as it's a form you built (not the retired default).
To collect their real email, phone, arrival time and who's staying in one go, start from the Guest details template; for contact details only, use Guest contact details — see Saving answers to the guest profile.
Haven does not add a poll or preference form to your guidebook (or to booking emails) unless you create one. A leftover "Anything you need for your stay?" form from an older default may still appear in Communication → Guest forms — it is marked Retired and guests no longer see it. Archive it, or duplicate it if you want that ask back.
If you add a form, pick which one a direct guidebook message can offer
under Edit Listing → Arrival → Guidebook access → Add check-in form
or survey. You can also rewrite the two auto-sent messages there (at
booking, and before check-in). The tokens are {guest_first_name},
{property_name}, {guidebook_link}, {guest_form_link} and
{early_late_offer} (a line offering early check-in or late checkout with a
link to the guidebook's Offers tab, when the listing sells either). Each fills
in per stay, and a line whose token has nothing to say is dropped: a stay with
no form loses the form line, a listing selling neither early check-in nor late
checkout loses the offer line. On OTA / Airbnb / Vrbo stays, the form you pick here is
included as long as you built it; with no form picked, those guests only get
one when you turn on Email it before check-in on that form.
{guest_form_link} into any email or broadcast — it
resolves to the stay's pending form on direct bookings, and on OTA stays
only when this switch is on (a reply you type in the Inbox always
resolves it). Next to it, Remind them if it's still
unfinished sends a follow-up to guests who haven't finished the form —
see Chasing an unfinished form.Editing the library form updates every guidebook it's on. Until every question and option has a label, the form stays hidden from guests.
A heading is a title between questions that groups the ones under it, such as Your Contact Details above the email and phone questions and Your Stay Preferences above the rest. Choose Add heading under the questions, type the title and, if you like, a short line to show under it, then use the arrows to move it above the questions it belongs to.
Guests still answer the whole form on one page; the headings only group the questions. A heading has nothing to answer, so it is never required, has no number, and does not appear in results, the CSV download or the answers you read on a stay. A form holds up to 10 headings besides its 20 questions. Adding, moving or renaming a heading never starts a new version of the form.
A follow-up is a question a guest only sees after a certain answer. Ask "Do you need an airport transfer?" and, for guests who pick Yes, ask for the flight number and landing time. Everyone else never sees those questions.
A Required follow-up is only required of the guests who are asked it. If a guest changes the answer that triggered it, the follow-up disappears and whatever they typed into it is not saved. Moving a follow-up above the question it depends on, or deleting that question or the triggering answer, removes the rule, and the question is then asked of everyone.
A form holds up to 20 questions, follow-ups included (headings are not counted). The Arrival details starter comes with the airport transfer example already built.
Every reservation shows where its guest stands on your forms. At the top of a stay's conversation in Communication → Inbox, and in the reservation side sheet, one Guest forms line says how many forms are answered (with a dot while one is still waiting on the guest). Click it to expand it in place: one row per form with its status, and each row opens to what the guest said or what is missing. The clipboard count on a stay's row in the Inbox list opens that stay with the line expanded, and each answered form also appears in the conversation at the moment the guest sent it — select it to read what they said.
A form counts as finished once the guest has answered every required question that applies to them. Until then it shows as:
Forms offered before the stay, and forms you email or send reminders for, show as waiting from the moment the stay is booked. A during-stay poll appears on the reservation once the guest answers it.
To follow up automatically, open the form in Communication → Guest forms, turn on Remind them if it's still unfinished, and choose how many days before check-in. On that day Haven emails a reminder with a button straight to the form — but only to guests who haven't finished it. Guests who finished hear nothing, each stay is reminded once per form, and the reminder never goes out before, or within a day of, the form's first email. The reservation shows the date the reminder is due and when it was sent.
Edit the reminder's wording, or turn it off for your whole account, under Communication → Message automations → Guest form — reminder. You can also switch on a text or booking-thread message there; that is how the reminder reaches Airbnb, Vrbo and other PMS guests who have no email address Haven can write to.
Under any question, Save answer to guest profile as writes what the guest answers onto their reservation and their contact in your audience:
Picking a field sets the question type it needs (Email, Phone, Open answer,
Date, Time or Guest names), and each field is saved from one question per
form. Built-in shortcodes like {guest_email}, {guest_phone} and
{guest_arrival_time} then fill in with what the guest gave. The phone a
guest gives is the number Haven texts their stay messages to; the form tells
them so, and they can reply STOP.
The Guest contact details template asks for email first, then mobile, WhatsApp and birthday — the quickest way to swap an Airbnb relay address for the guest's own.
What happens on save:
@guest.airbnb.com, Booking.com, Vrbo,
Expedia) are never stored anywhere in Haven. A guest who types one is asked
for their personal email.A contact can hold several emails. Mail goes to the newest one that hasn't bounced — marked Sending to in the guest's sheet under Emails. If an email hard-bounces, Haven moves the guest to their next newest address and sends the same email again there. If every address has bounced, the sheet says so. A spam complaint never moves mail to another address.
In the guest's sheet (Marketing → Audience, or from any reservation or conversation), Emails lists every address with where it came from. Add, correct, or remove any of them — a contact always keeps at least one.
Any answer can be played back to the guest. Under a question, choose Save
the answer as a shortcode and give it a name, such as
arrival_flight_number. After you save the form, {arrival_flight_number}
works in every email, text, custom automation, inbox message and guidebook
text, and fills in with what that reservation's guest answered — their
exact words, so there is no copy-and-paste step to get wrong.
The Arrival details template comes with two of these already, on the
flight questions it asks guests who want an airport transfer:
{arrival_flight_number} and {arrival_flight_time}.
To confirm details a few days before arrival, add a custom automation under Communication → Message automations timed before check-in, and write, for example: "We have you on flight {arrival_flight_number}, landing at {arrival_flight_time}. Reply if anything has changed."
If a guest has not answered, the shortcode is blank or shows the fallback you set. Your saved shortcodes are listed under Settings → Shortcodes → Guest answers. Full details: Shortcodes.
Polls don't have their own contact-capture settings. They follow the guidebook's access setting (Arrival guide → Guidebook access):
Guests with a reservation are recognised automatically, so their responses are tied to their stay.
Each guest's answers are on their stay (above). For totals across all your guests, open Communication → Guest forms, click ⋯ on a form and pick Results (shown once the form has answers):
When you change a form's questions after guests have answered it (add, remove or reword a question or an option), Haven keeps the old questions as a version and starts a new one. The form's row shows Version 2, 3 and so on, and Results has a version picker: each version's answers are counted against the questions those guests actually saw, so a reworded option never relabels old answers. Edits made before anyone answered, and changes to the intro, thank-you text or delivery, stay in the same version. Guests who see a poll's running tally see the current version's.
The built-in How did you find us? survey is pinned at the top of Communication → Guest forms. Open it for every answer across your properties (bars per answer, filters by property and by where the guest answered, search, sort, and a link to each reservation) and an Edit tab. You can add your own options and hide any option, but a saved option cannot be removed or renamed: past answers are stored against it. To retire one, hide it (its answers stay in results as No longer offered) and add a new one.
The question is optional unless you turn on Require an answer to book on the Edit tab. With it on, guests pick an answer at checkout before they can pay or send a booking request; payment opens once they answer. This works the same whether Haven, OwnerRez or Guesty takes the payment. A guest who already answered for that stay (say on a booking request, and now pays through your link) is not asked again. A question to you (an inquiry) can always be sent without answering, and the ask on the booking-confirmed page and in the guidebook can still be skipped, because the stay is already booked by then.
You also get an email for each new response (toggle per poll) and an inbox card on your Overview when a poll has responses you haven't seen; both open the same results. Opening the results marks them seen.
Where do a guest's answers show up? On their stay: the Guest forms line at the top of the stay's conversation in Communication → Inbox and in the reservation side sheet, which expands in place. Also in the guest's sheet under Guest forms, across every stay and listing. Communication → Guest forms is where you build forms; totals across guests are under Results on a form's menu. The guidebook AI assistant also uses them privately when that guest chats about their stay, and your Haven assistant can read them when you ask about a guest.
How do I get an Airbnb guest's real email? Ask for it in a form with an email question saved to their profile — the Guest details or Guest contact details template does it. The best way to deliver it is inside your automatic guidebook message; you can also paste the form's link into the Airbnb chat yourself. See Sending a form to Airbnb and other OTA guests.
Can I ask a question only if the guest answers a certain way? Yes. Use Add a follow-up question under the question it depends on (see Follow-up questions).
Can Haven chase guests who haven't filled a form in? Yes. Turn on Remind them if it's still unfinished on the form and pick how many days before check-in (see Chasing an unfinished form).
Can I put a guest's answer into an email to them? Yes. Save the question's answer as a shortcode (see above) and insert it like any other shortcode.
Can guests vote twice? No. Each guest (by reservation, gate email, device, or account) has exactly one response per poll. If you allow it, they can change their answers, which updates the same response.
What happens if I rename or delete an option? If guests have already answered, the form moves to a new version: the old answers keep the old wording and options under the earlier version in Results, and new answers count toward the new one. Before anyone answers, edits simply apply.
Can I use a form on my other properties? Yes — it's a library item. Open it in Communication → Guest forms and tick the sites (or "Use on all sites"). Answers stay on each guest's stay; Results shows totals across every property, or one at a time.
Does the guest AI assistant know about my poll? Yes. It can tell guests a poll exists and where to vote; it never reveals results.
New to Haven?
Haven is the direct booking platform these guides are written for — a branded site, secure payments, and guest relationships you own. Build yours free.
Free to build · No credit card · Private until you publish