Professional Form Manager

Merchant Guide

Overview

What is Professional Form Manager?

Professional Form Manager lets you build forms for your storefront, collect the submissions — including file attachments — and deliver each one by email to whoever needs it. Optionally, it turns every submission into a filled PDF: either generated from your form, or filled into a PDF template you provide.

The app lives in two places. The admin, inside Shopify, is where you build forms and review submissions. Your storefront is where visitors fill the form out. When someone submits, the app emails your chosen recipients — with the PDF and any uploaded files — and can send the visitor an automatic confirmation.

Once you install the app, a Get started guide on the home page walks you through the essentials. This guide expands on each of those steps and covers the optional features too.

Quick start

Install Professional Form Manager from the Shopify App Store. As part of installing, Shopify asks you to pick a plan — the Free plan is right there, and every paid plan starts with a 14-day free trial (see Plans & limits). You'll then land on the app's home page, where a short Get started guide walks you through four steps: create a form, choose who gets notified, publish it, and place it on your storefront then send a test. Plan on about ten to fifteen minutes for a basic form; add more time if you set up PDF output or branding. Each step has its own section below.

The Professional Form Manager home page in the Shopify admin, with quick actions and the Get started guide
The app home page — the Get started guide tracks the four steps as you complete them.

Setup

1. Create your first form

Open Forms in the left navigation and find the Create a form section. Professional Form Manager first asks how you want to start:

The Create a form chooser with two cards: Build from scratch, and Start from a PDF
The guided start: build your fields from scratch, or start from a fillable PDF.
  • Build from scratch — design your own fields. You can add an auto-generated PDF later.
  • Start from a PDF — if you already have a fillable PDF (one with type-in form fields) that needs to be completed from each submission, upload it and the app builds a matching form for you, then fills a copy of the PDF on every submission.

Building from scratch. Give the form a Form name (for example, "Request a quote") and click Create form — you'll drop straight into the builder. The form's web address (/apps/forms/{handle}) is generated from the name automatically; you can change it any time in the builder's URL handle field.

Starting from a PDF. Choose Start from a PDF and pick your file under PDF file (max 10 MB). The app checks it before importing and shows a readiness verdict — from "Looks great — this PDF is ready to import" down to "We couldn't find fillable fields in this PDF." Below the verdict it tells you how many fillable fields it found, how many have generic names that will need cleanup, and how many button fields will be skipped. When the PDF has fillable fields, click Import this PDF to build the form.

The PDF-readiness pre-step showing a selected PDF and the verdict: Looks great — this PDF is ready to import, 85 fillable fields across 4 pages
The readiness check runs before anything is imported — here the PDF passes with 85 fillable fields found.

If the verdict isn't ideal and you'd rather DPD prepare a clean, mapping-ready PDF for you, click Get help preparing your PDF.

2. Build your form (fields & logic)

The builder has two tabs: Build — fields and layout, covered here — and Settings — recipients, PDF, and post-submit behaviour, covered in the sections that follow.

The Build tab: form details (title, URL handle, section display) above the first form section and its fields
The Build tab — form details at the top, then your sections, each with its fields.

Form details. At the top of Build, set the Title (shown on the form), an optional Intro text, and the Submit button label. Section display controls the overall layout: Standard — one continuous form, Collapsible sections (accordion), or Stepped wizard with side menu (Pro and Advanced).

Sections and fields. A form is organized into sections. Use + Add section to add one, and + Add field inside a section to add a field. Each field has a Label, an auto-generated Field key (edit it if you need a specific key), and a Type. The available types are Short text, Long text, Email, Phone, Number, Website / URL, Date, Dropdown, Radio buttons, Checkbox (single), Checkboxes (multi-select), Signature (typed name), Notice / static text, and File upload. Under More options you can add a Placeholder and Help text.

For each field you can tick Required; Sensitive / PII (masked in admin), which masks the value in your submissions list until you reveal it; and, for email fields, Use as submitter email, which tells the app where to send the visitor's confirmation.

Choices. For Dropdown, Radio buttons, and multi-select fields, add options under Choices — each has a Label and a Value. You can also select several single checkboxes and Combine into a group as Multi-select or Single choice.

Signatures. A Signature (typed name) field asks the visitor to type their full name as their signature, with a short consent line beneath it that you can edit under Disclaimer (shown under the field). In PDF output, the typed name can fill a signature field on your template.

File uploads. A File upload field takes one or more files — set Max files, and narrow what's allowed by ticking Accepted file types (nothing selected means all allowed types). Every upload is checked against the allowed types and the size limit twice: when the visitor picks the file, and again after it's uploaded.

Conditional reveal. To show a field only when an earlier answer matches, tick Only show conditionally on that field, then set the rule: When field (pick the controlling field), Condition (is exactly or includes), and This value.

A field with Only show conditionally ticked and the rule set: when 'How did you hear about us?' includes 'Publication'
A conditional-reveal rule — this field only appears when the controlling answer includes Publication.

Repeatable sections. Tick Allow multiple entries (repeat this section) to let visitors add more than one copy of a section — handy for line items, attendees, and the like. Set Show at least (how many copies appear by default) and Allow up to (the maximum, up to 20). Each field's key is suffixed per copy, for example name_2.

Reorder and preview. Drag the handle to reorder sections and fields, or use the keyboard arrows and the Move to section control. Click Preview at the top to see how the form will look on your storefront (the spam check and upload controls are hidden in the preview).

The Preview modal rendering the form as the storefront will show it
Preview renders the form as your storefront will — the spam check and upload controls are hidden here.

3. Choose who gets notified

On the Settings tab, the first card is Recipients & delivery — this is where submissions are emailed. Each recipient row has an email, an optional Label, and a type: To, Cc, or Bcc. Add one with + Add recipient. At least one recipient must be a To — the app won't save a set that's only Cc or Bcc.

The Recipients & delivery card with one recipient row (email, label, To) and the + Add recipient button
Recipients & delivery — each row is an email, an optional label, and To / Cc / Bcc.

Your plan sets how many recipients a form can have — the card notes "Your plan allows up to N recipient(s) per form." Once you reach that limit, the + Add recipient button is hidden. If your form collects files and your plan supports it, a File delivery option lets you choose whether small files are attached and large ones linked, or delivery is by download link only.

Customize the notification email (optional). By default the notification email contains a full table of everything submitted. Tick Write a custom notification email to compose your own Subject and Message instead — the Insert field… menu drops any of the form's answers (or a system value) into your text, and it's filled in for each submission. Tick Also include the full table of submitted values below your message to keep the complete record under your custom text. Available on every plan.

The custom notification email editor with a merge-tag subject, the Insert field menu open over the message, and the full-table option ticked
A custom notification email — the Insert field… menu drops any of the form's answers into your subject or message.

4. PDF output (optional)

Still on Settings, the PDF output card generates a PDF for each submission — attached to the notification email and downloadable from the submission. Generate a PDF offers three choices:

The PDF output card with the Generate a PDF menu open: Off, Auto-generate from this form, Fill a PDF template
The three PDF modes. Open Design sits beside them — the same brand kit styles the form and the PDF.
  • Off — no PDF.
  • Auto-generate from this form — every submission is turned into a PDF; you control its layout in Design (see Design & branding). This is the simplest option and works for most forms.
  • Fill a PDF template (advanced) — upload a fillable PDF and match each form field to a field in the PDF; every submission fills a copy and locks it so it can't be edited afterwards. This is the most hands-on option, and it works best when the PDF's fields already have clear names.

Mapping a template (advanced). In template mode, a PDF template card appears. Upload your fillable PDF with Upload template; the card then shows the filename and how many of its fields are mapped. Each form field can fill one PDF field — pick the target from its dropdown (the default is — not filled —). Grouped choice fields fill one checkbox per option, and Auto-map by name matches them up quickly. A list at the bottom shows any PDF fields not filled by anything, so nothing is missed.

The PDF template card: the uploaded template with 85 fields, 71 mapped, and mapping rows including a multi-select filling one checkbox per option
Mapping a template — each form field fills one PDF field; a multi-select ticks one PDF checkbox per option, and Auto-map by name matches them quickly.
The PDF fields not filled by anything list, showing three office-use fields left unmapped
The card ends with any PDF fields nothing fills — here three office-use fields are left blank on purpose.

Matching fields by hand is only worth it when your PDF's fields are well named. Two easier paths get you a better result with less effort:

  • If you're starting from the PDF, use Start from a PDF on the Forms list instead — it builds and lays out a matching form for you (see Create your first form above).
  • If your PDF's fields have generic or missing names, let DPD prepare a clean, ready-to-map version of your document — every submission then fills it exactly. Look for Get help preparing your PDF on the import screen.

5. After submit (message, redirect & auto-reply)

The After submit card on the Settings tab controls what happens once a visitor submits successfully.

Thank-you message. Edit the confirmation text shown in place of the form. Choose Show the thank-you message to leave the visitor on the page, or Show it briefly, then redirect to send them somewhere else — set Redirect to (a full https:// address or a storefront path like /pages/thank-you) and Show message for (seconds).

The After submit card: thank-you message, the When the form is submitted choice, and the auto-reply subject and message with its two checkboxes
After submit — the thank-you message, and the auto-reply emailed back to the submitter.

Auto-reply to submitter (Pro and Advanced). Send a "we got it" email to the address in the field you marked Use as submitter email (see Build your form). Tick Email a confirmation to the person who submitted this form, then write the Subject and Message — plain text; blank lines start a new paragraph. Tick Include a copy of their submission to attach what they sent, along with the generated PDF if PDF output is on. If no field is marked as the submitter email yet, the card points that out so the reply has somewhere to go.

6. Design & branding (optional)

Design is available on Pro and Advanced. Open it with Open Design from the PDF output card, or from a form's Design page. Changes are grouped into three cards:

The Design page: the Brand card (logo, colors, spacing) above the Storefront form card with its live preview
Design — the Brand kit applies everywhere; the Storefront form card styles what visitors see, with a live preview.
  • Brand — your Logo (upload a PNG or JPEG up to 2 MB, then set Placement and Max height), Colors (Headings, Body text, Labels / secondary, Divider rules, Page background), and Spacing density (Compact / Normal / Spacious). The brand kit applies to both the storefront form and the generated PDF.
  • Storefront form — how the form looks to visitors: the form box, fields, submit button, spacing, and confirmation message, with a Live preview.
  • PDF — applies when PDF output is Auto-generate: page size, header and footer, whether to show the title, logo, and page numbers, and per-section layout (grid or table).

Use Save draft only to keep changes without going live, or Save & publish to apply them to new submissions. One note on the logo: after uploading, click Save draft only to keep it — until you save, it shows as "Uploaded — not saved yet."

If you later move to a plan without Design, your styling is paused, not lost: the storefront falls back to the standard look, the Forms list shows a "brand styling paused" notice, and everything returns the moment you're on Pro or Advanced again — no republish needed. PDFs that were already generated keep the look they were created with.

7. Publish and enable your form

The builder's main actions are in the admin title bar at the top, not a save bar at the bottom. Save draft saves your work without changing what's live; Publish saves and makes the current version the one your storefront serves. Because a new form is created disabled, your first Publish also enables it — there's no separate step. After that, the Enable / Disable button toggles whether the form is live, and re-publishing keeps your current choice.

The builder title bar with Save draft, Preview, Disable and Publish, above the status banner reading Live — All changes saved
The title-bar actions and the status banner — this form is Live with all changes saved.

The status badge tells you where the form stands: Live (enabled and published), Enabled · unpublished (enabled, but nothing published yet), Disabled, or Retired. A note beside it flags Unsaved changes or Unpublished changes — Publish to apply. If anything blocks publishing, the reasons are listed under Before publishing:.

Retiring a form is done from the Forms list, not the builder — it takes the form off the storefront and makes it read-only while keeping its submissions, and frees up a form slot.

8. Place the form on your storefront

Publishing makes a form available; you still have to put it somewhere on your storefront. There are two ways to do that.

Link to the form's own page. Every form has its own address at /apps/forms/{handle}, shown in the builder — the Live at link opens it on your store's own domain — and on the Forms list. Link to it from a menu, a button, or any page on your store.

The URL handle field with the Live at link showing the form's /apps/forms/ URL on the store's domain
The form's own address — the Live at link under the URL handle opens it on your store's domain.

Embed it on a page with the theme block. In Online Store → Themes → Customize, open the page where you want the form, click Add block (or Add section), and choose Form embed from the Apps group.

The theme editor with Add block open on the Apps tab, showing the Form embed block from Professional Form Manager
Add block → Apps → Form embed in the theme editor.

In the block's settings, pick your form from the Form dropdown — it lists every published form. If a form is missing there, publish it in the app first. (You can also type the form's URL handle into Form key (manual) instead — pasting the full /apps/forms/… path works too — but the picker wins when both are set.)

The block has optional styling settings (container, text, inputs, button, spacing, confirmation message); anything you leave unset falls back to the house style you set in Design. The styling overrides apply on Pro and Advanced — on Free and Basic the live form keeps its standard look, and the theme editor shows a note saying so. Layout settings — Max width, the side panel, and spacing — work on every plan. If the form is set to redirect after submitting, Redirect after submit (optional) overrides the destination for this placement only.

Show something beside the form (optional). Turn on Show a side panel to place content next to the form — handy for a contact form with a map, store details, or a few highlights. Pick what it shows under Panel content:

  • Google Map — paste a Google Maps embed URL (in Google Maps: Share → Embed a map → copy the src URL from the iframe).
  • Single image + text — one image with a block of text.
  • Image + text cards — a stack of up to six cards, each an icon or an image plus text. Choose an icon from the built-in set (truck, map pin, phone, star, shield, handshake, and more) or upload your own image (an uploaded image replaces the icon for that card). You can set the number of cards, where the text sits (below, above, or overlaid on the image), the icon size and color, and the space between cards.

Choose which side the panel sits on and how wide it is (up to 70% on desktop; the panel stacks below the form on phones), and set the space between the form and panel. To control the overall size, set Max width — it caps and centers the whole block, so on a full-width section it won't stretch edge to edge.

The theme editor with the Form embed block placed on the page and its settings panel open: the Form picker, manual key, title toggle and redirect override
The block placed on a page — pick a published form in the settings panel and the preview mounts it.

This is the step most people miss: a published form that isn't linked or embedded anywhere simply won't appear to your visitors.

The finished form live on a storefront page: the store's navigation, the form title, an open first section and collapsed sections below
The finished form live on the storefront — collapsible sections, rendered in the store's theme.

9. Test your form

Before you rely on a form, send yourself a test submission. Open the form on your storefront — via the link or the embedded block — fill it in, pass the spam check, and submit. Then confirm:

  • the notification email arrives at your recipient(s), with the filled PDF attached if you enabled one;
  • any uploaded files came through, or their download links work;
  • the submitter confirmation arrived, if you set one up.
The delivered notification email: merge-tag subject, custom message, and the full submission table below it
The end of the same email: the filled application PDF attached, its thumbnail showing the branded, completed first page
The delivered email — the custom message and full submission table, with the filled PDF attached at the bottom.

A received submission is also the signal the app uses to auto-complete the last step of the home-page Get started guide, so a successful test both confirms everything is connected end to end and finishes onboarding. The submission itself appears under Submissions — the next section covers what you can do with it.

Day-to-day

Day-to-day: managing submissions

Open Submissions in the left navigation to see everything your forms have collected, newest first. Use the Form filter to narrow to a single form. Each row shows Received, Form, Submitter, Files, and a Spam check pill (Verified or Unverified). Click View to open a submission.

The Submissions list: the Form filter with Export CSV, and a row showing Received, Form, Submitter, Files and a Verified spam-check pill
The Submissions list — filter by form, export CSV, and open any row with View.

On a submission. The Details section shows when it arrived, which form it used, the submitter, the spam-check result, and the recipients it was sent to. Submitted values lists every answer. Fields you marked Sensitive / PII are masked — click Reveal sensitive fields to show them (revealing is recorded in the activity log). Files lists each upload with a Download link; a file past its retention window reads Expired (file purged), and a file rejected by the upload checks shows the reason.

Submitted values with two sensitive fields (EIN and Tax Resale Number) masked as dots with Reveal links
The same values after clicking Reveal on the EIN: its value is shown while the Tax Resale Number stays masked
Sensitive fields arrive masked; Reveal shows one at a time, and every reveal is recorded in the activity log.

Actions. Resend notification re-sends the email to the form's recipients. Download PDF prepares the filled PDF, when the form has PDF output. The store owner can also Delete submission — this removes its files too and can't be undone. If the submission is under a minimum-retention floor (an Advanced feature — see Retention below), the delete is held rather than immediate: the submission is queued and removed when the floor passes, so a legal retention promise can't be broken with one click.

Exporting. On the Submissions list, pick a form in the Form filter, then Export CSV to download that form's submissions. Any staff member with access to the app can export; each export is recorded in the activity log, because it moves personal data out of the app. (Values that look like spreadsheet formulas are prefixed with an apostrophe in the CSV so they open as plain text, not as a formula.)

Activity log (Pro and Advanced). Each submission keeps an Activity log — who viewed, revealed, downloaded, resent, exported, or deleted it, and when — so access to sensitive data stays accountable.

Retention. How long submissions and their files are kept is set per form on the Settings tab under Data & retention — how long records are kept and how long files are kept, each capped by your plan (see Plans & limits); files are purged first, the record stays until its own window ends. On Advanced you can also set a Minimum retention floor with a reason (say, a legal requirement to keep applications for several years): while a submission is under its floor, the automatic cleanup skips it, a GDPR erasure is deferred until the floor passes, and deletes are held the same way.

Reference

Plans & limits

Professional Form Manager has a perpetual Free plan plus three paid tiers — Basic, Pro, and Advanced — with a 14-day free trial on the paid plans, billed monthly or annually through Shopify. The differences come down to scale (how many published forms, recipients, and submissions per month) and a few premium features:

  • Published forms — Free and Basic 1, Pro 10, Advanced 50. This counts live forms; retiring a finished form frees its slot.
  • Recipients per form — Free and Basic 1, Pro 5, Advanced 15.
  • Submissions per month — Free 25, Basic 100, Pro 2,000, Advanced 5,000. These are soft caps: go over and the app still accepts the submission — you never lose customer data — and prompts you to upgrade.
  • "Powered by" branding — shown on Free, removed on every paid plan.
  • Design & branding, the submitter confirmation email, the per-submission activity log, and priority support — Pro and Advanced.
  • File delivery — Free and Basic deliver uploaded files as download links in the email; Pro and Advanced attach smaller files directly (large ones stay links) and add a per-form choice between the two.
  • Retention — uploaded files are kept 7 days on Free and Basic, 90 on Pro, and 365 on Advanced; submission records 7 days on Free, 30 on Basic, 365 on Pro, and for as long as you choose on Advanced. Advanced also adds the minimum-retention floor.
  • PDF output — both auto-generated and template fill — is included on every plan, Free included.

Some things are on in every tier regardless of price: spam protection, file-type and size validation, access gating, sensitive-field masking, and GDPR purge. Those are baseline safety, not upsells.

To change plans, use Manage plan on the home page. Billing is handled by Shopify and appears on your regular Shopify invoice.

Troubleshooting

My form isn't showing on the storefront. Three things all have to be true: the form is published, it's enabled (the status badge reads Live), and it's actually placed somewhere — either linked at /apps/forms/{handle} or added as the Form embed block on a page. The most common cause is the last one — publishing alone doesn't put the form on a page. If you used the embed block, check its Form key matches a published, enabled form.

The notification email didn't arrive. Confirm the form has at least one recipient under Recipients & delivery, and check the recipient's spam folder. You can re-send from the submission with Resend notification — the banner tells you how many recipients it went to, or that none are configured.

The PDF came through blank or missing fields. In Fill a PDF template mode, a PDF field only fills if it's mapped — open the PDF template card and check the PDF fields not filled by anything list. Button fields are skipped by design; a signature field on the PDF can be filled by mapping a Signature (or text) form field to it. If you're fighting a PDF whose fields have generic names, use Start from a PDF (import) instead, or ask DPD to prepare a mapping-ready copy.

A file upload was rejected. Uploads are checked twice — when chosen and again after upload — against an allowed-type list and a size limit, and the rejection reason shows on the submission. If a legitimate type is being blocked, widen Accepted types on that field, or leave it blank to use your plan's default allowlist.

A submission shows "Unverified" under spam check. The spam check failed or couldn't run. Rather than risk silently turning away a real customer, the app errs on the side of delivery — it still records and sends the submission, and simply marks it Unverified so you can decide. These are worth a closer look but aren't necessarily spam.

A visitor was asked to wait before submitting again. To keep bots from flooding your forms, the app limits how many times the same visitor can submit within a minute. Their answers stay on the page — submitting again a moment later goes through. Ordinary use never reaches this limit.

A file shows "Expired (file purged)." Attachments are kept for your plan's retention window and then purged; the submission record stays, but the file is gone. Move to a higher plan for longer file retention.

Data and privacy

Data isolation. Every merchant gets its own dedicated database — your forms, submissions, and audit history are never stored alongside another merchant's data.

What the app stores. The submissions your forms collect (the field values and any uploaded files), your forms and their versions, your recipients and settings, and an audit trail of sensitive-data access. Uploaded files are stored separately and served through expiring download links.

What it doesn't. Form submissions come from your storefront visitors, who are usually anonymous — the app doesn't require or store a Shopify customer account for them. The one linkage it keeps, when present, is the submitter's email address.

GDPR compliance webhooks. The app responds to all three of Shopify's required webhooks:

  • Customer data request — the app gathers every submission matching the customer's email so you can fulfill the request within Shopify's 30-day window.
  • Customer redaction — the app erases submissions matching that email. If a submission is under a statutory minimum-retention floor (an Advanced feature), it is instead restricted — hidden and use-blocked — with deletion queued for the moment the floor expires, rather than deleted early.
  • Shop redaction — fires about 48 hours after you uninstall; the app then deletes your store's entire dataset — database and uploaded files — and clears your billing entitlement and sessions.

Uninstall grace period. Shopify deliberately delays shop redaction by ~48 hours so an accidental uninstall can be recovered by reinstalling within that window. After it passes, deletion is permanent.

Erasing one person's data. Because submissions are first-party data from anonymous visitors, the most direct way to erase a specific person is to delete their submission from its detail page in the app; the Shopify redaction webhook covers the platform-initiated case. Either way, a submission under a minimum-retention floor is held and erased when the floor passes, rather than deleted early.

Policies and help. The app's full privacy policy and terms of service are published on our site. For support or privacy questions, email pfm@digitalprojectdesign.com — Pro and Advanced plans include priority support.