Actions10
- Form Actions
- Submission Actions
Form → Add Field
AI-generatedOverview
This node operation allows users to add a new field (question) to an existing Tally.so form. It is useful for dynamically updating forms by inserting various types of fields such as text inputs, dropdowns, checkboxes, ratings, file uploads, and custom field types. Users can specify the field's label, title, placeholder, options (for choice fields), and position within the form. The operation supports dry-run mode to preview changes without applying them, and includes options for backing up the form and optimistic concurrency control to prevent overwrites.
Use Case Examples
- Adding a multiple choice question to a survey form with specific options and marking it as required.
- Inserting a new short text input field at a specific position in a form to collect user feedback.
- Previewing the changes to a form by enabling dry-run before actually updating the form on Tally.so.
Properties
| Name | Meaning |
|---|---|
| Form | Target form to update, selected from available forms. |
| Field Type | Type of field to add, such as Short Text, Dropdown, Multiple Choice, or Custom type. |
| Options (JSON) | JSON array of option labels for choice fields like radio, checkboxes, select, and multi-select. |
| Custom Field Type | Raw Tally block type string used when Field Type is set to Custom. |
| Title | Optional title or question text displayed above the field, creating a separate title block. |
| Label | Label text for the field, required for identification. |
| Placeholder | Placeholder text shown inside the field where supported. |
| Payload (JSON) | Type-specific JSON payload to set additional properties on the field block. |
| Required | Boolean flag to mark the field as required. |
| Position Mode | Where to insert the new field in the form blocks: at the end, at a specific index, before a block, or after a block. |
| Index | Index position to insert the field when Position Mode is set to Index. |
| Reference Block UUID | UUID of the block to insert before or after when Position Mode is Before Block or After Block. |
| Dry-Run / Preview | If enabled, the node does not apply changes but outputs the proposed blocks and a diff preview. |
| Backup Previous Form | If enabled, includes the pre-patch form JSON in the output to allow rollback later. |
| Optimistic Concurrency | If enabled, compares the form's updatedAt timestamp before patching to prevent overwriting changes made by others. |
Output
JSON
updated- Boolean indicating if the form was successfully updated.form- The updated form object returned from Tally.so.backup- The previous form JSON before the update, included if backup is enabled.preview- Boolean indicating if the output is a preview (dry-run).formId- ID of the form being updated.proposedBlocks- The proposed new blocks for the form in a dry-run.diff- A diff object showing changes between the current and proposed form blocks.
Dependencies
- Tally.so API
- An API key credential for Tally.so
Troubleshooting
- Common errors include invalid JSON in Options or Payload fields; ensure JSON is well-formed.
- If the form has changed since it was read, an optimistic concurrency error is thrown; re-run the node to avoid conflicts.
- For choice fields, Options (JSON) must be a non-empty array of strings; otherwise, an error is thrown.
- Field UUID or Label must be correctly specified when updating or deleting fields to avoid 'not found' errors.
Links
- Tally.so Official Website - Official site for Tally.so forms platform.