# Send S2G - General Purpose Workflow Engine to your agent
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
## Fast path
- Download the package from Yavira.
- Extract it into a folder your agent can access.
- Paste one of the prompts below and point your agent at the extracted folder.
## Suggested prompts
### New install

```text
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete.
```
### Upgrade existing

```text
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run.
```
## Machine-readable fields
```json
{
  "schemaVersion": "1.0",
  "item": {
    "slug": "s2g-workflow-engine",
    "name": "S2G - General Purpose Workflow Engine",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/helmutsreinis/s2g-workflow-engine",
    "canonicalUrl": "https://clawhub.ai/helmutsreinis/s2g-workflow-engine",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/s2g-workflow-engine",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=s2g-workflow-engine",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "README.md",
      "SKILL.md",
      "scripts/s2g-bridge.js",
      "references/api.md",
      "references/operations.md",
      "references/protocol.md"
    ],
    "downloadMode": "redirect",
    "sourceHealth": {
      "source": "tencent",
      "slug": "s2g-workflow-engine",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-08T07:40:49.951Z",
      "expiresAt": "2026-05-15T07:40:49.951Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=s2g-workflow-engine",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=s2g-workflow-engine",
        "contentDisposition": "attachment; filename=\"s2g-workflow-engine-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "s2g-workflow-engine"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/s2g-workflow-engine"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    }
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/s2g-workflow-engine",
    "downloadUrl": "https://openagent3.xyz/downloads/s2g-workflow-engine",
    "agentUrl": "https://openagent3.xyz/skills/s2g-workflow-engine/agent",
    "manifestUrl": "https://openagent3.xyz/skills/s2g-workflow-engine/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/s2g-workflow-engine/agent.md"
  }
}
```
## Documentation

### S2G Integration

OpenClaw is the orchestrator. S2G is the toolbox. Connect to an S2G workflow via WebSocket, auto-discover all nodes, and execute them as tools.

OpenClaw ──WS──▶ S2G (wss://s2g.run/api/openclaw/ws/{nodeId})
                   ├── PasswordGenerator
                   ├── HashGenerator
                   ├── DateMath
                   ├── SqlServer
                   ├── Knowledge Base
                   └── ... 200+ node types

### The OpenClaw Node in S2G

The OpenClaw node is a built-in S2G node type (category: AI) that acts as a bidirectional bridge between OpenClaw agents and S2G workflows. It appears in the S2G node catalog as "OpenClaw Agent" and serves two roles:

Bridge Endpoint — Provides a WebSocket endpoint (wss://s2g.run/api/openclaw/ws/{nodeId}) that OpenClaw agents connect to. Once connected, the agent can execute any sibling node in the workflow.


Data Forwarder — Pushes upstream workflow data to connected OpenClaw agents via Input Forwarding. When the workflow triggers (e.g., from an HTTP webhook, scheduler, or another node), mapped fields are sent to all connected agents as {"type":"data","data":{...}}.

### Setting Up the OpenClaw Node

Open the S2G designer at s2g.run
Create or open a workflow
Add an OpenClaw node from the AI category in the node palette
Add tool nodes — any nodes you want the agent to access (e.g., PasswordGenerator, HashGenerator, DateMath, SqlServer, Knowledge Base)
Connect the OpenClaw node to the tool nodes (the connection wiring tells S2G which nodes to expose)
Configure the OpenClaw node (click to open properties):

Auth Secret (optional) — If set, the bridge must send {"type":"auth","secret":"..."} as its first message
Per-Request Timeout — Maximum time per individual node execution request
Input Forwarding — Map upstream node outputs to push data to connected agents
Manual Payload — Send ad-hoc JSON payloads to connected agents for testing


Start the workflow (▶ button or API: POST https://s2g.run/api/v1/workflows/{id}/start)
Copy the Node ID (UUID) from the node properties — this is needed for the bridge connection URL

### Live View

The OpenClaw node properties panel includes a Live View that shows:

Connected clients count
Real-time execute/result message flow
Data push events
Connection/disconnection events

### Prerequisites

S2G account at s2g.run (or self-hosted instance)
A workflow with an OpenClaw node and tool nodes connected to it
Workflow running — the WebSocket endpoint only accepts connections while the workflow is active
Node.js with ws module: npm install ws

### 1. Install the bridge

# Copy bridge script to workspace
cp scripts/s2g-bridge.js ~/.openclaw/workspace/s2g-bridge.js
npm install ws

### 2. Get the OpenClaw node ID

In the S2G designer at s2g.run, click the OpenClaw node → copy the Node ID (UUID) from properties.

### 3. Start the bridge

# Connect to public S2G
node s2g-bridge.js --s2g wss://s2g.run --node-id YOUR_NODE_UUID [--port 18792] [--secret SECRET]

# Or with environment variables:
S2G_WS_HOST=wss://s2g.run S2G_NODE_ID=abc-123 node s2g-bridge.js

# Self-hosted S2G instance (development)
node s2g-bridge.js --s2g ws://YOUR_HOST:5184 --node-id YOUR_NODE_UUID

### 4. Verify

curl http://localhost:18792/health
# {"healthy":true,"uptime":42.5}

curl http://localhost:18792/nodes
# Lists all discovered nodes with names, types, and IDs

### Bridge HTTP API

The bridge exposes a local HTTP API on port 18792 (configurable via --port):

MethodEndpointDescriptionGET/health200 if connected to S2G, 503 if notGET/statusFull status: connection state, host, node list, stats, errorsGET/nodesList all available S2G nodes (name, type, ID)POST/executeExecute by nodeId: { nodeId, params }POST/execute/:nameExecute by name (fuzzy match): { params }POST/refreshRequest fresh node list from S2GPOST/reconnectForce disconnect and reconnect to S2G

### By name (recommended)

curl -X POST http://localhost:18792/execute/PasswordGenerator \\
  -H "Content-Type: application/json" \\
  -d '{"params": {"length": "20", "mode": "strong"}}'

### By node ID

curl -X POST http://localhost:18792/execute \\
  -H "Content-Type: application/json" \\
  -d '{"nodeId": "uuid-here", "params": {"length": "20"}}'

### Response

{
  "success": true,
  "output": {
    "Password": "xK9!mN...",
    "Strength": "Very Strong",
    "_TriggeredTags": "[\\"success\\"]"
  }
}

### Node Schema Discovery

Before using an unfamiliar node, check its exact parameter names via the S2G Catalog API:

# Get schema for any node type
curl -H "X-API-Key: $KEY" "https://s2g.run/api/v1/catalog/nodes/Custom_Base64/schema"

# List all available node categories
curl -H "X-API-Key: $KEY" "https://s2g.run/api/v1/catalog/categories"

# List all nodes in a category
curl -H "X-API-Key: $KEY" "https://s2g.run/api/v1/catalog/categories/AI/nodes"

The fieldName in inputFields is the exact key to use in params. Case-sensitive.

### Data Generation

PasswordGenerator — length, mode (strong/pronounceable/passphrase/PIN), count
UuidGenerator — count, format
HashGenerator — text, algorithm (md5/sha1/sha256)
LoremIpsum — count, unit (paragraphs/sentences/words)

### Data Operations

DateMath — operation (add/subtract/difference), date1, date2, days, hours...
ExpressionEvaluator — expression, variables, precision
CronParser — expression, count, fromDate
TimezoneConverter — datetime, fromTimezone, toTimezone
JsonPathQuery — json, path, returnFirst

### Text & Encoding

Base64 — inputText, mode (encode/decode)
UrlEncode — inputText, mode (encode/decode)
CaseConverter — text, targetCase (camelCase/PascalCase/snake_case/kebab-case)
MarkdownToHtml — markdown, addWrapper
TextDiff — oldText, newText

### Format Conversion

XmlToJson — xmlInput
JsonToXml — jsonInput, rootElement
CsvJson — inputText, mode (toJson/toCsv), delimiter
JwtDecoder — token

### AI Nodes

OpenAI — GPT models for text generation
Anthropic — Claude models
Gemini — Google AI models
DeepSeek / DeepSeek Agent — DeepSeek models with agent capabilities
Orchestrator — Multi-agent orchestration across AI providers

### Knowledge Base

Knowledge — Graph-based knowledge store with 11 operations: Search, GetEntity, AddEntity, UpdateEntity, DeleteEntity, AddRelation, RemoveRelation, GetRelations, GetGraph, ListEntities, ListTypes

### Vector Storage

VectorDb — Vector store for RAG: ingest documents, semantic search
VectorClient — Query vector stores from workflows

### Database

SqlServer — Execute SQL queries against SQL Server
Postgresql — Execute PostgreSQL queries
MongoDB — MongoDB document operations

### Data Push (S2G → OpenClaw)

S2G can push data to connected OpenClaw agents in two ways:

Input Forwarding — Configure in the OpenClaw node properties. Map upstream node output fields to keys that get forwarded to all connected agents. When the workflow triggers (e.g., webhook receives data → processes it → OpenClaw node forwards results), agents receive {"type":"data","data":{...}}.


Manual Payload — In the OpenClaw node properties, use the Manual Payload editor to send ad-hoc JSON to all connected agents. Useful for testing and debugging.

### Deployment & Operations

For running as a service (systemd/pm2), connection lifecycle, auto-reconnect behavior, monitoring, handling S2G/OpenClaw restarts, security, and multi-bridge setups: see references/operations.md.

Key points:

Bridge auto-reconnects on disconnect (5s delay)
Bridge is stateless — just needs the WebSocket URL and node ID
Sends keepalive pings every 30s to detect dead connections
409 = workflow not running — enable Auto-Start (🚀) in S2G or start via API: POST https://s2g.run/api/v1/workflows/{id}/start
Logs to logs/s2g-bridge.log with 5MB rotation

### S2G REST API

Full platform API at https://s2g.run/api/v1/ covering workflows, catalog, knowledge base, AI assistant, connections, usage, and logs: see references/api.md.

Key capabilities:

Workflows — Create, start/stop, add/remove nodes and connections: https://s2g.run/api/v1/workflows
Catalog — Discover all 200+ node types and their schemas: https://s2g.run/api/v1/catalog/nodes
Knowledge Base — Graph-based knowledge store with search, entities, and relations
AI Assistant — Generate workflows from natural language: POST https://s2g.run/api/v1/ai/generate
Connections — Manage OAuth/API key connections: https://s2g.run/api/v1/connections
Usage & Logs — Monitor quotas and execution logs: https://s2g.run/api/v1/usage

### WebSocket Protocol

For raw protocol details (message types, auth handshake, data push framing): see references/protocol.md.

Connection URL: wss://s2g.run/api/openclaw/ws/{nodeId}
Health check: GET https://s2g.run/api/openclaw/health

### Tips

No manual wiring needed. All sibling nodes connected to the OpenClaw node are auto-discovered on connect.
Param names are case-sensitive. Always verify with the catalog schema API.
_TriggeredTags in output indicates which connection tag fired (success/error).
409 on connect means workflow isn't running. Start it at s2g.run or via API.
Bridge auto-reconnects on disconnect with 5s delay — no manual intervention needed.
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: helmutsreinis
- Version: 1.0.0
## Source health
- Status: healthy
- Item download looks usable.
- Yavira can redirect you to the upstream package for this item.
- Health scope: item
- Reason: direct_download_ok
- Checked at: 2026-05-08T07:40:49.951Z
- Expires at: 2026-05-15T07:40:49.951Z
- Recommended action: Download for OpenClaw
## Links
- [Detail page](https://openagent3.xyz/skills/s2g-workflow-engine)
- [Send to Agent page](https://openagent3.xyz/skills/s2g-workflow-engine/agent)
- [JSON manifest](https://openagent3.xyz/skills/s2g-workflow-engine/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/s2g-workflow-engine/agent.md)
- [Download page](https://openagent3.xyz/downloads/s2g-workflow-engine)