- Documentation
- Workflows
- Workflow Nodes
- Form workflow nodes
Form workflow nodes
Use TaskJuice Forms to start workflows from submissions or pause workflows until someone submits a response.
Forms provide two workflow nodes:
| Node | Type | Use it when |
|---|---|---|
| Form Submission | Trigger | A workflow should start when someone submits a published TaskJuice form. |
| Display Form | Action | A running workflow should pause on a form and resume after the recipient submits it. |
Both nodes use forms created in the Forms area. Publish the form before publishing a workflow that references it.
Build the form first
Create the form in Forms, add fields, configure required fields and page flow, then publish it. A connected AI assistant can also build and publish a draft form for you; see Build a form.

Publishing creates the stable schema used by workflow output mapping. If you later change and republish the form, new workflow publishes use the latest schema while already compiled workflow versions keep the schema they were published with.
Assign a form to a client
In the form builder, select the form's title to open its settings, then choose the client under Client and save. The hosted form then shows that client's logo and color, and once the form is published it appears in that client's portal, never in another client's. Keep All clients (agency brand) to show your agency's logo and color instead.
The form's link uses your agency domain until the client has a domain of their own. The assignment applies as soon as you save, without republishing the form. If you delete a client, its forms stay and return to All clients (agency brand).
Form Submission trigger
Use this trigger when an external user or internal teammate submits a TaskJuice form and that submission should start a workflow.
Open the workflow editor
Open the workflow that should receive form submissions.
Choose the trigger
Select the trigger slot, choose Forms, then select Form Submission.
Pick a published form
Choose the form whose submissions should start the workflow.
Copy the form URL
Use the Share section when you need to distribute the public form link.
Publish the workflow
Publish after every referenced form and required node field validates.

Trigger output
The trigger output uses the published form schema:
| Field | Description |
|---|---|
submissionId | Unique ID for the submitted response. |
submittedAt | Submission timestamp. |
fields | Submitted form values keyed by the form field keys. |
Downstream nodes can reference those values in expressions and mappings.
The same published schema is what AI agents see: expose the workflow to agents and its input schema — what describe returns and run_workflow checks — is the form's exact compiled fields — required keys included — so an agent-started run carries the same shape a real submission would. The schema tracks the form snapshot captured when the workflow was published; republish the workflow to pick up form changes.
Display Form action
Use this action when the workflow needs human input after it has already started. The workflow pauses, creates a resume URL for the selected form, and continues when the form is submitted.
Add an action node
Add an Action node after an existing trigger or step.Choose Forms
Choose Forms from the app list.Select Display Form
Select Display Form.Pick the form
Choose the published form to display while the workflow waits.Publish and test
Test with a real form response before distributing the workflow broadly.

Action output
| Field | Description |
|---|---|
resumeUrl | URL used to complete the form and resume the paused workflow. |
expiresAt | Expiration timestamp for the form resume window. |
Send the form link
Display Form does not send anything by itself, and the steps after it run only once the form is submitted. To get the link to the person the workflow is waiting for, send it from a step placed before the Display Form step with $resumeUrl('<Display Form step id>'). The expression returns the exact link the Display Form step opens when the run reaches it.
When the form is assigned to a client who has an active domain of their own, the link uses the client's domain. Otherwise it uses your agency's domain: your custom domain when it is active, otherwise your TaskJuice subdomain.
Add the Display Form step
Add the Display Form action and open it. Under its name, next to Step ID, select the copy button to copy the step id.
Add a sending step before it
Place an email, chat, or HTTP Request step between the trigger and the Display Form step. For example, add a Gmail Send email step.
Put the link in the message
In the message body, add the link with an expression, for example
{{ "Please fill in the form: " & $resumeUrl('client-reply') }}.Publish
Publish the workflow. Publishing is blocked if the referenced step is not a Display Form or Wait for Event step, is not after the sending step, or, for a Display Form, sits inside a Loop.
The link opens once the run reaches the Display Form step and stays open for 7 days from then. Keep these cases in mind:
- A link opened before the run reaches the form shows "This form isn't open yet". The same link works once the form is ready.
- A link to a form on a branch the run did not take stops working.
- A link to a run that failed before it reached the form keeps showing "This form isn't open yet".
- Regenerating the link in the run viewer stops the link you already sent from working. Send the new link to the recipient.
A Display Form step inside a Loop cannot be linked this way, because its link changes on every pass.
Publish requirements
A workflow publish is blocked when a referenced form is missing, still in draft, archived, or belongs to a different tenant. Fix the form selection or publish the form, then publish the workflow again.
Operational notes
- Keep form field keys stable when downstream workflow steps reference them.
- Prefer a new field key over renaming a key that existing workflows already use.
- Test the workflow with a real form submission before distributing the public link.
- Review submissions from the form's Submissions page when troubleshooting.