RunReveal
Send records to a RunReveal webhook source. This output works with both flavors of RunReveal webhook:
- Generic Webhook — accepts arbitrary JSON; the entire request body lands in the
logstable withsourceType = 'webhook'. Bearer token is optional. - Structured Webhook — requires a bearer token and each record must match the schema documented at Structured Webhooks API. Records that don't match the schema are rejected on the RunReveal side.
Monad batches records and POSTs them as a JSON array to https://api.runreveal.com/sources/hook/<WEBHOOK_ID>.
Prerequisites
Create either a Generic → Webhook or Structured → Webhook source in the RunReveal portal:
- In the RunReveal portal, go to Sources → New Source and pick Generic Webhook or Structured Webhook.
- Give the source a name (e.g.
Monad Connector) and save. - Copy the Webhook ID — only the ID (last path segment), not the full URL the RunReveal UI displays.
- Copy the Bearer Token. Required for Structured Webhooks; optional for Generic (unless auth is enabled on the source).
- For Structured Webhooks, make sure the records you send match the Structured Webhooks API schema. Use a Monad transform upstream if you need to reshape records.
Caveats
The RunReveal webhook results in success for essentially every request - including requests with a wrong/nonexistent webhook ID, empty payloads or wrong payloads. This is undocumented upstream behavior we've observed against live sources.
As a result, Monad's Test Connection check will always pass, even if the webhook ID is wrong or the token is invalid. A successful test does not prove ingestion worked.
The only reliable way to confirm ingestion is inside the RunReveal portal.
- Verify a record landed: run a query in the RunReveal portal against the
logstable filtering onsourceType = 'webhook'(and your source name). - Check for ingestion errors: open https://app.runreveal.com/dash/sources/errors, then select the source type and source name to view errors for this specific webhook. Structured Webhook schema-mismatch errors show up here.
Settings
| Setting | Type | Required | Default | Description |
|---|---|---|---|---|
| Webhook ID | string | Yes | - | The RunReveal webhook ID. Paste only the ID — not the full URL shown in the RunReveal UI. |
| Batch Record Count | int | No | 100 | Max number of records per request. Range: 1–10 000. |
| Batch Data Size | int (bytes) | No | 1048576 (1 MiB) | Max payload size per request. Range: 500 KiB – 3 MiB. |
| Publish Rate | int (seconds) | No | 5 | Max time to hold records before flushing. Range: 1–60. |
Secrets
| Secret | Type | Required | Description |
|---|---|---|---|
| Bearer Token | string | No¹ | Bearer token issued by RunReveal for this webhook source. Sent as Authorization: Bearer <token>. Required for Structured Webhooks; optional for Generic Webhooks (leave empty if the source has auth disabled). |
¹ Required when the RunReveal source is a Structured Webhook.