Use this article to diagnose common form problems by symptom. Most issues trace to a cached value, a form field type that can't map the system field, or a form scope setting. If you're building a form for the first time, start with Forms Overview.
Prompt values aren't saving on a form
Prompt values stop saving when a form field overrides its system prompts. Selecting the Override system prompts checkbox makes the prompt list editable, and a space typed after a prompt value can prevent that value from appearing correctly on the form.
Open the field on the form and check the prompt list for trailing spaces after each value.
Slate still stores the submitted data, but the value might not appear on the form response as expected.
Custom fields aren't available to map
Refresh the fields and prompts cache
Slate caches form and import destinations to improve performance, so a field you just created might not be available to map yet. In production, cached values refresh approximately every five minutes. After the cache refreshes, new fields and prompts are available throughout forms and queries.
To make a new field available immediately, select Database → Fields. The description on the sidebar ends with a link that force-refreshes the cache. Select that link. A new browser tab opens showing OK, which confirms that the cache refreshed. If the field uses new prompts, repeat this in Database → Prompts.
For the full cache-refresh procedure, see Refreshing Field and Prompt Caches.
Use a compatible form field type
If refreshing the cache doesn't fix the issue, check the form field type. A Text Box offers only text system fields for mapping, and prompt-driven system fields appear only on form fields that display prompts. From the form palette, choose a prompt-based form field type, such as Check Boxes, Option Buttons, Rating Scale, Select List, or Multi-select List.
Field mapping and merge fields
A form field isn't available as a merge field in form communications
If a form field is unmapped and doesn't have an export key, the field doesn't appear as a merge field option. Add an export key using lowercase letters and no spaces.
Merge field availability also depends on the form scope and security settings. For the full criteria, see Merge Fields on Forms.
Mapped and unmapped fields
Use a mapped field when the response should save to a record field. Use an unmapped field when the response should stay with the form submission instead of updating a record field.
For example, an event form might use an unmapped field to collect a lunch preference. That response can stay with the event registration instead of saving to the person record.
Related contact email addresses
Don't map a related contact email address directly to a relationship system field unless the form also collects the related relationship details that Slate needs. Those details can include relationship type, first name, and last name.
If the form only needs to collect the email address for follow-up or communications, leave the field unmapped and add an export key. You can query on the field and use it as a merge field in mailings.
Map relationship data when the process collects enough information to create or update the relationship record.
Internal Only and Hidden fields
Internal Only: Use this option when an administrative user should enter information that the respondent shouldn't see. Internal-only fields exist only on form responses submitted administratively.
Hidden: Use this option when a field should exist on both public and administrative form responses but shouldn't appear to the respondent. Hidden fields can default to specific values or support calculations.
A form value appears as a GUID
A GUID is a globally unique identifier, such as 0123abcd-45ef-67ab-89cd-0123efabcdef. Slate uses GUIDs to associate fields and values with the correct system objects. Don't modify GUIDs.
Check the field configuration
In the Fields tool, check whether the field uses Store Value instead of Store Prompt ID. Prompt-driven fields should use Store Prompt ID, with only a few exceptions outlined in Customizing Standard Fields and Prompts.
The value still appears as a GUID after fixing the field
After you correct the field configuration, update the field value on the record so the value appears correctly. You can update values individually or in a batch.
Update individual records by selecting Edit and then Save on the tab where the field appears. Confirm that the value appears correctly after saving.
Use an export and import process to update values in a batch. Export the values from the form response with a unique identifier, such as Slate ID. Import the values back into Slate, match on the unique identifier, and update the field. If the field is application-scoped, use an application-scoped unique ID so the import updates the correct application.
Conditional logic and form conditions
How form conditions work
The Edit Conditions interface, on the right side of the Edit Form page, contains Access Conditions and Submission Conditions.
Access Conditions control who can open the form. They're available only when Slate can identify the respondent before the form loads, such as on an application-scoped form or a person-scoped form that requires login.
Submission Conditions control who can submit the form. They're available for every scope except Application Page.
The available filters depend on the form scope.
Filters define who can access or submit the form. The message appears for anyone who doesn't meet the filter criteria.
Merge fields aren't supported in condition messages.
For configuration details and worked examples, see Access and Submission Conditions.
A live form only says "Loading..."
If a form never loads, check each field that uses conditional logic. Conditional logic errors typically appear in red text.
Custom JavaScript or CSS on the form can also stop it from loading. In the form builder, check Edit Scripts / Styles. Institutional branding applied to the page can have the same effect, though that's less common.
Conditional logic can't be added to a field
Save the form properties. Conditional logic options don't appear until you do.
An entire section needs conditional logic
To display an entire section conditionally, group the fields together and place section breaks at the beginning and end of the section. Apply the conditional logic to the first section break only.
Access Conditions aren't available
On the form, open Edit Conditions and confirm that the form is application-scoped, or that the form is person-scoped and requires login. Access Conditions are available only when Slate can identify the respondent before the form loads.
Form layout and formatting
There's no space between columns
Add space between columns by inserting a blank Instructions box with a defined width. For example, use a 48 percent width for the first field, a 4 percent width for the blank Instructions box, and a 48 percent width for the second field.
If the widths don't take effect, custom CSS might be overriding them. Check Edit Scripts / Styles in the form builder. Institutional branding applied to the page can have the same effect, though that's less common.
A form field doesn't offer the expected options
Make sure the form field type supports the options you selected. A prompt-driven system field doesn't appear for mapping on a Text Box. Choose a prompt-based form field type instead, such as Check Boxes, Option Buttons, Rating Scale, Select List, or Multi-select List.
Repeated school fields populate each other automatically
If a form has repeated school fields, add section breaks between each school section. Without section breaks, Slate can treat the schools as the same set of fields and fill both sections automatically.
A rule didn't fire when a form was resubmitted
A Form Submission rule fires once per registrant. If the same registrant submits the form again, or someone submits it on their behalf, the rule doesn't fire again.
To test a rule again, cancel the initial form registration. Then, on the form's overview page, open the Cancelled tab and delete that registration. You can now submit the form again.
Form scopes
A form's scope determines which type of record the response updates, and it also affects whether the respondent must log in. Application-scoped forms always require login. If a form you expected to be public asks for a login, check the scope in Edit Form → Edit Properties.
Updating a form for a new cycle
🔔 Important!
Deleting a field from a form also deletes the responses to that field from every past submission of that form. Copy the form instead of editing the live one.
Copy the current form and make your changes to the copy. Rename the old form to identify the cycle or archive context, and set the old form status to Inactive.