FormWork FormWork

Step Types

Learn what each workflow step does and when to use it.

Steps are the actions a workflow performs after a trigger fires. Think of them as the building blocks of an automated process: send a message, calculate a value, create a record, update a status, generate a document, or call an integration.

Send Email

Use Send Email to notify respondents, admins, or external teams.

Good uses:

  • Send a confirmation email after submission
  • Notify an internal review team
  • Send an approval or rejection message
  • Send a generated PDF as an attachment

Email content can be written directly in the step or selected from a reusable template. Use references to insert values such as name, order total, status, or workflow outputs.

Generate PDF

Use Generate PDF when a workflow needs to create a document from entry data.

Good uses:

  • Quotes
  • Invoices
  • Approval letters
  • Order summaries
  • Internal fulfilment sheets

The step can use inline content or a reusable template. The generated PDF can be saved as a file and used by later steps, such as attaching it to an email.

Condition

Use Condition to send the workflow down different paths.

Good uses:

  • If total value is above a threshold, ask for approval
  • If category is Urgent, notify a manager
  • If payment is complete, continue fulfilment
  • If required documents are missing, send a follow-up message

Condition steps have two paths: True and False. Connect different follow-up steps to each path.

Calculation

Use Calculation to create values from formulas.

Good uses:

  • Quote totals
  • Discount amounts
  • Risk scores
  • Priority scores
  • Dates or deadlines based on submitted answers

Calculation outputs can be used by later steps, stored back on the entry, or included in emails and PDFs.

Create Entry or Row

Use Create Entry or Row to create a new record in another form or data table.

Good uses:

  • Create a fulfilment task after an order
  • Add a customer to an onboarding form
  • Add a row to a data table for later reporting
  • Create a follow-up record for another team

Map values from the current entry, metafields, data tables, or previous workflow steps into the new record.

Update Entry/Row

Use Update Entry/Row to change values on an existing entry or data table row.

Good uses:

  • Set an internal status metafield
  • Save a calculated score
  • Update a linked data table row
  • Store an external system ID returned by an integration

This step is often used after calculations, conditions, extension actions, or admin button clicks.

Delete Entry or Row

Use Delete Entry or Row when a workflow should remove a record.

Good uses:

  • Remove a temporary data table row
  • Clean up a draft record created earlier in the process
  • Delete a linked row after a cancellation

Use this step carefully. In most business processes, updating a status such as Cancelled or Archived is safer than deleting records.

For Each Loop

Use For Each Loop to repeat the same steps for every item in a list.

Good uses:

  • Process every line item in an order
  • Send one notification per selected department
  • Create one task per uploaded document
  • Update every row returned from a lookup

A loop has a Loop Body path for steps that run for each item and an After Loop path for steps that run once the loop is complete.

Extension Action

Use Extension Action to call an installed extension or custom API integration.

Good uses:

  • Send an order to a fulfilment system
  • Create or update a CRM contact
  • Check a customer record during onboarding
  • Start a payment or verification process
  • Send a support issue to a helpdesk

Choose the extension, select the action, then map form answers or workflow outputs into the action. The response can be used by later workflow steps.

Choosing the Right Step

GoalStep
Notify someoneSend Email
Create a documentGenerate PDF
Split the processCondition
Work out a valueCalculation
Add a related recordCreate Entry or Row
Change a status or fieldUpdate Entry/Row
Remove a recordDelete Entry or Row
Repeat work for a listFor Each Loop
Call another serviceExtension Action

Best Practices

  • Give each step a clear label, such as Calculate quote total or Send approval email.
  • Keep each workflow focused on one business process.
  • Store important workflow results in metafields if admins need to see them later.
  • Use conditions before actions that should only happen in some cases.
  • Check workflow run details when a step does not behave as expected.