Help Documentation · Workflows

This page introduces product features and usage methods: from workflow nodes to online/offline APIs. Color scheme follows white/black/orange, structure is simple, clear, and extensible.

Overview

Our workflows allow you to quickly automate business processes through visual node combinations: from data collection, condition judgment, data transformation, to external system calls and callbacks, flexible and stable. The left side is the table of contents, click to quickly navigate to the corresponding section.

Getting Started

  1. Create a workflow, choose a suitable trigger.
  2. Add nodes as needed (Condition / Transform / Action / Delay / Branch / Error Handling).
  3. Run it once in the test panel to confirm the data flow is correct.
  4. Publish and monitor run logs.

Workflows

Core concepts and common nodes:

Nodes Overview

Nodes are divided by responsibility: Trigger (entry point) → Condition (branch judgment) → Transform (data shaping) → Action (interaction with external systems) → Delay/Loop → Error Handling.

Trigger

Supports starting workflows via scheduled timers, Webhooks, message queues, etc.

// Webhook example (POST)
POST /api/v1/workflows/:id/trigger
{
  "payload": { "orderId": "12345" }
}

Condition

Route branches based on expressions or scripts, e.g., route to risk control channel when order amount > threshold.

// Pseudocode
if (payload.amount > 1000) route('highRisk')
else route('normal')

Transform

Map, merge, format data, supports JSONPath, regex, built-in functions, etc.

// Mapping example
{
  "userId": "$.user.id",
  "total": "$.cart.items[*].price.sum()"
}

Action

Call third-party services (HTTP, database, message queue, etc.), supports retry and timeout settings.

POST https://third-party.example/send
Headers: Authorization: Bearer <token>
Body: { "to": "user@example.com", "msg": "Hello" }

Delay

Add wait time for subsequent nodes, supports fixed/random/exponential backoff strategies.

Branch/Loop

Supports parallel branches and collection loop processing, automatically aggregates results.

Error Handling

Attach onError to any node, log errors and choose to retry/skip/rollback.

API

Authentication

Use Bearer Token or API Key, recommend least privilege + rotation strategy.

Authorization: Bearer <your-token>

Request Format

POST /api/v1/workflows/run
Content-Type: application/json
{
  "workflowId": "wf_abc123",
  "params": { "orderId": "12345" }
}

Error Codes

  • 400 Bad Request
  • 401 Unauthorized/Invalid Token
  • 429 Rate Limited
  • 500 Server Error

Pagination

GET /api/v1/runs?limit=50&cursor=eyJwYWdlIjoyfQ==

Offline API

Batch Processing

POST /api/v1/offline/submit
{
  "jobId": "job_001",
  "items": [ {"orderId":"A1"}, {"orderId":"A2"} ]
}

Callback / Webhook

POST https://your-system.example/webhooks/offline
{
  "jobId": "job_001",
  "status": "succeeded",
  "resultUrl": "https://.../job_001.csv"
}

Retry Policy

Supports fixed number of retries + exponential backoff; writes to dead letter queue after threshold is reached for manual review.

Examples

A typical order notification workflow example:

Trigger(Webhook) -> Condition(amount > 1000) -> Branch(highRisk / normal)
  highRisk: Transform(mask PII) -> Action(Notify Risk Team)
  normal : Transform(format)    -> Action(Send Email)

FAQ

Q: How to distinguish between Online API and Offline API?

A: Online is suitable for real-time request-response; Offline is suitable for large batch, long-running tasks, results are provided via callback or file download.

Q: Is custom retry supported?

A: Yes, retry policies (count, interval, backoff) can be configured at the action node and global level.