Tutorial: Edit a public-site intake workflow

After public forms scaffold internal schemas, generate the intake workflow—then refine steps, permissions, and triggers in Workflow admin.

Public-site intake workflows are regular workflows created (or updated) from a public form definition. They reuse the internal form schema and data entity that were synced when you saved the marketing form. This tutorial assumes you already completed Customize your public pages for workspace yourteam.

What gets scaffolded

When you run create workflow from public form in Public Site admin, the platform:

  1. Ensures internal artifacts exist: public-site-{formKey} form schema and a data entity keyed by your schema type + version (see ensureInternalSchemaArtifacts behavior).
  2. Inserts a workflow named like {Form display name} Intake with slug public-{formKey}-intake (suffix added if the slug collides).
  3. Inserts three steps:
    • start → review (task) → done (end).
  4. Binds the review step to the internal form + entity and sets step_io_config with inputs/outputs referencing that entity (states such as new → reviewed).
  5. Adds a workflow_step_permissions row so member has can_view and can_capture on review (so staff can process submissions).
  6. Stores public_form_trigger metadata inside workflows.definition (including form_key, schema_type, schema_version, and auto_start_instance: true) plus instance_creation.manual_enabled: false so new instances are tied to public submissions rather than a generic “start” button.

You need both public_site.manage (or owner) and workflow.manage for the scaffold action.

Step 1 — Scaffold from the public form

  1. Open /home/yourteam/admin/public-site.
  2. Locate the Forms section and the form you want (e.g. personal-banking-lead in a multi-page demo).
  3. Use the control that creates / opens the intake workflow (wording varies; it calls createWorkflowFromPublicFormAction with your form key).
  4. On success, note the returned Workflow admin URL (pattern /home/yourteam/workflow/admin/{workflowId}).

If the action errors, common causes: missing draft site, missing form key, or lacking workflow.manage.

Step 2 — Open Workflow admin

Follow the link or go to /home/yourteam/workflow/admin, select the new Intake workflow, and open the editor.

Step 3 — Tighten permissions beyond the default

The scaffold grants member capture on review. For many teams you should:

  1. Remove overly broad rows (if everyone in the tenant should not see PII).
  2. Add account role rows pointing at custom roles such as Intake reviewer or Front office with can_view + can_capture.
  3. Optionally keep workflow_admin or owner with can_view for oversight without can_capture.

Save permissions per step from the Steps card.

Step 4 — Adjust the task step

Edit the review step if you need:

  • A different form (swap form_schema_id)—for example after you bump form version and want reviewers on a richer layout.
  • A different entity or step_io_config if your data model gained fields (coordinate version bumps in Data entities / Forms tutorials).

Remember: changing form_schema_id does not retroactively change completed instances; plan migrations for in-flight work.

Step 5 — Gateways and extra tasks (optional)

Insert additional task steps before done:

  • Manager approval after review.
  • Gateway splitting approve vs reject with next_steps when outcomes.

Update permissions so only the right roles capture each new step.

Step 6 — Definition / trigger metadata

In definition JSON, inspect public_form_trigger. Teams sometimes toggle:

  • auto_start_instance — Whether a new workflow instance should spin up for each public submission (default true for intakes).
  • instance_creation.manual_enabled — Whether operators may also start instances manually from Operative (scaffold sets false; set true if you want hybrid behavior).

Edit carefully—operative routing reads these flags.

Step 7 — BPMN (optional)

If your team uses the BPMN panel, re-import XML after you add steps so diagrams stay aligned with workflow_steps. Use the editor’s sync actions to avoid drift.

Step 8 — Test end to end

  1. Publish a public-site revision that includes the form on a page.
  2. Submit a lead from yourteam’s tenant host or preview URL.
  3. In the app, open /home/yourteam/operativeworkflow (or the specific slug) and confirm a new instance appears.
  4. Complete review as a user who has can_capture. Check Task inbox if assignments are enabled.