FlowTruxFlowTrux/Docs
Docsworkflows

Triggers

How to start FlowTrux workflows using manual runs, webhooks, or cron schedules.

Every workflow begins with a Trigger node that defines how execution is initiated. There are three trigger types: Manual, Webhook, and Cron.

Manual

Click the Run button in the workflow editor to start execution immediately. You can optionally provide static JSON data in the Trigger node configuration that will be passed as {{trigger.data}}.

This is the simplest way to test and run workflows during development.

Example static data:

{
  "text": "Summarize this quarterly report...",
  "language": "en",
  "format": "bullet_points"
}

Webhook

Expose the workflow as an HTTP endpoint that external services can call to trigger execution. See Webhooks API Reference for authentication, response modes, and examples.

Endpoint

POST /api/webhooks/[workflowId]

Authentication

All webhook requests require HMAC-SHA256 signature verification. The signature must be included in the X-Webhook-Signature header.

The signature is computed over the raw request body using the workflow's webhook secret:

HMAC-SHA256(secret, requestBody)

Requests without a valid signature are rejected.

Request Data

  • The POST request body becomes {{trigger.data}}
  • URL query parameters are available at {{trigger.data._query}}

Example:

A POST to /api/webhooks/abc123?source=github&ref=main with body {"action": "push"} produces:

{
  "action": "push",
  "_query": {
    "source": "github",
    "ref": "main"
  }
}

Response Modes

Configure how the webhook responds to the caller in the Trigger node settings.

ModeBehaviorUse Case
minimalReturns { success: true, executionId: "..." } immediately. Workflow runs in the background.Fire-and-forget integrations, fast response required
lastNodeWaits for execution to complete, returns output of the last node that executed.Simple workflows where the final result is needed
specificNodeWaits for execution to complete, returns output of a node specified by ID.When you need output from a particular processing step
allNodesWaits for execution to complete, returns { nodeId: { name, output } } for all nodes.Debugging or when the caller needs comprehensive results

For lastNode, specificNode, and allNodes modes, the webhook connection remains open until execution finishes.

Custom Response

You can configure a custom HTTP status code and custom headers on the response:

FieldDescription
Status CodeHTTP status code returned to the caller (e.g., 200, 201, 202)
HeadersAdditional HTTP headers included in the response

Cron

Run the workflow on a recurring schedule. Cron-triggered workflows execute automatically at the specified times.

Cron Expression Format

Standard five-field cron syntax:

┌───────────── minute (0-59)
│ ┌───────────── hour (0-23)
│ │ ┌───────────── day of month (1-31)
│ │ │ ┌───────────── month (1-12)
│ │ │ │ ┌───────────── day of week (0-7, 0 and 7 = Sunday)
│ │ │ │ │
* * * * *

Common Cron Expressions

ExpressionSchedule
* * * * *Every minute
*/5 * * * *Every 5 minutes
*/15 * * * *Every 15 minutes
0 * * * *Every hour (at minute 0)
0 */2 * * *Every 2 hours
0 9 * * *Daily at 9:00 AM
0 9 * * 1-5Weekdays at 9:00 AM
0 0 * * *Daily at midnight
0 9,17 * * 1-5Weekdays at 9:00 AM and 5:00 PM
0 0 * * 0Every Sunday at midnight
0 0 1 * *First day of every month at midnight
0 6 * * 1Every Monday at 6:00 AM
30 8 * * 1-5Weekdays at 8:30 AM

How It Works

Cron-scheduled workflows are managed automatically by the platform. Once configured and saved, workflows will execute at the specified times without any additional setup.

Form Trigger

Public forms allow non-technical users to submit data that triggers a workflow.

Setup

  1. Create form: Settings → Forms → Create Form
  2. Add fields: text, email, number, textarea, select, file upload, checkbox
  3. Configure layout: Stack (vertical) or Grid (2-column)
  4. Customize appearance: logo, colors, background image
  5. Publish: click Publish to generate a public URL
  6. Assign to workspace: Settings → Workspaces → Edit → enable the form
  7. Link to workflow: Trigger type → Form → select the form

Public Form URL

Forms are accessible at /f/[token] without authentication. Share this URL with users or embed on your website.

Embed Mode

Add ?embed=1 to the form URL for iframe embedding:

<iframe src="https://app.flowtrux.com/f/YOUR_TOKEN?embed=1" width="100%" height="600"></iframe>

Embed mode strips background, logo, and padding - renders only the form fields.

Form Data in Workflows

Form fields are available as:

{{trigger.data.fields.name}}
{{trigger.data.fields.email}}
{{trigger.data.formName}}
{{trigger.data.submittedAt}}

File uploads include name, size, contentType, and key (S3 path).