OCNORA
utilitiesbeginner5 min setupby Mantle

Webhook transform and forward

Receive any JSON, normalise a few fields, reshape it and forward to another endpoint — the smallest useful glue workflow.

Drag to pan, pinch to zoom. This is the real graph the template installs.

How it works

What it does

  • Any JSON posted to transform-in → trim/lowercase email, trim name → rename to contact_* and stamp received_at → POST onward.

Setup

  • Change the destination url; edit the rules and mappings for your payload.

Nodes 4

  1. 01Inbound JSONtrigger.webhookTrigger
  2. 02Normalise fieldsdata.transformData
  3. 03Reshapedata.mapData
  4. 04Forwardhttp.requestHTTP
View template JSON
{
  "format": "mantle-workflow/v1",
  "id": "util-webhook-transform-forward",
  "name": "Webhook transform and forward",
  "graph": {
    "nodes": [
      {
        "id": "webhook",
        "type": "trigger.webhook",
        "label": "Inbound JSON",
        "config": {
          "slug": "transform-in"
        },
        "connection_id": null,
        "worker_type": "generic-worker",
        "position": {
          "x": 60,
          "y": 220
        }
      },
      {
        "id": "normalise",
        "type": "data.transform",
        "label": "Normalise fields",
        "config": {
          "rules": [
            {
              "path": "email",
              "op": "trim"
            },
            {
              "path": "email",
              "op": "lower"
            },
            {
              "path": "name",
              "op": "trim"
            }
          ]
        },
        "connection_id": null,
        "worker_type": "generic-worker",
        "position": {
          "x": 380,
          "y": 220
        }
      },
      {
        "id": "map_out",
        "type": "data.map",
        "label": "Reshape",
        "config": {
          "mappings": {
            "contact_email": "email",
            "contact_name": "name",
            "received_at": "'{{ $now }}'"
          }
        },
        "connection_id": null,
        "worker_type": "generic-worker",
        "position": {
          "x": 700,
          "y": 220
        }
      },
      {
        "id": "forward",
        "type": "http.request",
        "label": "Forward",
        "config": {
          "method": "POST",
          "url": "https://example.com/inbound",
          "headers": {
            "Content-Type": "application/json"
          },
          "body_from_input": true,
          "timeout_seconds": 15
        },
        "connection_id": null,
        "worker_type": "generic-worker",
        "position": {
          "x": 1020,
          "y": 220
        }
      }
    ],
    "edges": [
      {
        "from": "webhook",
        "to": "normalise"
      },
      {
        "from": "normalise",
        "to": "map_out"
      },
      {
        "from": "map_out",
        "to": "forward"
      }
    ]
  }
}

Use it, then make it yours.

Templates install as drafts. Change anything, and Workflow Health re-checks the graph on every save.