Why it matters
A well-built workflow has a clear purpose, predictable data, and steps that can be tested independently. Planning the trigger, outcome, and required information before adding steps makes the automation easier to build, review, and troubleshoot.
This guide covers the core building process. Separate guides explain each trigger, action, flow-control, wait, variable, version, and monitoring feature in more detail.
Key Concepts
Canvas: The visual builder where workflow steps are connected.
Trigger: The first step and the event that starts the workflow.
Action: A step that calls a service, runs code, transforms data, or performs an app operation.
App Step: A trigger, action, or search provided by a supported integration.
Flow Control: A filter, path, loop, wait, or error-handling structure.
Variable: A value from a trigger or earlier step.
Test: A controlled execution that produces sample input and output.
Validation: The checks Whippy performs before publishing.
Draft: The editable workflow version.
Published Version: The live version used by new workflow runs.
Plan the Workflow
Before opening the builder, answer four questions:
What event should start the workflow?
What final outcome should it produce?
What data is required to reach that outcome?
Which steps send messages, change records, or call external services?
For example:
Start: An email arrives at the workflow parser address.
Outcome: A short summary is posted to an internal Slack channel.
Data: Sender, subject, cleaned body, AI summary, and Slack channel.
Steps: Email Parser → Formatter → AI app → Slack.
Start with the straight-line successful path. Add filters, branches, loops, waits, and error handling after the core data flow works.
Create the Workflow
Step-by-Step: Create a Draft
Open Workflows.
Click Add workflow.
Enter a name that describes the trigger and outcome.
Add a short description.
Click Add.
Whippy opens the workflow editor.
If you opened an existing published workflow, click Edit workflow to work on its draft.
Add and Test the Trigger
Every workflow needs one trigger.
Step-by-Step: Configure the Trigger
Click the empty trigger slot.
Choose Webhook Request, Email Parser, Schedule (Cron Expression), or a supported app trigger.
Complete Setup.
Complete Configure when fields are shown.
Open Test.
Send, generate, or load representative sample data.
Review the returned fields.
Save the trigger.
Testing the trigger first gives later steps real fields to display in the variable picker.
Add an Action
Step-by-Step: Add a Step
Click the plus point or empty step after the trigger.
Search for a step or browse Apps, Actions, and Flow controls.
Select the step.
Open Setup and choose the action or event when required.
Select or connect the account the step should use.
Complete Configure or Config.
Insert variables from the trigger or earlier steps.
Open Test.
Run the test with safe data.
Review the response, output, console output, and errors.
Save the step.
The step picker only shows options valid at the selected location. Available choices can change inside a loop, path, or Wait For section.
Build from Left to Right
Repeat the same pattern for each new step:
Test the previous step.
Add the next step.
Insert its required variables.
Test the new step.
Confirm its output can support what comes next.
Give the step a clear name.
Save it.
This approach makes it easier to identify where data first becomes missing or incorrect.
Add Flow Control
After the main path works, add logic where needed:
Use Filter Step when the run should continue or stop.
Use Split in Paths with Conditional Paths when different cases require different actions.
Use Loop Step to repeat work for every item in a collection.
Use Wait Step when time should pass before continuing.
Use Wait For when an external service must return a result.
Use an Error Path on supported steps when a failure needs fallback handling.
Test every branch and special case separately.
Use Variables
Test the source step.
Open the destination field.
Open the variable picker.
Select the earlier step.
Select the exact field.
Test the destination step.
Confirm the resolved value is correct.
Use Formatter when the value needs cleaning or conversion before the destination can use it.
Review the Canvas
Before publishing, confirm:
There is exactly one configured trigger.
Every path has the intended next step.
Filters use the correct fields and values.
Loop steps point to a collection.
Steps intended to run once are outside loops.
Wait For setup, validation, and cleanup steps are in the correct sections.
Connected accounts are appropriate for production.
Test recipients and channels have been replaced where required.
Sensitive data is not exposed in names or logs.
Publish the Workflow
Step-by-Step: Publish
Click Publish.
Review any validation message.
Open each highlighted step.
Complete its missing configuration.
Save the step.
Click Publish again.
Trigger a controlled live event when practical.
Open Runs.
Confirm the run completes and produces the intended result.
Copy, Paste, and Undo
The builder can support faster editing by copying and pasting workflow branches and undoing supported step creation or deletion actions.
After a structural edit:
Review the affected connections.
Open copied steps and check their credentials and variables.
Confirm copied branches reference the intended source data.
Test the modified section before publishing.
Do not assume that a copied step is ready for production without reviewing its mappings.
Tips and Best Practices
Build the smallest useful workflow first.
Test from left to right.
Use clear, outcome-based workflow and step names.
Use Formatter before Code Step when a supported preset is sufficient.
Use native app steps before building a custom HTTP request.
Test both matching and non-matching filter data.
Use test contacts, records, recipients, and channels.
Add error handling for high-impact external actions.
Review the first live runs immediately after publishing.
Troubleshooting
Issue | Possible Cause | Fix |
The expected step is unavailable | That step type is not valid at the selected location | Choose another location or add it outside the loop, wait, or path context |
Variables are missing | Earlier steps do not have sample output | Test earlier steps, then reopen the variable picker |
A test changes real data | The action uses a live connected account | Use safe test records and verify the target before testing again |
A later step receives blank data | The variable references the wrong or optional field | Inspect the source output and select the exact field again |
Publish fails | A trigger, field, or branch is incomplete | Open every highlighted step and complete its configuration |
A copied branch behaves incorrectly | Its variables or credentials still reference the original context | Review and retest every copied step |
