Deftform Changelog

Subscribe to updates
© 2025 Deftform Changelog
Jun 30, 2025

Today we'd like to introduce a couple of smaller additions and changes.

Default workspace form

You can now set a default form per workspace. This feature is only available when using a custom domain. Once your custom domain was fully set up, you can select a default form that is shown when visiting the domain.

You can still use the domain for other forms of a workspace by adding the identifier or slug. This is the previous behavior and will still work even when a default form is selected.

If you don't set a default form, the workspace logo is shown, with the Deftform logo as a fallback. That's how it has always been.

Custom ID parameter for responses

We recently introduced unique IDs. It is now possible to use the parameter ###UNIQUE_ID### anywhere field parameters are allowed. So the ID can then be used in respondent and admin emails. To learn more about these parameters, read this help article.

Read-only for input fields

We added a new option (toggle) to the "Short answer" fields that allows you to set a field to read-only. This should be used in combination with the previously mentioned field parameters, which will allow you to pre-fill fields via URL parameters.

Locale-based error message

There is an option to define a default error message for mandatory fields, though it is somewhat "hidden" in the workspace settings, leading to many of our customers not noticing it. Oddly enough, they have found the "Locale" option, which is just a couple of fields below.

The error message is now determined by the locale set in the workspace settings. By default, it is in English and reads, "This field is required." If the error message value is empty, users will see the translated value based on the selected locale.

Failed webhook attempts

We changed the way failed webhook events are treated. When a webhook fails, meaning we are unable to send the webhook to the specified endpoint, we will send an alert to the workspace owner.

We will attempt to deliver the webhook event three additional times, with a 4-hour interval between each attempt. If, after a total of 12 hours, the endpoint still fails to respond, we will stop sending the webhook.

Jun 24, 2025

We're happy to report that our official Make integration is in the final steps of review. It's a little more complicated than we anticipated, but we're getting there. After some back-and-forth, it may be officially available next week.

That being said, you can already test/use the integration via this link. We hope to publish a dedicated documentation page soon.

A very special thanks goes to Štefan Garbár for creating the app for us. 🙏

Jun 21, 2025

Two small, but useful (at least to those who requested these) improvements were added today.

Unique submission IDs

Each submission now has a public (to admins) unique ID. These IDs start at 1 for each form. Within the form settings, you can optionally set a prefix and/or a suffix. So you could create something like Student-NUMBER-2025, or whatever you need. The ID is auto-incrementing.

For customers using webhooks, the updated response looks like this, including a number (integer) and number_formatted (string, with prefix or suffix) key:

{
"id": "e5b579ae-daf8-4b36-b300-d622df17a0de",
"number": 123,
"number_formatted": "Prefix-123-Suffix",
"form_id": "cc141639-0ff1-4a92-b35d-6b0373db4521",
"form_name": "Webhook Test",
"referrer": null,
"data": [
[
{
"label": "Full name",
"response": "John Doe",
"uuid": "fb39181c-b13f-4e54-8283-0b0eed7f6cca",
"custom_key": "full_name"
},
{
"label": "Email address",
"response": "john@example.com",
"uuid": "a95f6f9e-da14-4049-86b1-78eb9a558dbc",
"custom_key": "email_address"
},
{
"label": "CV",
"response": [
"https://userdata.deftform.com/full-path-to-file/filename-abc.pdf"
],
"uuid": "f3c94dde-85e2-4a56-b814-266988de0000",
"custom_key": null
}
]
]
}

Create PDF endpoint for API

We have added a new API GET endpoint: /response/{UUID}/pdf

This endpoint allows you to generate a PDF of a submission on the fly. The API response looks like this:

{
"success": true,
"data": {
"pdf_url": "ABSOLUTE-URL-TO-PDF-FILE"
}
}

The UUID can be obtained via the /responses/{formId} endpoint. You can read more about our API here: https://help.deftform.com/api/endpoints

Jun 05, 2025

Today we released a couple of smaller additions and improvements and also fixed a couple of bugs.

Pre-selected fields

It is now possible to pre-select options for the field type "Radio (Single Choice)", "Checkbox (Multiple Choice)" and "Dropdown". While adding options to these fields, you can add |* (Pipe and Asterisk) after the value to make it pre-selected.

Checkboxes (Multiple Choice) condition-able

It is now possible to use the Multiple Choice field type for conditions. It is planned to extend the field conditions to add multiple conditions, right now it's only possible to define one condition. Stay tuned for an update on this.

Send PDF summary to respondent

We have introduced a new feature in the form settings that allows you to send a PDF summary to respondents after they submit a form. This option is similar to the existing functionality for sending PDF summaries in admin notifications.

Close form after X responses

We added a new field to the form settings that allows you to set a number, e.g., 100, which essentially determines after how many responses a form should be closed.

Misc

The referrer is now visible in admin notification emails (for embedded forms). We also fixed a few bugs, made a couple of performance improvements and also added a new font "IBM Plex Sans Arabic" to choose from in the form styles. If you have any wishes regarding fonts, feel free to get in touch.

May 31, 2025

Since not every customer is able to use or obtain custom SMTP credentials to send emails from their own email address, we have now added a second method to send emails via custom email addresses.

Truth be told, we received quite a few support tickets ever since launching the custom SMTP feature. Customers kept asking where and how they can obtain SMTP credentials. With the new method, two DNS records must be added to the domain in order to send emails via a custom email address.

From the information we gathered from those customers, this should (hopefully) lower the hurdle to using a custom email address.

If you have previously purchased the "Custom SMTP" add-on, you will have access to the new method, and you may use either one. If you enable both methods, the new "Email Domain" method will take precedence.

Due to this change, the pricing for the updated "Custom SMTP / Email" add-on has increased from EUR 5 to EUR 10. However, it remains a one-time payment and is still valid for all workspaces within an account.

May 28, 2025

This update includes additions, improvements and fixes.

Better script handling

We have completely rebuilt the script handling, making it easier to attach scripts to forms. It is now possible to assign multiple scripts.

Additionally, there is now an option to mark a script to be executed only after a form has been successfully submitted. This feature has been requested by many of our customers, and we're happy to finally offer it.

HTML / Code element

A new field type has been added: HTML / Code. This allows you to add third-party scripts to your forms that are visible to your users when viewing a form.

AI Summary

We introduced a new AI feature called "AI Summary." When AI Summary is enabled, responses will be analyzed by the AI, and a concise summary of the collected data will be generated. This feature is experimental, and we'll improve it over time by tweaking the prompt. The summary is automatically refreshed every six hours if AI Summary remains enabled. It is disabled by default.

Feel free to let us know if the summarized information is helpful to you or not.

Minor improvements

  • It's now possible to use dynamic data from the form for the admin notification subject line.
  • When duplicating or deleting a field, the page is not being fully refreshed anymore and the scroll position will remain after performing an action.
  • Bulk exports are now also possible in Excel format.

We also fixed a few smaller bugs and updated our underlying software to their latest versions.

May 21, 2025

Today, we released a quick fix for the issue of field and form duplication.

Generally, this type of update wouldn’t usually make it to our changelog, but it was reported several times over the last three days, and we want to ensure that people are aware it has been resolved.

What happened?

When duplicating a field with validation options, those validations would be applied to the new field and removed on the original field. Additionally, when duplicating an entire form, validation options were not duplicated.

It should work as expected now. When duplicating a field with validation options, those options now remain on the original field and are duplicated to the new field. Same goes for the form duplication.

Please note that it's currently not possible to duplicate field conditions. This isn't a bug, but still a slight technical hurdle. We'll get to that in another update.

May 12, 2025

Today we released a mostly bugfix related update. But we also added a new feature and improvements.

Passkeys

It is now possible to login via a Passkey. Passkeys allow password-less login by generating a secure key stored in apps like 1Password, macOS password manager, an external security key, and more.

To enable Passkey access, head over to your account settings and enable Passkey login.

Enable option for embedded forms

It is now possible to manually initialize and re-initialize embedded forms. You can read more about this in the dedicated help article.

Bug fixes and improvements 

A couple of bugs have been fixed. Some notable ones are:

  • We fixed an issue that occurred when multiple Stripe price IDs are added and one or more needed to be removed.
  • We also fixed 3 issues related to the AI Assistant where it sometimes got stuck, or threw an error 500.
  • We also made sure that when using Google Sheets, the created at date is in the same timezone that is specified in the workspace settings.

⚠️ Google Sheets location update (possible breaking change)

If you enabled the "Capture location" in the form settings, previously, this information was not added to Google Sheets. We now send these values (City and Country) as well.

But that will likely break existing Sheets because the sorting is now incorrect. If you experience issues, please clear (not delete) your Sheet and run the bulk import once.

We also made some smaller UI and UX improvements that you may or may not notice.

May 02, 2025

Today we released a couple of smaller improvements, additions and fixes.

Improved webhooks

Payloads for webhooks would always include the label of the field, and the given response. This can become somewhat unreliable when changing the label in the form. We now add a UUID to the payload which will always stay the same for a specific field.

Additionally, we added an option to add a custom key which will also be sent in the payload. This value can be set in the field settings.

{
"label": "Full name",
"response": "John Doe",
"uuid": "836b1599-8875-4fa8-a6b4-7cad1ae455f5",
"custom_key": "full_name"
},
{
"label": "Email address",
"response": "john@example.com",
"uuid": "bed048f2-a61d-4fc0-82c9-e9fe52e19420",
"custom_key": "email_address"
}

We also added the referrer. This will only be filled (not null) with embedded forms.

Accordion for Paragraph / Text element

We added an option to make the "Paragraph / Text" element collapsable.

ALTCHA custom label

When using the ALTCHA captcha, people have to click a checkbox to verify.

By default it says "I'm not a robot" and when done "Verified"; you can change these texts now. Head over to the general workspace settings to edit the defaults.

New fonts added

We added 2 new fonts that can be used for custom styles: "Amatic SC" and "Raleway". It is now also possible to set different fonts for the body text and headlines.

Misc and fixes

Embedded forms (iframes) now have the allow="camera; microphone" attribute.

Adobe Reader would have problems with long file URLs breaking into new lines in PDF files. We adjusted the file-naming syntax to use underscores (_) instead of hyphens (-) for spaces. That change should prevent Acrobat Reader from altering the link.

We also fixed an issue with duplicate field identifiers when duplicating forms. This would cause issues when pre-filling fields, because an identifier that is supposed to only exist once, would exist 2 or more times and the functionality would then simply not work.

We also fixed 6 other, smaller bugs that were reported by our customers.

Apr 15, 2025

We released a small but significant (at least to some of our customers) improvement today.

Previously, when embedding Deftform on pages other than your homepage (root domain), the response would not use the complete URL as referrer. Now, we show the full URL of any page where your form is embedded, making it easier to track form locations and improve your site analytics.

Please note that it's not possible to make this work for existing submissions, only for new ones.

Apr 14, 2025

Ever since we launched the "Business" add-on, some of our customers have asked us to introduce a credit system for profile enrichments and email validation. While we think the pricing for the "Business" add-on is fair, we understand that subscriptions are not for everyone.

That is why we caved and are happy to introduce "Profile enrichment credits". It's essentially a way to top-up, via a one-time payment, credits that are used to enrich data and validate email addresses.

Profile enrichments are best suited for business contacts / email addresses and can be enabled within the form settings.

How to purchase

Head over to the "Access / Billing" section and find the "Profile enrichment credits" section. You can choose between 250 and 500 credits for now. We may introduce higher packages with volume discounts at some point, but we'd like to see if people are actually really interested in this.

Apr 11, 2025

This one has been requested quite a few times and we're happy to finally release v1 of our multi-page functionality. You can now split long forms into multiple pages to make it easier for your users to go from page to page instead of being hit by a wall of fields to fill out.

We'd like to emphasize on the v1 here. There are plans to improve certain things and maybe change how pages are created in the form editor. We're looking forward to any kind of feedback from our customers. What do you like, what not, what could be better. Feel free to use the contact option in the lower left corner when logged-in.

Learn more about how to create pages.

Custom affiliate link

We added the option to add an affiliate link to our "Powered by Deftform" backlink. So instead of removing the backlink altogether, consider taking part in our affiliate program to earn 40% per sale.

Head over to the workspace settings and paste your affiliate link.

Additional fonts

3 new fonts were added that can be selected when creating or updating a custom style:

Maintenance updates and bug fixes

To conclude the update, we also updated the underlying software and systems to their latest versions and fixed a couple of bugs that were reported in the last few weeks.

We also silently removed the "Math" captcha a couple of days ago because it was causing errors under certain circumstances and since we were relying on a third-party solution, we were not able to provide a fix. For most people, the ALTCHA solution is the best and most privacy-friendly option and we recommend enabling this instead of Google reCAPTCHA.

For existing forms that had the math captcha enabled, we automatically migrated those to the ALTCHA captcha.