📰 Updates & News

Major updates and new features in propform.io — sorted chronologically (newest at the top).


Your own letterhead for the PDF generator

The PDF generator can now create your PDFs on your own letterhead: upload it as a PDF or image — propform places it as a background under every page, and the standard propform layout with logo and header is then omitted automatically. With first and continuation sheets (page 1 may look different from the following pages), adjustable page margins (so the content starts e.g. below your letterhead header) and an account-wide letterhead library: upload once, select in all your forms — or store a letterhead for a single form only.

📖 PDF generator: Your own letterhead


PDF generator: propform creates your PDFs — and visitors sign directly in the document

propform can now create PDFs from your form submissions itself — without the onOffice PDF designer and template maintenance. When you activate it, a ready-made proposal is generated from your form content with one click; in the new block editor you adjust structure and content via drag & drop — headings, texts with onOffice macros, field-value lists (including additional onOffice fields of the linked record), images, columns and page breaks. You store your design — logo, fonts, colours, header and footer — once account-wide under “Settings → PDF design” and can override it per form.

Storage runs via the familiar “Create & store file” pipeline: on the address and/or property record, optionally with link field, email attachment, password protection and digital signature — usable in parallel with the existing PDF creation via onOffice templates. Uploaded images appear directly in the PDF, and uploaded PDF files can be appended at the end.

The highlight is the document signature: after submitting, the visitor sees the finished document with their details and signs directly inside it — with finger, stylus or mouse, also on phone and tablet. As long as it is not signed, nothing is processed and nothing is written to onOffice — ideal for brokerage agreements, self-disclosures and handover protocols; after 72 hours without a signature, the submission is automatically discarded. Multiple signatures are also possible — e.g. “Tenant 1” and “Tenant 2” — and for each signature area you define whether it is required. The signed PDF with all embedded signatures is automatically stored in onOffice.

📖 PDF generator


Staff area: forms only for your team

Make individual forms accessible only to your staff members – e.g. property intake, photo uploads or viewing reports. Staff members sign in once via an email link (no password) and can then open all forms shared with them.

Import your onOffice users with one click (users deactivated in onOffice are automatically blocked here as well, checked daily) or add external people like the photographer manually. You control access per form via individual staff members and/or groups. Included in plans with 20 or more active forms.

📖 Staff area


Webhooks: report new submissions to Zapier, n8n, Make & co. instantly

propform can now notify external applications about new submissions in real time: you store a webhook URL — e.g. from the webhook trigger of your Zapier, n8n or Make workflow — and propform automatically sends all submission data, including the linked onOffice records, there as JSON with every form submission. This lets you build automations like "new inquiry → Slack message to the team" or "new submission → row in Google Sheets" without any programming.

Setting it up takes a minute: either under Settings → Webhooks (for all forms or a specific one) or directly in the form editor under "Webhooks (Zapier, n8n, Make …)". There you can also check the status of each webhook at any time — including the last delivery.

Especially handy is the optional "Free text / message" field: there you compose a message with onOffice macros, e.g. New inquiry from _Vorname _Name about _objekttitel → _getEstateLink. propform automatically resolves the macros after submission and includes the finished text in the webhook — your Slack message is already written, without you having to assemble anything in the receiving workflow.

For developers: every delivery is HMAC-signed, and the webhooks can also be managed entirely via the propform API.

📖 Webhooks in the API reference


File upload fields: write an activity after the upload

Upload fields can now automatically write an activity in onOffice after every successful file upload — analogous to the familiar activity on file download. You define action kind, action type and feature per field; the activity is automatically linked to the address and property loaded in the form.

The activity documents all uploaded files of the field with file name, file type, size and SHA-256 hash — additionally signed with HMAC-SHA256, so it cannot be altered afterwards without detection. Optionally, the files are also attached directly to the activity. Especially valuable for signature fields and self-disclosures: you have solid proof of when which file was uploaded.

📖 File upload fields


File fields: extend existing files instead of replacing them — and more flexible upload settings

File fields can now extend instead of replace: If the onOffice file field already contains a file, the new one can be appended to it — PDF and image files are merged into one PDF, other file types are bundled into a ZIP (an existing ZIP is extended). Perfect when customers submit additional documents, e.g. another proof of salary for the tenant self-disclosure — without losing the file that is already there.

The upload settings have become much clearer and are now based on the state of the field: You define separately whether the visitor may upload while the field is still empty, and what applies once a file is already storedchange, extend, both or neither. If both change and extend are allowed, the visitor sees two buttons and decides for themselves. Downloading the stored file is activated separately in the download field settings. Your existing forms were migrated automatically and behave exactly as before.

Extending is also available for document attributes of a property: With the new option “Extend the existing file of this document attribute”, if the attribute is occupied, the new file is merged with the existing one and the combined file receives the attribute — instead of the attribute merely moving to the new file as before.

Also fixed along the way: In certain cases, files downloaded from forms were saved as an empty 0 KB file — downloads of stored files now work reliably again.

📖 File upload fields


Technical notifications: propform actively reports onOffice problems — and you decide who receives them

propform now informs you much more comprehensively when something goes wrong during the transfer to onOffice: whether a field mapped in your form no longer exists in onOffice, a PDF template was renamed or is broken, a link between address and property could not be created, or an email could not be delivered (e.g. due to a typo like “gmail.vom”) — you get a notice via the bell and by email, naming the affected form and giving a concrete recommendation. Previously, such cases often went unnoticed.

Where possible, propform repairs the problem automatically during the transfer: an unknown field is left out, for example, so that the rest of the record still arrives in onOffice — and an email with a broken PDF template is delivered without the attachment instead of being lost entirely.

Also new is the settings page “Notifications”: there you add up to three additional recipients for these technical notices — e.g. your external consultant or tech-savvy colleagues — and decide via checkbox whether you keep receiving the emails yourself. Account and billing emails are still sent only to you.

📖 Technical notifications


New "iFrame" field type: embed external pages & forms

The new "iFrame" field type lets you embed an external website or another propform form directly into your form — for example the identity or credit check from It's My Data, a booking calendar, or another form.

You provide a URL and any parameters (key/value) to append to the address. Macros can be used as values: firstName=_Vorname, for example, automatically passes the first name from the loaded onOffice record to the embedded page. If you paste a ready-made URL with parameters, they are automatically moved into the clear parameter list.

The quick selection prepares "It's My Data" and "another propform form" with a single click. The height can be fixed or automatic, and for embedded propform forms you decide whether their thank-you page opens in the iFrame, the current tab, or a new tab.

📖 iFrame field type


Password protection: secure a form with an entry screen

You can now protect a form with a password: instead of the form, an entry screen appears when it is opened. Only those who enter the correct password see the form and can submit it.

Unlike the existing form key (?key= in the URL), the visitor is actively asked for the password here — the value does not appear in the link. You can also use an onOffice macro as the password, e.g. _plz: the visitor then has to enter the postcode from their own record — a simple identity check. The hint text and error message of the entry screen are freely configurable.

After the correct entry, the form stays unlocked for 2 hours — even when the page is reloaded — and the protection applies both to opening and submitting. You enable it in the form settings under “Access protection”. Existing forms remain unchanged.

📖 Access protection → Password protection


Counter buttons (+/−) for numeric fields

Numeric fields can now optionally show two buttons ( and +) next to the input field. A click increases or decreases the value — handy for entering data on site, for example capturing the number of rooms while walking through the property, without having to remember or type numbers.

The step size of the buttons is freely configurable (default 1) and independent of the field's interval. This means even a decimal field (e.g. rooms) can be counted in clean steps of 1 via the buttons while still remaining a decimal field — so 3.5 is still possible. Any minimum or maximum value you set is respected.

You enable the feature per field in the additional field settings of a numeric field. The buttons automatically adopt the corner style (rounded / square / pill) from your styling settings. Existing forms are unchanged — the buttons are off by default.

📖 Numeric fields & their options


Live search: find a property or address right in the field

You can now turn the "External property number" field (property) or the "Customer number / KdNr" field (address) into a live search field: as the user types, the form suggests matching records from onOffice — one click inserts the number into the field.

Especially handy together with the duplicate check: if you only allow existing property or customer numbers, you save your users the look-up and avoid typos. Optionally, after the selection the entire form can be prefilled with all data of the property or address.

For properties it searches the property number, city, street and owner; for addresses the customer number, name, company and email — and a filter set on the form is respected. Tip: only use it in internal forms, since the suggestions are visible to every visitor.

📖 Live search (property & address)


Load & edit language versions of properties (Multilanguage)

Do you use the onOffice "Multilingual properties" add-on module? Then you can now use the new URL parameter estatelanguage to load a specific language version of a property into your form and edit it:

?estate[Id]=_Uuidestate&estatelanguage=ENG

When the form is opened, the language-dependent free texts (property title, property description, location etc.) are pre-filled from the selected language version — and on submission they are written back into exactly this language version. The main language remains untouched. This also works with AI texts: for example, have an English property description generated and written directly into the English language version.

The value is the three-letter onOffice language code (ENG, FRA, ESP, ITA, …); always use the UUID of the main language. The language version itself must already be created in onOffice.

No risk: If your account doesn't have the Multilanguage module or the requested language version doesn't exist, the form behaves as before and works with the main language — you don't need to change anything on your existing forms.

📖 URL parameters → Language version of a property


Set the allowed file types per upload field

You can now restrict, for each file upload field, which file types may be uploaded. In the file field settings you'll find the new "Allowed file types" area: conveniently pick whole groups (images, PDF, Office documents, spreadsheets, e-mail files, archives, audio, video) or set each extension individually under "Adjust individual file extensions".

The restriction works twice over — the browser's file dialog only offers the allowed types, and on submission it is additionally checked on the server.

Handy e.g. for notary instructions: When the uploaded files are later assembled into a PDF in onOffice, only images can be embedded there. Simply restrict the field to "Images" — this prevents visitors from uploading PDFs that would disrupt the later PDF creation.

If you don't select anything, you automatically keep the previous behaviour: all common file types are allowed. So you don't need to change anything on your existing forms.

📖 Restrict the allowed file types


Adapt cancellation reasons to your onOffice version

When writing an activity, a cancellation reason can be included. In onOffice, these cancellation reasons can be freely adjusted — renamed, deleted or extended. Until now, propform only knew the standard cancellation reasons; if a reason was used that no longer exists in your onOffice version, writing the activity failed.

Now you can maintain your own cancellation reasons: under Settings → onOffice API you'll find a list pre-filled with the onOffice standard values. You can add, rename or remove entries — most easily via copy/paste straight from onOffice. This way the values match your onOffice version exactly, and activities with a cancellation reason are written reliably. (Each entry can be up to 40 characters long — an onOffice requirement.)

If you don't change anything, the previous standard cancellation reasons remain in place automatically — so there's nothing to do if your onOffice version is unchanged.

📖 Create an onOffice Activity


Your entries are no longer lost when going back

When a form can't be submitted — for example because a required field is missing or the duplicate check kicks in — and the visitor goes back in the browser, all entries already made are now preserved. This no longer applies only to plain text fields, but also to:

  • Selection fields (single and multiselect)
  • Integer and decimal fields
  • Signatures

In addition, the error page now has a new "Back" button that leads straight back into the filled-in form — no need to type everything again.

This also works in multi-step forms and together with Conditions & Rules: fields that are shown and hidden are restored correctly. The entries are stored exclusively locally in the visitor's browser (without cookies) and are gone at the latest when the tab is closed.

📖 Conditions & Rules


Signature field: no extra click

Signing is now simpler: the previous intermediate step "Use signature" is gone. As soon as the visitor has signed, the signature is applied automatically — a green confirmation "✓ Signature accepted" shows this. The delete icon lets you discard the signature and start over at any time.

Also improved:

  • Touch operation on smartphone and tablet — the line now starts cleanly, without the initial "dot with a gap".
  • If a signature field is required and still empty, a clear note "Please sign." appears on submit.

The change applies automatically to all existing forms — you don't need to change anything in how your forms are built.

📖 Signature field


Appointments, Search Criteria & Calendar Loop

Edit appointments — incl. appointment macros & appointment loop

Appointments can not only be displayed and created via a form, but also specifically edited/updated (subject, note, status, times). Particularly useful in combination with the onOffice appointment macros and the new recursive appointment loop:

_bCalendarRek_(...) ... _eCalendarRek_

Appointments can be listed dynamically and processed further via form logic — e.g. book a slot, deactivate a slot, change status. The new macro _pfGetCalendarUUID provides an encrypted calendar UUID to securely access appointments via a link or parameter.

📖 propform macros — Calendar loop

Search criteria can now be edited

Existing search criteria can be loaded and edited via a form. Explanatory video

Search criteria loop & individual values

_bScRek_(...) ... _eScRek_ allows you to iterate through all search criteria for an address. Optionally with a filter, e.g. _bScRek_("status:1") for active search criteria only.

Also: output individual search criteria values using _pfGetSearchCriteriaField(feldname).

📖 Overview of all propform macros


New macros

_pfButton() & _pfLink()

Fully styled buttons and hyperlinks directly in description and text fields. Examples:

_pfButton("Weiter zum Formular", "https://example.com", "rounded-pill", "_blank")
_pfLink("https://example.com", "Hier klicken", "_blank")

Deep link macros: _getAddressLink & _getEstateLink

Create a direct deep link to the address or property record in onOffice enterprise — works only for logged-in users.

📖 Complete macro overview


ChatGPT models updated

When a form performs ChatGPT operations, you can now also select the newer models GPT-5.1, GPT-4.1, GPT-4.1-mini — in the form settings under “Generate text (ChatGPT)” → “Fine-tuning”.


File upload — significantly expanded

All functions of the onOffice API are now available in propform:

  • Dynamic renaming before upload (macros enabled)
  • File type selection and document properties
  • Internal or external tabs
  • Merge multiple files into a ZIP or PDF before uploading to onOffice (useful for building authority photos)
  • HEIC conversion (iPhone photos are automatically converted to JPEG)
  • Watermark on files

📖 File upload fields · Video tutorial


File download — new selectors

Download fields have been given many new selection criteria:

  • “All files containing the following string in the document attribute…”
  • Last/first file with file type X
  • Last/first file with name or title containing X

In addition, download tracking is now available as an activity in onOffice. This also enables digital data/download rooms for customers via a form.

📖 File download fields · Video tutorial


AI voice input

Forms can now be filled in using voice/AI. Prerequisite: OpenAI Platform API key stored in the account. Can be enabled in the form settings under ‘Further settings’. A microphone button will then appear at the bottom right of the form.

📖 AI voice input · Video example


Conditions & Rules

In the form settings under the “Conditions & Rules” tab, you can dynamically show and hide fields depending on the values of other fields.

📖 Conditions & Rules · Explanatory video


Write values

With “Write values”, additional fields can be populated in the address or property section after the form is submitted — including using macros. Example: Write _pfGetSearchCriteriaInformation into an address field to use it later in an onOffice PDF template.

📖 Write values · Video


Statistics opt-out for data protection

In the account settings under “Statistics”, you can completely disable the following:

  • submitted form data is stored in encrypted form in the propform database
  • IP addresses of form requests are recorded

This ensures that data is routed exclusively to onOffice.

📖 Data Protection & Data Minimisation


Security Features

Form password via URL parameter key=

The URL parameter ?key=... can be used to password-protect a form — also in combination with macros, for example to create one-time links. Video explanation

IP whitelist for forms

In the form settings, you can configure the form so that only specific IP addresses are permitted to access it.

📖 Access protection


Advanced tracking

Google Tag Manager — new push events

form_start_input and form_abort have been added. GTM can therefore be used to track form abandonment and the start of input.

Etracker

In addition to Google Tag Manager, the Etracker code can now also be added to forms.

📖 Tracking


Email improvements

Recipient logic revised

Previously, when matching recipients to onOffice addresses where the email was only a secondary or tertiary address, the email was sent to the primary address of the record. Now, propform first checks whether the email actually exists as the primary address — and if not, automatically creates a new address record with this email.

User field recipients

Individually created user fields in the address or property can now be selected as recipients of emails — e.g. “Team Leader” or “In-house Responsibility”.

Macro resolution in To, CC, BCC

Recipients, CC and BCC now also support onOffice macros — e.g. with fallback:

_ifEmpty(_Sonstige1;"fallback@unternehmen.de";"_Sonstige1")

📖 Email in propform


Fields & Input Behaviour

Drag & Drop

Fields can now be moved within the form via drag & drop — the old ‘up/down arrow’ logic has been replaced.

Single-select search

For single-select fields with many options (e.g. user fields), a search function can be enabled — the visitor types a search term and matching options are suggested.

Multi-select improvements

  • Hierarchy display (parent/child elements)
  • Configurable dropdown behaviour (opens on click or only when typing, closes after selection or remains open)
  • Special “Alternative” mode for “Regional Supplement” — child elements are not displayed directly in the form, but are automatically activated upon saving
  • Custom labels for single/multiselect key values (e.g. for multilingual forms: “ja”→“yes”, “nein”→“no”)

Range search criteria fields

Search criteria fields with From and To values can now be populated separately via URL parameters — using a double underscore:

?searchcriteria[wohnflaeche__von]=50&searchcriteria[wohnflaeche__bis]=80

Decimal fields with up to 4 decimal places

Set Intervall = 0,0001 in the field settings. Please note: In onOffice, the field must also be set to “Decimal with 4 decimal places” in the administration.

Unit/currency in the field

For number fields, a unit or currency can now be displayed after entered values — e.g. or . Freely definable in the “Further field settings”.

Thousands separator + numeric keypad

Number fields now use a full stop as the thousands separator. The numeric keypad is automatically displayed on smartphones.

Browser autocomplete

Configurable in the field settings — the browser can suggest saved values (name, email, phone number, etc.).

📖 Fields — all options


Descriptions — iFrames & macros

iFrames can now be embedded from any source via the description field — e.g. Timum appointment booking:

<iframe src="https://www.timum.de/[providerID]/_Id@[providerID]@onofficeEstate/embedded_map" width="100%" height="400px" frameborder="0"></iframe>

Duplicate check can be tightened up

In the case of the “Duplicate check on object_no_external”, you can now select that only existing object numbers are permitted. This prevents “ghost properties” caused by typing errors.


“Pill” design style

In addition to “square” and “rounded”, you can now also select the “Pill” design style — all form elements will be fully rounded.


Fonts added

Baskerville and Inter are now available.


Create activity on form call

Previously, you could only define an activity for form submission. Now, an activity can also be created on form call — e.g. to track who has accessed a form.


Macro resolution on thank-you page URL

You can now dynamically decide which thank-you page to redirect to based on field values in the address/property:

_ifEmpty(_Sonstige1;"www.dankeseite1.de";"www.dankeseite2.de")

or using a single-select value:

_calculate(IF([ind_2418_Feld_adressen51]="ind_Schl_4605";"https://link-1.de";"https://link-2.de"))

Speed upgrade

The onOffice field configuration is now retrieved in the background. Using the builder and loading forms is significantly faster. Fields are now only auto-updated when the form overview is called up and once a day in the morning — no longer every time the field settings are accessed.


Group Copy Function

Form groups can be defined in the account settings. In the form settings, a form can be assigned to a group. This allows you to create a copy link for the entire form group — and copy multiple forms between propform accounts at once.


👉 Back to overview