Professional Form Manager
Overview
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.
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.
Setup
Open Forms in the left navigation and find the Create a form section. Professional Form Manager first asks how you want to start:
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.
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.
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.
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.
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).
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.
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.
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:
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.
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:
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).
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.
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:
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.
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 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.
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.
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.
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:
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.
This is the step most people miss: a published form that isn't linked or embedded anywhere simply won't appear to your visitors.
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:
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
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.
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.
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
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:
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.
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 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:
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.