Skip to main content

Build Your First Workflow

Build, deploy, and test a complete greeting workflow step by step, from an empty canvas to a live chat conversation.

This hands-on tutorial walks you through every stage of building a workflow in EW-FLOW: creating a Process, placing and configuring nodes in the BPMN editor, branching with a gateway, saving a version, deploying to an Environment, and testing the result in the Chat panel. By the end you will have a working workflow that asks for the user's name and greets them back.

Level: Beginner · Time: about 15 minutes · Prerequisites: a Workspace and the Standard Module installed (every new Process includes it automatically).

What you'll build

A chat workflow that asks for the visitor's name, stores the reply in a Session variable, and branches: a normal reply gets a personal greeting, while the reply test takes a separate path.

Step 1 Create a Process

A Process is a workflow project; everything you build in this tutorial lives inside one.

  1. Navigate to Process from the sidebar.
  2. Click Add Process.
  3. In the Create new process dialog, enter a Process name (for example My First Workflow). The Description is optional.
  4. Click Create.

The editor opens automatically. Every new Process comes ready to run: the Standard Module is pre-installed, a Testing and a Production Environment are created for you, and the canvas already contains a small starter diagram a Start Event, an Output node that says Hello world!, and an End Event.

Step 2 Get oriented in the editor

Take a moment to find the three areas you will use throughout this tutorial:

  • Palette (left edge) the icons you drag onto the canvas: circle (Start Event), rounded rectangle (Task), diamond (Exclusive Gateway), double circle (Intermediate Event), bold circle (End Event).
  • Canvas (center) where you place nodes and connect them with Sequence Flows. Drag from a node's connection point to another node to draw a flow; double-click a node to rename it.
  • Configuration side panel (right) click any node and its properties form opens here. Fill in the fields, then click Save Changes at the bottom of the form to apply them to the node.

The toolbar above the canvas holds Chat, Environments, Variables, and Integrations on the left, and Deploy, Export, Import, and Save on the right.

Step 3 Start from the Start Event

Every Process must have exactly one Start Event the starter diagram already gives you one, typed as StartTask. You will keep it and rebuild the rest of the diagram.

  1. Click the Output node (the middle one) and delete it.
  2. Delete the End node too you will add two new End Events later.
  3. Keep the Start node. If you ever need to place one yourself, drag the thin circle from the palette: it is automatically typed as StartTask.

The Start Event needs no configuration the Session is started by the Channel (for this tutorial, the Chat panel).

Step 4 Ask the question with an OutputTask

An OutputTask sends a message to the end user on the active Channel (here: Chat).

  1. Drag the double-circle Intermediate Event icon from the palette onto the canvas, to the right of the Start Event. The new node is automatically typed as OutputTask the Standard Module's default for that shape.

  2. Connect the Start Event to it by dragging from the Start Event's connection point.

  3. Click the node to open the side panel and set Output Message to:

    Hello! What's your name?
  4. Click Save Changes to apply the message to the node.

If a node ever has the wrong type, open the replace menu (right-click the node) Task types are grouped by Module; expand the Standard Module group or use the search box, then pick the type you want.

Step 5 Collect the answer with an InputTask

An InputTask pauses the Token and waits for the user's next message, then stores it in a Session variable.

  1. Drag another double-circle Intermediate Event onto the canvas and connect the OutputTask to it.

  2. Open the replace menu (right-click the node) and convert it to InputTask the shape switches to a catch event automatically.

  3. In the side panel, leave Prompt Message empty (the OutputTask already asked the question) and set Store in Variable to:

    {userName}

    Leave the variable type chip on str. The Variables counter in the toolbar increases the editor now knows this workflow declares userName.

  4. Click Save Changes.

tip

This is the variable convention used everywhere in EW-FLOW: write the variable in braces {userName} both in a Store field (where the Task saves its result) and everywhere you read the value back: messages, conditions, URLs. Variable names are case-sensitive.

Step 6 Branch with a SwitchTask

A SwitchTask routes the Token down one of several branches by comparing a Session variable. In the editor it is placed as an Exclusive Gateway.

  1. Drag the diamond Exclusive Gateway icon onto the canvas and connect the InputTask to it. It is automatically typed as SwitchTask.
  2. Click the gateway and configure it in the side panel:
    • Variable to evaluate: {userName}
    • Default branch: leave as ok
    • Cases: add one case with Op Equals, Value test, Branch test
  3. Click Save Changes.

In the next step you will give the gateway two outgoing Sequence Flows, labeled ok and test. The labels matter at runtime the Token follows the Sequence Flow whose label matches the selected branch, and if no label matches the Session stops at the gateway with error 8010 TaskNoPaths. Cases are evaluated top-to-bottom and the first match wins; text comparisons match exactly as typed unless you switch on the case's Case-insensitive toggle. If nothing matches, the Token takes the Default branch.

Step 7 Reply and end the Session

Each branch gets its own reply and its own End Event.

  1. Drag a double-circle Intermediate Event onto the canvas for the first branch (it becomes an OutputTask) and connect the gateway to it. Double-click the new Sequence Flow and label it ok.

  2. Click the node and set Output Message to:

    Hello {userName}!

    then click Save Changes.

  3. Drag another Intermediate Event for the second branch, connect the gateway to it, and label that flow test. Set its Output Message to:

    You found the test branch. Hello anyway!

    then click Save Changes.

  4. Drag a bold-circle End Event after each OutputTask and connect them. When the Token reaches an End Event, the Session completes.

Step 8 Save a version

Saving creates a new version of the Process without deploying it.

  1. Click Save in the toolbar.
  2. In the Save process dialog, enter a Commit title (for example First greeting workflow). The Summary (Optional) field can stay empty.
  3. Click Save.

Step 9 Deploy to an Environment

A saved version does nothing until you publish it to an Environment.

  1. Click Deploy in the toolbar a dropdown lists your Environments.
  2. Pick Testing.
  3. A confirmation dialog appears: "Are you sure you want to deploy the current process to the Testing environment? You will be asked to save first." Click Deploy. If you have unsaved changes, the Save process dialog opens first deploying always saves the current diagram.
  4. The deployment panel opens and streams progress logs. Wait for Deployment Complete.

Step 10 Test it in the Chat panel

  1. Click Chat in the toolbar to open the test chat panel.

  2. Use the environment selector to pick Testing, then click Start. The header switches to Session Active and your workflow begins on the Chat Channel.

  3. Follow the conversation the expected transcript:

    WhoMessage
    WorkflowHello! What's your name?
    YouMaria
    WorkflowHello Maria!
  4. Click Restart and answer test this time you get You found the test branch. Hello anyway! instead.

You've succeeded when: the workflow echoes Hello Maria! back with the name you typed, the panel header shows Session Completed, and the run appears on the Sessions page (flagged as a test Session, since it ran on a test Environment). If the greeting comes back as Hello ! with the name missing, the variable the InputTask stores isn't the one the message reads: check that Store in Variable and the reference in the message are exactly the same, braces included (variable names are case-sensitive) a Store field without braces shows up on the Logs page as error 3005 TaskInvalidData.

What you learned

  • A Process holds your workflow; every new one ships with the Standard Module, a starter diagram, and Testing/Production Environments.
  • Nodes are placed from the palette and typed via the replace menu; each type is configured in the side panel and applied with Save Changes.
  • Data flows through Session variables: write {name} braces included in the Store field and wherever you read the value back.
  • A SwitchTask on an Exclusive Gateway routes the Token along the Sequence Flow whose label matches the winning branch.
  • Save creates a version; Deploy publishes it to an Environment; the Chat panel runs a live test Session against the deployed version.

Next steps

  • Elements the full reference for every node you can place on the canvas.
  • Task Configuration everything about the side panel, property types, and variable references.
  • Marketplace install more Modules to add AI, HTTP, telephony, and scheduling Tasks to your workflows.