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
- Create a workflow, choose a suitable trigger.
- Add nodes as needed (Condition / Transform / Action / Delay / Branch / Error Handling).
- Run it once in the test panel to confirm the data flow is correct.
- 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.