Skip to Content
ConnectorsInbound webhook

Inbound webhook — webhook

Push ingestion of arbitrary JSON (or NDJSON): producers POST to the source’s ingest endpoint. The payload is stored lossless; declare labels to map payload fields into the envelope. The catch-all connector for anything that can send an HTTP request — CI systems, GitHub webhooks, cron jobs, your own services.

Set up

Ask a connected agent:

Use navflow to create a webhook source for my CI events, keyed by the payload’s pipeline field.

The agent calls create_source and returns the ingest URL to point your producer at. Use test_source with a sample payload to check the label mapping first.

Producers then POST JSON (one object, a list, or NDJSON) to /ingest/<ingest_key>:

curl -X POST http://localhost:8787/ingest/<ingest_key> \ -H 'Content-Type: application/json' \ -d '{"action": "deploy", "sender": "ci", "pipeline": "web"}'

If NAVFLOW_INGEST_TOKEN is set, producers send it (X-NavFlow-Token or Authorization: Bearer).

Configuration

fieldtypedescription
event_typestringfixed event type (default webhook_event)
event_type_fieldstringpayload field to read the event type from, e.g. action
text_templatestringrender template over payload fields, e.g. '{action} by {sender}'
event_time_fieldstringpayload field holding an ISO-8601 event timestamp

Verify

POST a test payload (as above) and check Recent events; Fields shows which payload fields arrive and how often — use it to pick a reliable key.

Last updated on