Webhook receiver — setup and run replay

How to trigger Miton workflows via authenticated webhooks and use the run inspector to replay steps.

Product stage
Development build
Last reviewed
2026-08-27
Successful result
The change is visible in the active project.

What this accomplishes

How to trigger Miton workflows via authenticated webhooks and use the run inspector to replay steps.

Miton includes a local webhook receiver that listens for incoming HTTP events and triggers workflows. The receiver runs on 127.0.0.1:7733 — loopback only, no public exposure by default.

Current availability

This page documents behaviour verified in Miton development builds. Miton is still pre-release and is not publicly downloadable; invited beta users will receive a signed desktop build with automatic updates.

Before you start

  • A Miton development build and an active project.
  • A connected cloud or local model, plus any credentials or local runtime required by this task.

Setting up a webhook trigger

Step 1 — Add a webhook trigger to your workflow

In Automation, right-click the canvas and add a Trigger node, then set its Trigger kind to Webhook. Miton generates a unique path for this workflow:

http://127.0.0.1:7733/hooks/<workflow-id>

Step 2 — Get the signing secret

Click Show secret in the trigger card. Copy the HMAC-SHA256 signing secret.

Step 3 — Configure your sender

Configure whatever is sending the webhook to:

  1. POST to http://127.0.0.1:7733/hooks/<workflow-id>
  2. Include the X-Hub-Signature-256 header with the HMAC-SHA256 signature of the request body

The signature format is:

X-Hub-Signature-256: sha256=<hex-digest>

Miton rejects any request with a missing or invalid signature.

Exposing the webhook to the internet

The receiver is localhost-only by default. To receive webhooks from a remote sender (e.g. GitHub webhooks, a third-party service), you need to expose the port:

  • Use a tunnel tool (e.g. ngrok http 7733) during development
  • On a machine with a static IP, port-forward 7733 in your router/firewall

Miton does not manage the tunnel. This is a network configuration you control.

Run inspector

Every webhook-triggered run appears in the Run Inspector. To open it:

  1. Open Automation
  2. Select your workflow
  3. Click Run history in the right panel

The Run Inspector shows two levels of history:

Run level

Column Description
Timestamp When the run started
Trigger manual, scheduled, or webhook
Status success, failure, running, or suspended
Duration Wall-clock time
Cost Total token cost across all AI nodes

Step level

Click any run to expand its steps. Each step shows:

  • Input — the data passed to this node
  • Output — the data the node returned
  • Duration — time for this step
  • Cost — token cost (AI nodes only)
  • Error — the error message and stack trace (failed steps only)

Replaying a run

To re-run a workflow using the same definition without waiting for the next trigger:

  1. Open the Run Inspector and find the run you want to replay
  2. Click Replay
  3. A new run starts, recorded with its trigger as a replay of the original

This re-runs the whole workflow from its current definition — it does not resume from a single failed step or skip already-completed nodes. Use it to retry after a transient failure or to re-process a webhook payload once you’ve fixed a downstream node.

Signature verification details

Miton uses HMAC-SHA256 to authenticate webhook requests:

signature = HMAC-SHA256(secret, request_body_bytes)
header = "sha256=" + hex(signature)

The comparison is constant-time to prevent timing attacks. Requests with no signature header, an invalid format, or a bad signature return HTTP 401 with no body.

What success looks like

How to trigger Miton workflows via authenticated webhooks and use the run inspector to replay steps. The result remains attached to the active project when you move to another workspace.

Common failures and recovery

  • Confirm the correct project and model are active.
  • Read the exact error and the requested permission before retrying.
  • Retry only the failed step so completed project work remains intact.