Intermediate

Publish a form to your website

How to make a TrustPager form public, embed it on your website, generate pre-filled links, and understand how public form submissions create or match contacts and opportunities.

<p>TrustPager forms work in two modes. <strong>Private forms</strong> are sent to a specific person via a secure link and update their linked record on submission. <strong>Public forms</strong> are different: they get a hosted URL that anyone can open without an invitation, and every submission creates a brand new contact and opportunity in your CRM. Drop a public form on your website, share it in a campaign, or embed it in a page: every response lands automatically, credit-free.</p> <p>For private (invite-only) forms and the collaboration model, see <a href="https://trustpager.com/help-center/build-send-forms">https://trustpager.com/help-center/build-send-forms</a>.</p> <h2>Make a form public</h2> <ol> <li>Open the form you want to publish at <a href="https://app.trustpager.com/operations/forms">https://app.trustpager.com/operations/forms</a>.</li> <li>Click the <strong>Settings</strong> tab in the form builder (top-right, palette icon).</li> <li>Flip the <strong>Make this form public</strong> toggle on.</li> <li>TrustPager automatically adds a required <strong>Email</strong> field to the form if one is not already present. This is required so every submission can be matched to an existing contact or create a new one.</li> <li>A URL slug is auto-filled from your form name: edit it if you'd like something shorter or cleaner. Click out of the field and you'll see a <strong>Saved</strong> toast confirming it.</li> <li>Your live public URL appears below the slug. Use the copy button or the <strong>Open form</strong> link to preview it.</li> </ol> <p>Once a form is set to public, the <strong>Send</strong> button on the builder toolbar becomes <strong>Generate Link</strong>. Public forms are shared via link, not via individual email invitations.</p> <h2>Configure where leads land</h2> <p>While the Settings panel is open, pick the <strong>pipeline and stage</strong> you want new leads to land in. If you leave this unset, submissions default to your workspace's primary pipeline. You can also add an optional <strong>confirmation message</strong>: this is shown to the visitor right after they hit Submit.</p> <h2>What happens when someone submits</h2> <p>Every public form submission does three things automatically:</p> <ul> <li><strong>Find or create a contact.</strong> TrustPager matches on email address. If a contact already exists with that email, it is updated; if not, a new one is created.</li> <li><strong>Create or match an opportunity.</strong> By default, a new opportunity is added to the pipeline and stage you configured, linked to that contact. You can change this per form so submissions update an existing opportunity instead of duplicating it: see <strong>Match to an existing opportunity</strong> below.</li> <li><strong>Write CRM fields.</strong> Any form field with <strong>Save to CRM</strong> configured writes onto the contact and opportunity records on submit: contact name, phone, company name, and so on.</li> </ul> <p>File uploads and spreadsheet fields work exactly the same as on private forms. There is no feature restriction because a form is public. Submissions are credit-free.</p> <h2>Match to an existing opportunity</h2> <p>By default, every public form submission creates a brand new opportunity, even if the submitting contact already has one open. That's fine for a first-touch lead form, but it causes duplicates on a form you send to someone who already has a deal in progress: a mandatory pre-call questionnaire, a post-booking audit form, anything a lead fills in after they're already a contact. Each submission spawned a second card, and the form answers landed on the duplicate instead of their real opportunity, so you'd have to merge and delete manually.</p> <p>To fix this, in the Form Builder open the <strong>Form Settings</strong> panel and expand <strong>Public access</strong> (the same place you set the public URL and destination pipeline). Find <strong>Existing opportunity behaviour</strong>. Three options:</p> <ul> <li><strong>Always create a new opportunity</strong> (default). Unchanged from how public forms have always worked, so existing forms are unaffected unless you switch this.</li> <li><strong>Match an existing opportunity first, create if none found.</strong> If the submitting contact already has a matching open opportunity, the submission updates that opportunity instead of creating a new one. Only creates a new opportunity if no match is found.</li> <li><strong>Only match an existing opportunity, never create one.</strong> The submission only ever updates a matching opportunity. If no match is found, no opportunity is created (the contact is still found or created as normal).</li> </ul> <p>Matching is always done by email address. Once you turn on either match mode, more options appear:</p> <ul> <li><strong>Also match by phone.</strong> Off by default. When on, a contact matching on phone number counts as a match too, not just email.</li> <li><strong>Restrict matching to a pipeline.</strong> Optional. Leave unset to search opportunities across every pipeline, or pick one pipeline/workflow to only match opportunities that live there.</li> <li><strong>Opportunity status to search.</strong> Defaults to Open only, so a closed-won or closed-lost opportunity from months ago is never matched. Change this if you want closed opportunities included in the search.</li> <li><strong>Tiebreaker.</strong> If a contact has more than one matching opportunity, choose which one wins: most recent, highest value, or oldest.</li> </ul> <p>Example: send a pre-call questionnaire to a lead who already has an opportunity sitting in your pipeline. With <strong>Match an existing opportunity first, create if none found</strong> turned on, their answers write straight onto their existing card instead of spawning a duplicate, right where the rest of the team is already working the deal. No manual merge required.</p> <h2>Generate Link</h2> <p>The <strong>Generate Link</strong> button on a public form's toolbar gives you two options for sharing the form:</p> <ul> <li><strong>Standard Link</strong>: a plain copy of the public form URL. Opens a fresh, empty form for anyone who follows it. Always available, whether or not the form has prefill keys set up.</li> <li><strong>Prefill Link</strong>: mint a URL pre-populated with values you choose. The modal shows the form's prefill-key fields; type a value for each one you want to pre-populate and optionally lock any as read-only so the recipient cannot change it. TrustPager generates a unique URL with those values baked in. If an opportunity is linked in the builder, the prefill keys auto-resolve from it (the broker or referrer's details, the primary contact, and the opportunity), so the link comes pre-filled with no typing required.</li> </ul> <p>Share a Prefill Link however you like: email, SMS, a document link. When the recipient opens it, the pre-filled values are already in the form. The form still creates a new opportunity on submission (it is still a public form), but the person arrives with their details ready to confirm rather than type from scratch.</p> <p>If the form has no prefill keys configured, the Prefill Link tab is empty and only the Standard Link is useful.</p> <h2>Embed the form on your website</h2> <p>Once a form is public, an <strong>Embed</strong> tab appears inside the form builder. Copy the iframe snippet from there and paste it into any page on your site.</p> <p>The snippet is a plain <code>&lt;iframe&gt;</code> tag with a fixed <code>height</code> attribute (for example, <code>height="800"</code>). There is no JavaScript resize script: if your form is long, increase the height value so visitors do not have to scroll inside the frame. The embed's background is transparent by default, so it blends cleanly into whatever colour your page uses.</p> <p>You only need to paste the code once. Restyling the embed later (see Customise below) updates the saved design on the form itself and does not change the snippet.</p> <h2>Customise the look</h2> <p>Open any public form at <a href="https://app.trustpager.com/operations/forms">https://app.trustpager.com/operations/forms</a> and click the <strong>Customise</strong> tab. The studio pre-fills the accent colour from your company's brand colours as a starting point. You can adjust the colour, button style, background, and font weight from there; any setting you leave as-is falls back to your brand or a sensible default.</p> <p>Each form stores its own saved look, so you can style your contact form differently from your quote request form without affecting anything else.</p> <p>You can also ask your connected AI assistant to handle it: something like <em>"Customise my contact form's embed to match my website, dark background, blue accent"</em> will apply the settings for you without opening the studio.</p> <h2>Embed your booking page</h2> <p>Your scheduling page works the same way. Open <a href="https://app.trustpager.com/operations/scheduling">https://app.trustpager.com/operations/scheduling</a>, select an event type, and open its <strong>Embed</strong> tab to copy the iframe snippet. Paste it wherever you'd like clients to book directly from your site.</p> <p>Each event type keeps its own saved embed design; the Customise studio is available there too, pre-filled from your brand colours. As with forms, restyling never changes the snippet.</p> <p>For a full walkthrough of setting up event types, availability, and post-booking automations, see <a href="https://trustpager.com/help-center/set-up-online-booking">https://trustpager.com/help-center/set-up-online-booking</a>.</p> <h2>Security and spam protection</h2> <p>Because public forms do not carry prefilled client data, they use a lighter access model than private forms: there is no token or PIN. Submissions are protected by rate limiting: by default, the form accepts up to 10 submissions per hour from any single source. You can raise this limit in the form's <strong>Public settings</strong> panel if you expect high traffic (for example, a campaign landing page). Duplicate contacts are automatically deduplicated by email address, so your CRM stays clean even with high submission volumes.</p> <blockquote> <strong>Good to know</strong> <ul> <li>The embed code only appears once the form is made public and has a URL slug. Set the slug first, then grab the snippet.</li> <li>The embed URL contains your workspace slug and the form slug. If you change a slug later, update the embedded snippet on your site; the old URL stops resolving.</li> <li>If a form is switched back to private, the embed shows a friendly unavailable message instead of the form.</li> <li>Restyling never changes the snippet. The design is saved on the form, so you paste the code once and tweak the look as many times as you like.</li> <li>Existing opportunity behaviour is set per form. Switching it only affects submissions from that point forward; it never retroactively touches opportunities already created.</li> </ul> </blockquote> <blockquote><strong>Tip:</strong> Public and private are the same template: you can switch a form between modes at any time without rebuilding it. For private (invite-only) forms and broker-client collaboration, see <a href="https://trustpager.com/help-center/build-send-forms">https://trustpager.com/help-center/build-send-forms</a>.</blockquote>
← Back to all tutorials
The last piece

Two ways to
meet FinalPiece.

Talk to Evie right now, or book a real human for a deeper walkthrough. Whichever feels right.

01 · Talk to Evie

Pick up the phone.

Hear her in 10 seconds.

Evie
VOICEMeet Evie
  • RealHer voice passes for human.
  • SmartKnows your prices, hours, and trade.
  • PatientPolite, attentive, never has a bad day.
or
02 · Book a demo

Pencil us in.

60 minutes with a real human · Google Meet · Free.

August 2026
S
M
T
W
T
F
S
Loading…