Build Your First Workflow

Create a project, define a workflow, execute it with test input, and verify the output end-to-end.

This guide is designed for a first successful run, not theory. By the end, you will have a workflow that accepts structured input, transforms it, and sends a request to an external API.

Estimated time: 15 to 20 minutes. No model import is required for this first run.


Before You Start

Make sure you have the following ready:

  • Access to the SolutionEngine web application.
  • Permission to create resources in at least one project.
  • A reachable environment (for deployed execution).
  • An external endpoint for testing HTTP output, such as a webhook inspector.

If your environment is not ready yet, complete Environments first.


Step 1: Create a Project

  1. Open the Projects area.
  2. Select Create Project.
  3. Set a clear name, for example Onboarding Demo.
  4. Save the project.

A project is the boundary for all resources. Your workflows, datasources, models, and buckets stay isolated inside that project.


Step 2: Create a Workflow

  1. Open your project.
  2. Go to Workflows.
  3. Select Create Workflow.
  4. Name it first-workflow.

You now have an empty canvas where nodes can be added.


Step 3: Add Core Nodes

For this first run, use a minimal and reliable path:

  • Manual Trigger
  • Expression
  • HTTP Request

Connect them in this order:

Manual Trigger -> Expression -> HTTP Request

Why this combination:

  • Manual Trigger lets you test immediately without waiting for external data.
  • Expression shows how to transform payload data.
  • HTTP Request verifies that output can leave the workflow successfully.

Step 4: Configure Manual Trigger Input

Set a test payload in the Manual Trigger node:

{
  "deviceId": "cam-01",
  "temperature": 28.4,
  "status": "ok",
  "timestamp": "2026-03-24T10:00:00Z"
}

This payload becomes the incoming data object for the rest of the workflow.


Step 5: Configure Expression Node

Use the Expression node to enrich and normalize data before sending it out.

Example target behavior:

  • Keep deviceId
  • Create temperatureF from Celsius
  • Add a computed alert flag

Example expression logic (conceptually):

temperatureF = (temperature * 1.8) + 32
alert = temperature > 30

If your Expression node expects a single expression string, define it using your project's supported expression format and map the output fields so downstream nodes can read them.

Expression syntax depends on node configuration style. If your instance supports templates, use template syntax. If it supports Python-like expressions, use that format consistently.


Step 6: Configure HTTP Request Node

Configure the HTTP Request node to send a JSON payload to your test endpoint.

Recommended baseline settings:

  • Method: POST
  • URL: your webhook inspector URL
  • Header: Content-Type: application/json
  • Body: include the transformed fields from previous nodes

Example body shape:

{
  "deviceId": "{{data.deviceId}}",
  "temperatureC": "{{data.temperature}}",
  "temperatureF": "{{data.temperatureF}}",
  "alert": "{{data.alert}}",
  "source": "solutionengine-first-workflow"
}

Step 7: Run and Validate

  1. Trigger the workflow from Manual Trigger.
  2. Confirm node execution states in the editor.
  3. Open your webhook inspector and verify request payload content.
  4. Check workflow logs for any validation, network, or mapping errors.

Success criteria:

  • Workflow executes without node failures.
  • HTTP endpoint receives one payload per trigger.
  • Payload includes transformed fields as expected.

Step 8: Deploy to an Environment

After local/manual validation:

  1. Select Deploy.
  2. Choose a target environment.
  3. Confirm deployment.
  4. Run a validation trigger again and review runtime logs.

This confirms the same workflow logic works in deployed execution mode.


Common First-Run Issues

No output in HTTP endpoint

  • Verify endpoint URL is reachable from the execution environment.
  • Confirm method is POST and content type is JSON.
  • Check if a proxy/firewall blocks outbound traffic.

Expression output fields are empty

  • Verify input field names match payload keys exactly.
  • Confirm expression syntax matches your node mode.
  • Check whether output fields are mapped to the data object path expected by the HTTP node.

Workflow deploys but does not execute

  • Ensure workflow status is active in the selected environment.
  • Confirm you are triggering the same workflow version that was deployed.
  • Check environment connectivity and recent agent sync status.

Next Steps

After this first run, continue with:

  • Datasources to switch from manual input to live input streams.
  • Workflows to add branching, filters, and error handling.
  • Environments to harden runtime operations.
  • Buckets to persist media, metadata, and timeseries outputs.