Real-world events, as triggers

When something happens in the real world, your workflow fires — at the bar you set.

Evinor is a structured-events engine for the real world. It turns noisy news, filings, and press into typed, deduplicated events — each carrying a confidence score, a corroboration count, and typed sources. Subscribe to what matters, decide what's strong enough to act on, and get one event pushed to your webhook or Slack the moment it clears your bar. No scraping, no polling, no code.

works in n8nZapierMakeSlackany webhook
app.evinor.com/rules/new
WHEN an event of type
Acquisitionhappens
INVOLVING an entity in
Portfolio watchlist42
ONLY IF the claim is strong enough
confidence > 0.9andsources ≥ 3
THEN send it to
SlackWebhook
40 → 1 fires once, not forty timescanonical entity resolutiontyped JSON payloadpushed the moment it happens
§ the payload

One clean event — on your webhook, or in Slack.

Not an article to parse. Automations get a typed JSON record they can branch on; people get a readable Slack card. Same event, same instant.

POST to your endpoint

Built for the next node in your flow.

Filter on type, gate on confidence and sources, map entities[].roleinto your CRM. It's plain, predictable JSON your automation can gate on — confidence, source count, source type — not scraped text it has to interpret.

Typed & versioned
A discriminated type and stable schema — safe to build automations against.
Entities with roles
Acquirer vs. target, employer vs. filer — already resolved and labeled, ready to map.
Confidence & sources
Every event carries a confidence score and a corroboration count. Gate low-confidence events, or require N sources before your workflow acts.
POST/your-webhooklive
// one event · one delivery · signed
{
  "type": "Acquisition",
  "occurred_at": "2026-06-28T14:20Z",
  "entities": [
    { "role": "acquirer", "name": "Databricks" },
    { "role": "target",   "name": "Tabular" }
  ],
  "deal_value_usd": 1000000000,
  "confidence": 0.97,
  "sources": 12,
  "watchlists": ["Portfolio"]
}
Hang a node off any field — IF confidence > 0.9 → enrich → notify.
or, formatted for humans in Slack
EEvinorApp2:20 PM
AcquisitionDatabricks acquires Tabular
Deal value$1.0B
Confidence97%
Sources12 outlets
WatchlistPortfolio
View eventposted to #deals · just now
Every claim ships with its evidence

"What if the event is wrong?" Inspect it before you act.

Every event arrives with its evidence attached — confidence score, corroboration count, signed payload. Your workflow can inspect the claim before it acts, and you can audit exactly what it acted on afterward.

Evidence travels with the claim
Confidence score, corroboration count, and typed sources on every event — so a workflow can gate on strength before it acts.
Signed & auditable
Each payload is cryptographically signed. Verify it on receipt, and keep an exact record of what your workflow acted on.
POST/your-webhooksigned
// evidence attached · signed at delivery
{
  "type": "Acquisition",
  "event_id": "evt_8f3a1c",
  "confidence": 0.94,
  "corroboration": 12,
  "sources": [
    { "type": "official_filing", "n": 1 },
    { "type": "newswire",        "n": 4 },
    { "type": "press",           "n": 7 }
  ],
  "signature": "ed25519:9f2a…c71"
}
Inspect before you act — IF confidence > 0.9 AND has(official_filing) → proceed, and verify the signature to audit what fired.
Deduplicated by default

Your workflow fires once, not forty times.

Forty outlets cover the same acquisition. Without dedup, that's forty webhook calls, forty Slack pings, forty CRM writes. Evinor collapses them into one canonical event — so your automation runs exactly once.

No idempotency keys to manage
You don't dedupe downstream. The event is the dedupe.
Every source still counted
The sources field tells you how many outlets corroborated it.
same happening · many outletscollapsed
40 → 1
Reuters · "DBX buys Tabular"TechCrunch · acquisition+ 38 more outlets
§ you set the bar

Accuracy isn't a promise. It's a dial you hold.

Every event is graded — confidence, corroboration count, typed sources. Rules gate on source strength, not just event type. You decide what's strong enough to act on, per rule, per workflow.

high-stakes · tight barwaits for the filing
WHEN an event of type
Insolvencyhappens
INVOLVING an entity in
Supplier watchlist18
ONLY IF the source is authoritative
source_type = official_filing
court record · registry filing
THEN
reroute workflow
low-stakes · loose barfires on first credible report
WHEN an event of type
Fundinghappens
ONLY IFit's corroborated at all
confidence > 0.7
any corroborated report
THEN
draft outreach

The same engine, two different bars. Low-stakes automations fire on the first credible report; high-stakes ones wait for the official filing. You choose, per rule.

§ one event, escalating

Rumor to official record — one evolving object.

A story doesn't arrive fully formed. Evinor delivers it as a single event that gains strength over time — same event_id throughout. Subscribe at whatever strength your workflow deserves.

event_idevt_8f3a1c
0.62
1 sourcefirst wire report
good enough to
draft the email
0.94
12 sourcescorroborated
good enough to
ping #deals
0.99
official filingattached
good enough to
move money

rumor → corroboration → official record · no incumbent delivers this as one subscribable object

§ recipes

Same events, different bars.

Three ways teams wire Evinor events into what they already run — ordered by cost of error. Each fires at a different bar: the cheaper the mistake, the looser the gate.

autonomy laddercheap errors · loose gatecostly errors · authoritative only
Sales & growthfully autonomous · fires on any corroborated report
A target account raises a round
Funding event
type=Funding · watchlist
Enrich in HubSpot
update company + deal
Draft outreach
AI node · personalized
Your rep opens Monday to a warm, timed intro — not a stale list.
Investing & deal teamsautonomous alert, human acts · fires on multi-source corroboration
A portfolio company gets acquired
Acquisition event
entity ∈ Portfolio
Alert deal team
Slack #deals
Log to tracker
row + deal value
The team hears it from you, with numbers attached — before the newsletter.
Ops & agentsautonomous action · gated on authoritative sources only
A supplier files for insolvency
Insolvency event
structured payload
n8n / agent
reason over fields
Take action
reroute · flag · ticket
An agent responds autonomously — gated on an official filing, acting on a corroborated, source-typed claim, not scraped text.
§ your stack

Works in your stack today.

If your tool speaks webhooks, it already speaks Evinor. Point a signed webhook at n8n, Zapier, or Make and start building right now.

One signed webhook. Every automation platform.
No connector to wait for — the generic webhook drops straight into a trigger node and gives you typed JSON to branch on.
n8n
works today
Zapier
works today
Make
works today
Webhookslive
Slacklive
HubSpotcoming soon
Native n8n nodeearly
For agent builders

The deeper story, one layer down.

If you're building agent loops, the primitives matter. Evinor is a push-based event source with canonical resolution and a stable, graded schema — designed to be sensory input an agent can reason over, with its own confidence attached.

Push, not poll

Agents subscribe once and receive events the instant they exist — no polling loops burning tokens and latency to discover nothing changed.

poll
loop · wait · re-check · mostly empty
push
arrives when it's real

Canonical entity resolution

"DBX", "the SF lakehouse firm", and "Databricks, Inc." resolve to one stable entity your agent can key on across every event.

entity = "Databricks" // 3 aliases → 1

A graded schema you can gate on

Discriminated type, versioned fields, plus confidence and source counts on every event — input your agent can gate on: confidence, source count, source type, instead of re-parsing prose.

type: Acquisition · confidence: 0.97

Under the hood this is content-addressed messaging — but you don't have to think about it. Today Evinor covers business incidents — acquisitions, funding, insolvency, layoffs, recalls — and the engine generalizes to new event types and entities over time.

Backtest before you commit

See what a rule would have caught — including what you found out about late.

Define a rule and run it against the last 90 days of real history before you turn it on. Every match it would have fired — and every one you heard about days after it mattered.

This is real — try it live
backtest · 90 dayslive preview
1,284
matching events, last 90 days
Highlighted: the matches you found out about days after they mattered.

Wire the real world into your workflow.

Request access and we'll help you define your first rules and pipe clean events into the tools you already run.

Concierge onboarding for early partners. No spam.