Major updates and new features in propform.io — sorted chronologically (newest at the top).
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
Existing search criteria can be loaded and edited via a form. Explanatory video
_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
_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")
_getAddressLink & _getEstateLinkCreate a direct deep link to the address or property record in onOffice enterprise — works only for logged-in users.
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”.
All functions of the onOffice API are now available in propform:
📖 File upload fields · Video tutorial
Download fields have been given many new selection criteria:
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
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
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
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
In the account settings under “Statistics”, you can completely disable the following:
This ensures that data is routed exclusively to onOffice.
📖 Data Protection & Data Minimisation
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
In the form settings, you can configure the form so that only specific IP addresses are permitted to access it.
form_start_input and form_abort have been added. GTM can therefore be used to track form abandonment and the start of input.
In addition to Google Tag Manager, the Etracker code can now also be added to forms.
📖 Tracking
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.
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”.
Recipients, CC and BCC now also support onOffice macros — e.g. with fallback:
_ifEmpty(_Sonstige1;"fallback@unternehmen.de";"_Sonstige1")
Fields can now be moved within the form via drag & drop — the old ‘up/down arrow’ logic has been replaced.
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.
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
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.
For number fields, a unit or currency can now be displayed after entered values — e.g. m² or €. Freely definable in the “Further field settings”.
Number fields now use a full stop as the thousands separator. The numeric keypad is automatically displayed on smartphones.
Configurable in the field settings — the browser can suggest saved values (name, email, phone number, etc.).
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>
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.
In addition to “square” and “rounded”, you can now also select the “Pill” design style — all form elements will be fully rounded.
Baskerville and Inter are now available.
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.
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"))
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.
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.