Frequently Asked Questions & Troubleshooting

Here we’ve compiled the most common questions from support emails and customer calls. If your question isn’t listed here, please contact us: hello@propform.io.


🔌 onOffice integration

My form isn’t saving data to onOffice

In 9 out of 10 cases, this is due to the API permissions of the onOffice user — the ‘Private’ checkbox ticked on the address, missing group assignment in the Groups module, restricted record permissions on templates, etc.

Full guide & solutions

Fields are not displayed in the propform editor

Most common causes:

  • Field is not activated in onOffice Administration → activate in onOffice under Tools → Settings → Administration
  • For the Search Criteria module: The field must be explicitly defined as a search criteria field in onOffice
  • The API user does not have read access to the module

> The field list is updated once a day in the morning and when the form overview is opened. If you have just created a new field in onOffice, reload the form overview in propform.

Marketplace vs. classic API user — what is the difference?

  • Marketplace: One-click setup via the onOffice Marketplace; propform communicates via a Marketplace token. Rights are predefined by the Marketplace configuration.
  • Classic API user: You manually create an API user in onOffice, assign permissions yourself in detail, and store the token and secret in propform. More control, but slightly more setup.

More on this: Connect to onOffice.


📧 Email

Confirmation email not received

Most common causes:

  • Email ends up in Spam — check your spam folder
  • Uploaded files total more than 25 MB — in which case they will not be attached (but the email arrives without the attachment)
  • Your email provider’s firewall/spam filter is blocking automatically sent emails

onOffice email is sent to the wrong address

This typically occurs if the recipient’s email address exists in onOffice only as a secondary or tertiary address. In this case, propform automatically creates a new address record with this email address so that the email reaches the correct person — see the description in the chapter Email Notification.


📁 File Upload & Download

How can I make files available for download from onOffice for the form user?

Via download fields — configurable by document attribute, file pattern, PDF preview on-the-fly or fixed URL. Multiple files are automatically bundled into a ZIP file. Full instructions: Download fields.

File upload fails / File does not arrive in onOffice

Most common causes:

  • File size exceeds 128 MB per individual file (server-side nginx limit)
  • API user does not have write permissions for files in the relevant module
  • Document property is disabled in onOffice or does not exist
  • For the Estate module: API user may require the “Marketing (website)” permission if files are to be published on a website upon activation

HEIC images from the iPhone are not displayed

propform automatically converts iPhone HEIC images to JPEG before they are uploaded to onOffice — you don’t need to do anything.

How can I merge multiple files into a ZIP or PDF file?

In the field settings of the file upload field, you’ll find the option “Merge multiple files into …” — select ZIP or PDF. Handy, for example, for multiple photos from the planning office.

> For PDF bundling: Only images and PDF files work. Other file types would cause the PDF build to fail.


🌐 Form call & URL parameters

Pre-filling via UUID does not work

Most common causes:

  • The “uuid” field is not enabled in the onOffice administration (Addresses module under Master Data, Properties module under Technical Details)
  • “Pre-filling with UUIDs” is not enabled in the form settings
  • Incorrect URL parameter — Address: address[ID]=... (capital I, capital D), Property: estate[Id]=... (capital I, lowercase d)
  • API user does not have read access to the record

“Address record with this UUID not found”

Four possible causes: (1) Record has been deleted, (2) API user lacks read permissions, (3) Sharing/record permissions are too restrictive, (4) Record is marked as “Private”. Full diagnosis at Address record UUID not found.

Form says “Session expired” or “Token invalid”

CSRF token expires after 24 hours. Solution: Reload the form and repeat the entries. More information at Form has expired.

How can I dynamically populate URL parameters in an onOffice email template?

Use the relevant UUID macro:

https://propform.io/form/dein-slug?address[ID]=_Uuidaddress&estate[Id]=_Uuidestate

_Uuidaddress and _Uuidestate are automatically replaced by onOffice with the UUIDs of the linked records when the email is sent.

My form won’t open / “Expiry date passed”

If an expiry date is required in the form settings, the form URL must contain ?exp=YYYY-MM-DD HH:MM:SS — and the date must be in the future. You can set the expiry date statically or have it calculated dynamically using an onOffice formula (e.g. “14 days from submission”). More under Account → Expiry date.


🎨 Styling & Design

My preferred font isn’t in the selection

We host Google Fonts locally for data protection reasons (no connection to Google when the form is accessed). If your preferred font is missing, please drop us a quick line at hello@propform.io — we’ll add it for you.

How do I seamlessly integrate the form into my website?

Use the iFrame embedding option in the form settings. Tips for seamless integration:

  • Set the background to transparent / white
  • Match the accent colour to your website’s CI
  • Choose a design style that suits your website’s look (square / rounded / pill)
  • Remove the logo if your site already displays one

My form is not displaying correctly

Most common cause: iFrame width/height are incorrect or your website’s parent container is too narrow. More under Form is displayed incorrectly.


📄 PDF & Templates

Values are not being transferred to the PDF

Most common cause: Incorrect macros (address macros are in CamelCase, property macros are in lower case) or address fields are being addressed directly instead of via the pre-macro _Kaeufer / _Eigent. More at Values are not transferred to the PDF.


🛡️ Security

How is my form protected against spam bots?

By default, automatically via a hidden honeypot field plus CSRF token verification. More at Spam protection & bot defence.


🌍 Multilingualism

Can I use my form in multiple languages?

Currently only via a manually translated copy at a separate URL — automatic multilingual support is on the roadmap. More at Multilingual forms.


📊 Tracking in iFrames

Conversion tracking does not work in embedded forms

Tracking scripts should ideally be placed directly within the form (Form settings → Tracking), not just on the embedding page. More at Tracking in embedded forms.


👥 Multiple records in a single form

How can I link multiple buyers / owners using a single form?

Using two interacting forms (Overview + Edit) plus recursive address loop macros (_buyerbrek_1_ / _ownerbrek_1_). Full instructions with code examples at Linking multiple records or a short FAQ at Linking multiple buyers / owners.


🛡️ Form protection

How can I restrict which records a public form is allowed to edit?

Via Filters per form — propform only queries records that are in the onOffice filter. Protection against UUID manipulation. More at Filters per form.

How can I protect a form with a password, IP whitelist or token?

Overview of all available protection mechanisms (honeypot, IP whitelist, form password, form key via URL, expiry date, UUID requirement) under Form protection & access control.

How do I prevent a form from being accessed without a record UUID?

Using the form setting “Property and/or address required for form calls” — prevents URL tampering and the accidental creation of empty records. Important for download and edit forms. More under Form Protection → UUID Requirement.


🧮 Calculations, conditions & special field types

Can I have fields calculated automatically (totals, commissions)?

Yes — in the “Conditions and Rules” tab using the “Calculate value” action and pipe syntax: {{multiply:field:X|field:Y|/100}}. Full instructions with examples under Conditions & Rules → Calculations between fields.

How can I show/hide fields, make fields mandatory dynamically or change labels?

Via the Conditions and Rules Editor in the form settings — GUI-based, without field IDs from DevTools. More at Conditions & Rules.

Can I use a range slider instead of an input field?

Yes — numeric fields can be configured as a special ‘Range Slider’ field (Min/Max/Interval + labels). More under Calculated Fields & Special Field Types.


🔀 Auto-Submit & Conditional Routing

Can clicking an email link change a value in onOffice without displaying the form?

Yes — Auto-Submit forms redirect directly upon being called. Plus: The thank-you page URL can be directed to different destinations via _calculate(IF(...)) depending on the field value. More under Auto-Submit & Conditional Routing.


🔍 Search Profiles

How can I let buyers/tenants manage their own search profiles?

Via a self-service setup: an overview email with a loop using _bScRek_("status:1") + one-click buttons (_pfButton) to editing and deactivation forms. Full pattern under Edit / deactivate search profiles.

My new search criteria field isn’t appearing in propform

Most common cause: the field was created in onOffice within an alternative search criteria template, but the API only reads the default template. Solution: Transfer the field to the default template. More at Search profiles → Pitfalls.

Should I use radius search or regional add-on?

Depends on your setup — radius is simpler, regional add-on is more granular. Compare under Search profiles → Geographical search.


🏘️ onOffice Property Listing Best Practices

Should I reuse the same property listing for a re-letting?

No — it’s better to duplicate it and clear the old transaction data (signatures, documents, notes) in the new listing. More at Duplicating a property for re-marketing.

My formula field in onOffice is empty in old records

Formulas are only calculated when saving. Workaround: bulk update without changes. More at Recalculate formula fields.


🤖 AI functions

How can I use voice input or auto-fill for my form?

Add your OpenAI API key in your account settings → enable it in the form settings. Full instructions including setup, costs and privacy information at AI features.

How much does it cost to use the AI features?

Very affordable — typically under $1 for 100 voice inputs or auto-fills. You pay OpenAI directly based on usage. Details under AI Features → Costs.


🎨 Design & Branding

How do I customise the logo, colours and font to match my corporate design?

Go to Account settings → Default form styling. More information at Design & Branding.

My preferred font isn’t in the selection

Drop us a quick message with the font name — for fonts available via Google Fonts, we’ll integrate them free of charge within 1–2 working days.


💰 Account & Billing

How do I change my plan?

  • Via Marketplace: In the onOffice Marketplace overview → propform.io → Manage subscription
  • Classic plan (Paddle): In the propform.io account settings → Subscription

I have a Marketplace account — can I also use propform-account-specific features?

Yes, all features are available regardless of the billing method. Marketplace only affects authentication and the subscription model.


🆘 My issue isn’t listed here

Please contact us with as many details as possible:

  • Form URL (or form ID)
  • Date & time of the incident
  • What did you expect to happen, and what actually happened?
  • If there was an error message: screenshot

📧 hello@propform.io 📞 0163 / 64 18 132