Skip to content

Create and Configure Forms

Guide to creating forms and configuring unique Bifrost features

Forms+ button → Fill in:

  • Name: Display name (max 200 chars)
  • Linked Workflow: Workflow to execute on submit
  • Scope: Global or Organization-specific

Left Panel: Workflow parameters and field types

alt text

Canvas: Drag, drop, and reorder fields

alt text

Optional workflow that runs when form opens. Results available in context.workflow.* for visibility expressions and HTML templates.

Use cases:

  • Pre-populate field options based on user
  • Show/hide Dynamic Fields
  • Display personalized content
// Example: Show field only for admins
context.workflow.is_admin === true;

Show/hide fields with JavaScript expressions:

// Access form fields
context.field.country === "USA";
// Access launch workflow results
context.workflow.user_role === "manager";
// Access URL parameters
context.query.department !== null;

alt text

Dynamically populate dropdowns from workflows.

Select a data provider from the dropdown. Options load when form opens.

Display dynamic content with full context access:

<div className="p-4 bg-blue-50 rounded">
<h3>Welcome, {context.workflow.user_email}!</h3>
{context.workflow.is_admin && (
<p className="text-red-600">Admin Access Enabled</p>
)}
</div>

Features: React-style className, conditional rendering, full context access.

Pre-fill form fields from URL:

/execute/form-id?email=user@example.com&dept=IT

Enable per-field in configuration → Allow as Query Parameter

Access via context.query.field_name in expressions.

Settings: Allowed types (.pdf, image/*), max size, multiple files

Returns to workflow:

[
{
"filename": "document.pdf",
"content_type": "application/pdf",
"size_bytes": 1024000,
"sas_uri": "https://..."
}
]

The sas_uri is a secure, time-limited URL.

  • Drag workflow parameters first: Auto-configures fields correctly
  • Keep expressions simple: Easier to maintain and debug
  • Use static options when possible: Faster than data providers
  • Limit HTML templates: Can impact performance
  • Test visibility expressions: Use context viewer to debug

Fields not appearing: Check visibility expression returns true, use context viewer

Data provider empty: Verify provider exists, check required parameters

Launch workflow not running: Verify workflow selected and parameters provided