Today we added a minor addition that can be useful when a form is embedded on multiple pages and you want to know where a form was submitted from. We now capture the parent url where the embedded form was included upon form submission.
Please note that we are using document.referrer for this. Most browsers set the default referrer policy (if the site doesn't set another one) to strict-origin-when-cross-origin which means that different origins (so domains) never get to see the full referrer (eg. domain.com/path), but just the domain, without the path.
After going back and forth about implementing either workspaces, or multiple domains and folders, we decided to go with the more familiar workspace logic. So, multiple workspaces are now available! 🎈
By default, each account can create up to 3 workspaces. Each workspace is a separate instance, meaning you can create a different team, have different forms, domain, settings etc.
What about team member permissions?
Team members are not able to delete a workspace, this can only be done by the workspace owner. That's about it when it comes to permissions. In a future update, we may also prevent team members from deleting forms, let us know if you have any input on this.
Can I have more than 3 workspaces?
Absolutely. You can add additional workspaces to your account for a one-time payment of EUR 6 per workspace (plus taxes). There is no limit on how many workspaces can be added.
Updates to dynamic values
We also extended the possibility to pre-fill data on forms. In addition to pre-filling input fields, you can now also use placeholders like ###NAME###, or ###EMAIL### to set pre-defined values in paragraphs. The placeholder can be anything you want, but you must set it like this: ###VALUE###.
As an example, the output for the url domain.com/Ct4Q32?setter=[name=Madison][order_id=12345]&taadm=madison@example.com will look like this:
We also changed the sender name when emails are send to people submitting the form. Before the change it would show "Deftform Public", now it shows the workspace name. So be sure to set a good name within the workspace settings, as the default name is "Personal Workspace".
In a future update you will be able to use your own SMTP settings to send emails.
Updated views count
We also implemented a "fix" to filter out visits from bots when viewing the dashboard and form stats. Just in case you were wondering why the views count got a little less.
You asked, we shipped. You can now have a custom favicon for public forms. Similar to the Open Graph image, this is a workspace wide setting. And yes, multiple workspaces are coming soon.
We also fixed a bug where hidden fields would take up space when viewing a form.
Today we added a small improvement to the default theme: dark mode.
Dark mode will stop working once you apply a custom style to a form. Then your custom style will take over. There are currently no plans to offer light mode / dark mode specific customizations for custom styles.
Today we added a new option for custom styles: Layout.
In addition to the default layout, you can now pick a "split" view, which will look something like this:
Of course, you need to upload a nice picture as well. Or you can just use the space to show your brand color. In a future update, we will add more layouts and pre-defined background images.
New "Ranking" field
We also added a new form field that allows participants to sort options.
As the name may suggest, it is now possible to add a way to sign forms. This works on both mobile (touch) and desktop (mouse). When a signature was submitted, it is stored as image and available in emails and exports as direct links. When viewing responses in the backend, the actual image of the signature is shown.
Attachments in emails (bug fix)
There was also a bug when sending notifications to admins and submitters when the form had one or more uploaded fields. The files were not accessible from within the emails, but only showed an internal identifier.
An absolute link to each file is now visible directly within those emails.
Today we are happy to release the possibility to bulk export responses. So in addition to export single responses, you may now also export all responses of a form, or set a date range to filter a specific timeframe and only export those.
In addition to that, we also made a few smaller improvements to the backend to navigate between forms and responses.
Today we released a small update to webhook notifications. It is now possible to add multiple webhook endpoints and assign them to forms. This works similar to form styles and form scripts.
To assign a webhook endpoint to a specific form, first create it in the "Notifications / Connections" settings and then assign it to the form within the form settings.
Breaking change
Due to a small change in the structure, this is a breaking change and you must update this on the receiving end. Essentially, the whole response is not wrapped in a data array anymore. Please use a service like webhook.site to check the data package and make the change accordingly.
In case you want to pre-fill certain fields from external sources, starting today, you can make use of our custom field identifiers. This can be useful if you're running a survey or anything and want to pre-fill a customer email address, name or any other value to the form.
Whenever you create either an input or hidden field, a unique identifier is generated and can be used to target the field. The relevant part starts at the ? symbol. In our example, zfytq is the identifier for the name field and lkjhw is the identifier for the city field.
When you open the url, both of the fields are filled with the value that comes after the = sign.
It's important to keep in mind that only the first parameter must start with a ? and any following parameters have to start with an & sign. That's just how things work, we did not make this up.
If you need help with this, feel free to get in touch via in-product chat.
As of today, you can duplicate existing forms. This can be quite a time saver if you have a big form you would like to have a copy from as a starting point for a new form. Click, click, done.
We are also planning to introduce templates as a starting point for new forms. If you have a suggestion, feel free to let us know.
Want to add a chat bot or an external analytics tool for your forms? That's totally possible now. Head over to the "Scripts" settings and add any third-party script that you may need. You may then apply any script to your form.
You can only assign one script to one form, so if you want to add multiple scripts to a certain form, make sure to add those within one "Script" instance. Sounds confusing, right? But it really isn't.
Please note that we monitor scripts, so don't try anything shady or we may restrict your account from using custom scripts.
It is now possible to protect forms with a captcha. There are currently two options:
Google reCAPTCHA
Math logic
We initially also wanted to support Cloudflare Turnstile as we use it for our own websites as well, but there is a limitation in place (for the number of domains) which can only be unlocked by subscribing to their Enterprise plan.
Anyway, feel free to add either the reCAPTCHA or math logic (e.g. 27 + 5) captcha to your form(s) directly within the form settings.