Browse the manual

Create forms and custom fields

Build internal or public forms, keep responses and consent, and add custom fields to your records.

On this page

See a form journey, from the visitor’s fields and receipt to the staff response record.

For: owners who collect information and staff who use business records.

Where: Work > Forms. On a phone, open More, then Forms.

Before you start: sign in with the permissions below. Create a record before adding its custom values.

A form keeps each submission with the fields and labels used at that time. Later edits do not change that submission.

Forms register with an internal brief and a published public inquiry, their audience, field count and status, and the Custom fields selector

Find a form

Use Forms, Widgets and Submissions above the forms list to move between setup and received answers. Widgets shows the types you may publish. Staff with form access can open Forms and Submissions.

Offer managers use Records for saved offers, stamp cards and counter history. Forms returns to form setup and submissions.

Use the search field to find a saved form by name. Each row shows the form's name, audience, number of fields and status.

If you can manage forms, click a row to open its editor. Choose Fill form from the … menu to enter a response. A right-click opens the same menu. People with fill-only access open the response form from the row.

The signed-in response page offers Edit form when you can manage forms. It asks before leaving an unsaved response. Public respondents see no editing controls. If no form matches, click Clear filters to return to the register. The first-use page offers New form when you can create forms.

For a published public form, choose Copy public link from either row menu. The form header also offers Public link. If your browser refuses copying, select the displayed address and copy it.

The read-only demo uses Pulse Studio and includes a published public sample, ten public inquiries and three internal briefs. The inquiries vary in service, budget, currency, date and detail. You can copy the public link and inspect the form. New demo submissions do not save a response. Fresh buyer sample installations leave public forms closed until you publish them.

Check your access

Task Permission and default roles
Create, edit, publish or close a form; define or retire custom fields Manage forms and custom definitions; Owner and Admin
Read an internal form and submit a response Use internal forms; all 4 built-in roles
Create or update a customer through a form Manage customers and Use internal forms; Owner, Admin and Employee
Read custom values Access to that record
Change custom values The record area's ordinary manage permission; people also use their person-edit rules
Change custom values on a document A draft, document access and draft-edit permission
Add an internal file Manage files and access to the target record

Staff without form-management permission see their own response records and submissions. Customer submissions also require current customer access.

Guests cannot use internal forms or change custom values. A public form needs no account.

Build an internal form

  1. Open Forms.
  2. Click New form.
  3. Enter the Name.
  4. Set Who can fill this form to Internal.
  5. Select the Target record.
  6. Use Response record to keep a new response in the business records.
  7. Use Customer to create a customer or update one selected by the submitter. Use Lead to add each submission to the Sales inbox.
  8. Under Fields, click Add field.
  9. Enter its Field label.
  10. Select its Type.
  11. Check Required when the submitter must provide a value.
  12. Open More field options to add Help text when needed.
  13. Repeat for the other fields.
  14. To divide a long form, click Add section below the fields.
  15. Name the new section.
  16. Repeat steps 9 to 12 for its first field.
  17. For Customer or Lead, map the name field.
  18. Click Preview to try the form.
  19. Click Edit to return to the builder.
  20. Click Save.

Add field selects the new label for typing. Add section selects the new section name and opens its first field for editing. For Customer, map email, phone and contact person when needed. For Lead, map contact name, email, phone, website and message when needed, enter the Source tag and choose a Default assignee when one person or team receives every lead. Read Receive leads from a form or a widget.

If Save refuses a value, keep your draft and select its link in the error summary. Pepper opens the field if it is closed and moves focus to the control. Read the error beside it, correct the value, then save again. A general schema error points to the fields as a group.

Pepper derives new field keys from their labels. You do not enter a key.

Keys start with a lowercase letter and use lowercase letters, digits and underscores. Each key has at most 40 characters.

Duplicate labels receive distinct keys. Saved keys stay fixed when you change a label. Choice values also stay fixed when you change their labels.

Sections are optional. A new form starts without a section name or heading. Existing forms keep their named sections.

A form has at most 50 fields and 20 named sections. Labels and section names have at most 120 characters. Help text has at most 500.

Fields without a section appear first in Preview. Each named section then contains its own fields. Its full-width Add field button adds a field to that section. Add section follows the existing sections.

Use the up and down buttons to reorder fields within a section. When a named section exists, use Section to move a field. Choose No section to place it in the plain list.

Open a saved field's heading to edit it. Its arrow shows whether it is open. The reorder and remove buttons sit at the start of the row. Closing a field keeps your unsaved input.

Remove only empty sections. To remove a section that contains fields, first move its fields to No section. Their saved identities stay fixed.

Form builder with plain fields and an optional Project details section, an Add field button in each section and Add section below them

For a form that creates leads, set Source tag and Default assignee together. Leave the assignee empty to send new leads to the unassigned inbox.

Lead form with aligned source and assignee controls

Choose a field type

Type Input and limits
Text Plain text, up to 4,000 characters
Number Exact decimal text; up to 24 integer digits and 6 decimals
Money Exact amount and a configured currency; up to 18 minor-unit digits
Date A real date in years 1000–9999
Time of day Hours and minutes, from 00:00 to 23:59
Single choice One of up to 50 options
Multiple choices Several of up to 50 options
Checkbox Checked or unchecked
File One file in this field; file rules below
Email An email address, up to 254 characters
Phone Up to 40 characters: digits, spaces, +, (), periods and hyphens
Address Street, city, region, postal code and country; up to 250 characters in each part
Consent statement A separate choice; required consent must be checked
Linked record A record the submitter can open; internal forms only

Enter money in the displayed number format. EUR and USD use 2 decimals, JPY uses 0, and BHD uses 3.

For example, EUR 1,250.75, USD 980.50 and BHD 12.345 keep their exact amounts. Different currencies stay separate.

Pepper refuses extra decimals, rounded numbers, exponents and amounts outside the limits. Custom money does not change invoice totals.

Show a field only when needed

  1. Add a Single choice or Checkbox field before the dependent field.
  2. On the dependent field, open More field options.
  3. Select that earlier field under Show when.
  4. Select the value under Equals.
  5. Check the condition in Preview.
  6. Click Save.

Hidden fields make no write and are not required. Changing the controlling choice keeps your draft input until you leave the form.

To remove a condition, open More field options and set Show when to Always visible. You can do this after removing its controlling field.

A condition cannot refer to a later field or section. An untouched checkbox is unchecked. Pepper refuses an order that breaks this rule.

Open or close a public form

Public forms collect new responses. A configured form can also create a board card, or a lead with the Lead target. Visitors cannot update an existing customer, select an internal record or choose an existing file.

  1. Create a form with Public under Who can fill this form.
  2. Use Response record or Lead as its target.
  3. Add a Consent statement when you need a recorded choice.
  4. Write the exact statement in its label.
  5. Click Save.
  6. Click Publish form.
  7. Click Public link in the page header.
  8. Click Copy link.
  9. Send the link by email or message.
  10. Click Open form to check the page.

The public form needs no account. Public link also appears on its staff view while the form is published.

The form and its receipt show your company name and the logo from Settings > Company. Without a logo, or if it cannot load, your name stays visible. The form shows no product slogan.

The small Powered by Pepper link starts on. An Owner or Admin can turn off Show “Powered by Pepper” on public forms under Settings > Company > Logo, then click Save changes. The choice applies to every public form and its receipt. The link opens a separate tab and does not send the form address to the marketing site. Loading the form makes no request to that site.

If copying fails, select and copy the address in the panel. Internal and closed forms have no Public link action.

Public link panel with the copy and open actions

Public enquiry with the business identity above the form

Click Close in the builder to stop submissions. The public address then tells visitors to contact the sender.

Saving an edit closes the address and advances the form version. Check the changed preview, then click Publish form again.

Each public visitor gets a browser challenge. It becomes valid after 2 seconds and expires after 2 hours.

Keep the same browser session. After expiry, copy your input and open the form again.

Public submissions allow 10 requests per minute and 100 per hour from one IP address. Public page and logo requests share a limit of 60 requests per minute.

A refused request shows the reason and keeps the entered fields. A confirmed submission shows Your response has been received. with the same business identity.

If the page cannot confirm receipt, keep it open and contact the sender before submitting again. Pepper does not resend the response by itself.

Replaying the same valid submission creates no duplicate response, file or consent. The public visitor receives no internal record link or submitted-data response.

Widgets publish response, lead and board-card forms at their own address or on an allowed website. Customer-target and linked-record forms cannot be widgets.

A Pepper website's Contact form section requires a public Lead form with an always-visible, required Consent field. Set up website enquiries before selecting the form widget.

A form widget has a separate address. In its widget settings, open Publish & share and choose Page address. Click Open page beside Copy link to open that widget in a new tab.

Submit and read a response

  1. Open an internal form from Forms.
  2. Fill its active fields.
  3. For a customer form, select an existing customer only when you want to update it.
  4. Leave that selection empty to create a customer.
  5. Click Submit form.
  6. Read the kept submission.
  7. Open its linked target record when needed.

Open the Submissions tab to see received answers. Filter by Form to find one form's submissions. Choose a layout with the same view controls used in other registers. Clear filters keeps the chosen layout.

A website submission shows Websites details when you can read its originating website and historical sources. The name, page title and version describe the publication that received the submission.

Click the website name to open its staff editor. Use History to inspect the displayed version. See website enquiry origins for languages, paths and access limits.

With Export data permission, select permitted submissions and choose Export as CSV. The export accepts up to 10,000 submissions and keeps their saved field labels. Customer and item exports do not include form responses.

An internal response record has an Edit action. Each saved update adds a submission and keeps the earlier values.

Customer updates use the ordinary customer action and the submitter's current permission. They never alter an earlier submission.

The form creator receives an inbox update when they still have submission access and enable update notifications.

A consent row keeps the exact statement, accepted state, form version, time and submitter kind. Closing or editing the form keeps this evidence.

Form text is plain text. Entered HTML stays text in the builder, preview and kept response.

Add private files

A form accepts PDF, JPEG, PNG, WebP and plain-text files. Each file is at most 5 MB. One submission accepts at most 5 files.

The content must match an allowed type. The installation's storage quota and PHP upload limits also apply.

Click Choose a file, or drop a file into its field. A file stays private and links to the target record.

When you reopen an internal response or custom-field editor, keep the selected file to save changes to other fields.

Click Remove file to clear the field value. The stored file and earlier submissions stay.

A staff member needs file access and access to a linked record before reading it. Public uploads do not grant public download access.

Archive and export submissions

Open Forms > Submissions. Use Active or Archived to choose the working set. Search and filters apply to that set.

  1. Click Select.
  2. Choose submissions, or click Select all followed by the result count.
  3. Click Archive to remove them from the active list.
  4. Open Archived when you need them again.
  5. Select the submissions and click Restore.

Archive and Restore require Manage forms and custom definitions. Each action accepts up to 100 submissions. Archiving keeps the saved answers, consent, files and linked records. It does not delete them.

Click Export as CSV to download a CSV of the selected submissions. Export requires Export data and access to each submission.

The CSV contains one row per answer. It includes the form, submitted version, date, archive state, field label and saved value. Money and other compound answers retain their exact values as JSON text. File and linked-record fields show only names you can read.

Export accepts up to 10,000 selected submissions. A failed export keeps the selection and shows the reason. Export works in demo mode; Archive and Restore do not save changes there.

Selected submissions with Add to board, Export as CSV, Archive and Restore in the selection bar

Define custom fields

  1. Open Forms.
  2. Open Custom fields beside Online now, then select a record area.
  3. Click Add field.
  4. Enter the Field label. Pepper creates the key.
  5. Select the type and its options.
  6. Check Required when needed. Open More field options for help text and conditions.
  7. Click Save.

The Custom fields page shows the selected record area in the top-right selector. Use it to switch areas. Click Forms in the top bar to return. Save or cancel an edited field before switching areas.

The empty page explains custom fields and offers Add field. Saved fields show their label and type. Required fields have a Required marker.

Custom fields with a clear first step and guidance about saved values

Each registered record type can have up to 50 custom fields. This includes customers, documents, items, purchases, projects, files, people, teams and form records.

A saved custom key and type cannot change. Edit its label, help text, options or condition through Edit.

If a custom-field save refuses a value, select its error-summary link to reach the control. Correct it and save again; your other inputs stay in the editor.

Click Retire field to stop new edits and hide it from default views. Confirm the retirement.

Retirement keeps the definition and stored values. A field used by another field's condition cannot retire until you change that condition.

Change custom values

  1. Create the ordinary record first.
  2. Open its detail or edit page.
  3. Find Custom fields below the ordinary record content.
  4. Click Edit custom fields.
  5. Enter the values.
  6. Click Save.

Customer custom values with an exact EUR budget, service choice and next review date

The shared editor uses the same checks as the record area. Issued document values cannot change.

A record you can read without write permission shows View custom fields. Linked values outside your access show no private identity.

Click Clear record to clear a linked-record field. This keeps the linked record.

If another person saves first, Pepper refuses your stale revision. Your inputs stay on screen.

Copy the inputs before reloading. Review the current values and re-enter only the changes you still want.

Use custom values elsewhere

Views expose active fields as custom_<key>. Choose them in Columns, sorting and filters.

Text uses contains or is. Numbers and money use exact comparisons. Dates, choices, checkboxes and multiple choices use their matching operators.

Files and linked records show permitted identities; they do not offer value filters. Custom fields do not create board lanes or calendar date axes.

Search includes text, phone, email, choices and compound text values inside your existing record access. Retired fields leave default search and views.

Under Merge text, enter a plain-text template such as Budget: {custom.project_budget}. Click Preview.

The result can be Budget: 1250.75 USD. Copy the text where needed. This preview sends no email and changes no issued original.

Agent connections can read scoped definitions, values and views. They can prepare editable input and a browser review link.

A prepared link performs no write. Inspect it and use the ordinary Save, Publish form, Submit form, Retire field, Archive or Restore control.

An archive or restore proposal opens the permitted submission with its current state. You need Manage forms and custom definitions to prepare or complete that action. Opening the link changes nothing. Pepper checks your access again when you confirm.

See the MCP and HTTP reference for inputs, limits and permissions.

Compare the channels that bring requests

In Widgets, find the published widget, open Publish & share, then open Track this link (UTM) to add optional tracking labels. Choose a preset, edit its labels and click Use these labels. Generate a newsletter or WhatsApp link, website code or printed QR asset from that kit. Follow the campaign steps.

Choose Analytics from the widget’s overflow or right-click menu. Review its primary result and compare campaigns or share channels. Open an exact result to read the permitted records and decide what to do next. Page requests and browser loads do not count unique people. Bookings and requests do not prove a payment.

Need help with the product?

Contact support