List Forms
Lists all available forms
How It Works
- A GET request is sent to the Robomotion Forms API at
/v1/forms.listendpoint - The API retrieves all forms accessible to the current workspace
- The forms array is extracted from the API response
- Each form object in the array contains metadata like ID, name, description, queue name, creation date, etc.
- The forms list is set in the configured output variable
- The message passes through with the complete forms list
Requirements
- User must have permissions to list forms in the workspace
- An active API connection to Robomotion Forms service
Error Handling
| Error Code | Description | Cause |
|---|---|---|
Core.Forms.List.ErrOnCreate | Config parse error | Invalid node configuration during creation |
Core.Forms.List.ErrOnMessage | Message parse error | Invalid message format received |
Core.Forms.List.Err (API error) | List retrieval failed | API request failed or permissions error |
Core.Forms.List.Err (Form fetch error) | Forms not fetched | API response missing "forms" field |
Common Properties
- Name - The custom name of the node.
- Color - The custom color of the node.
- Delay Before (sec) - Waits in seconds before executing the node.
- Delay After (sec) - Waits in seconds after executing node.
- Continue On Error - Automation will continue regardless of any error. The default value is false.
info
If ContinueOnError property is true, no error is caught when the project is executed even if Catch node is used.
Output
- Forms - List of all available forms. Each form object contains ID, name, description, queue name, and metadata.
Usage Examples
Example 1: Display All Forms
List Forms → msg.allForms
└─ For Each (msg.allForms)
├─ Debug (form.name, form.id, form.queueName)
│ └─ [Return to For Each]
└─ Complete
Retrieve and display information about all forms in the workspace.
Example 2: Find Form by Name
List Forms → msg.allForms
└─ Function
├─ Code: msg.targetForm = msg.allForms.find(f => f.name === "Contact Form")
└─ If (msg.targetForm)
└─ Create Form Instance (msg.targetForm.id)
└─ Else: Log "Form not found"
Search for a specific form by name from the list.
Example 3: Delete Old Forms
List Forms → msg.allForms
└─ Function (filter forms older than 90 days)
└─ For Each (msg.oldForms)
├─ Delete Form (form.id)
│ └─ Log "Deleted: " + form.name
│ └─ [Return to For Each]
└─ Complete
List all forms and delete those created more than 90 days ago.
Usage Notes
- The output is an array of form objects, even if only one or zero forms exist
- Each form object includes complete metadata but not instance-level data
- Use this node to discover Form IDs when you don't have them stored
- The list includes all forms in the workspace regardless of who created them
- Forms are not sorted by default - sort them in a Function node if needed
Tips
- Cache the forms list in a global variable to avoid repeated API calls
- Use Function nodes to filter or search through the forms array
- Combine with For Each to process all forms in batch operations
- Check the array length to determine if any forms exist before processing
- Store frequently-used Form IDs in variables or databases to avoid listing
- Use the form metadata to implement form management dashboards
- Filter by queue name to find forms associated with specific workflows
Related Nodes
- Create Form - Add new forms to the list
- Delete Form - Remove forms from the workspace
- Update Form - Modify existing forms
- Get Form Instance - Retrieve specific form data