Create Form Instance
Creates a new form instance based on a given form ID.
How It Works
- The node validates that Form ID is provided and not empty
- The node checks that a valid Form Instance Type (Disposable or Permanent) is selected
- A request is sent to the Robomotion Forms API at
/v1/forms.create.instanceendpoint - The API creates a new form instance with a unique instance ID
- The instance ID is converted to a short encoded ID for the URL
- A publicly accessible form URL is generated using the format:
{FormsURL}/#/{shortID} - Both the Form Instance ID and Form URL are set in the output variables
- The message passes through with the new form instance information
Requirements
- A valid Form ID must be provided (from Create Form node output)
- Form Instance Type must be selected (cannot be "_" or empty)
- The form referenced by Form ID must exist in the workspace
Error Handling
| Error Code | Description | Cause |
|---|---|---|
Core.Forms.CreateInstance.ErrOnCreate | Config parse error | Invalid node configuration during creation |
Core.Forms.CreateInstance.ErrOnMessage | Message parse error | Invalid message format received |
Core.Forms.CreateInstance.EmptyField (Form ID) | Form ID empty | Form ID input is blank or missing |
Core.Forms.CreateInstance.EmptyField (Type) | Type not selected | Form Instance Type is "_" or empty |
Core.Forms.CreateInstance.Err | Instance creation failed | API request failed, GUID conversion failed, or API returned error |
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.
Input
- Form ID - The ID of the form to use for creating a new instance. Form ID is the output of the Create Form node.
Output
- Form Instance ID - The ID of the newly created form instance.
- Form URL - The URL at which the new form instance can be accessed.
Options
- Type - Determines if the created form instance is disposable or permanent.
- Disposable - Once these forms are submitted, they cannot be accessed again.
- Permanent - These forms are enduring and can be submitted multiple times.
Usage Examples
Example 1: Create One-Time Registration Link
Create Form → msg.registrationFormID
└─ Create Form Instance
├─ Form ID: msg.registrationFormID
├─ Type: Disposable
└─ Outputs:
├─ Form Instance ID: msg.instanceID
└─ Form URL: msg.registrationURL
└─ Send Email
├─ To: customer@example.com
├─ Subject: "Complete Your Registration"
└─ Body: "Please fill out the form at: {{registrationURL}}"
Create a disposable form link that can only be used once for secure registration.
Example 2: Generate Recurring Survey Links
For Each (customers)
├─ Create Form Instance
│ ├─ Form ID: "survey-form-123"
│ ├─ Type: Permanent
│ └─ Outputs:
│ ├─ Instance ID: msg.surveyInstanceID
│ └─ URL: msg.surveyURL
│ └─ Save to Database (customer.id, msg.surveyURL, msg.surveyInstanceID)
│ └─ [Return to For Each]
└─ Complete
Create unique permanent survey links for each customer that can be reused.
Example 3: Conditional Form Type Based on User Role
Get User Info → msg.userRole
└─ Switch
├─ If (msg.userRole === "vip"):
│ └─ Create Form Instance (Type: Permanent) → msg.formURL
└─ Else:
└─ Create Form Instance (Type: Disposable) → msg.formURL
Create different form types based on business logic.
Usage Notes
- Disposable forms are automatically invalidated after the first submission - ideal for one-time use cases
- Permanent forms remain accessible and can be submitted multiple times - useful for recurring data collection
- The Form URL uses a shortened encoded ID for cleaner, shareable links
- Each form instance has a unique ID, even when created from the same Form ID
- Form instances inherit all properties (fields, validation, theme) from the parent form
- The Form URL is publicly accessible - no authentication required to view or submit
- Disposable forms cannot be accessed again after submission (returns error page)
Tips
- Use Disposable instances for sensitive operations like password resets or one-time approvals
- Use Permanent instances for public forms like contact forms or surveys
- Store Form Instance IDs in a database to track which customers received which forms
- Include the Form URL in notification emails or SMS for easy access
- Monitor form submissions using the Get Form Instance node with the Instance ID
- For multi-step processes, create multiple disposable instances in sequence
- Test form URLs immediately after creation to ensure proper configuration
Related Nodes
- Create Form - Create the parent form template
- Get Form Instance - Retrieve submitted data
- Delete Form Instance - Remove a form instance
- List Forms - View all available forms