




















Track events from anywhere, send them through elaborate data processing pipelines, and route each one to the destinations you need.
What this is.
One process sits between everything that produces signals at your company and everything that consumes them. It accepts the event, runs whatever transformation you need on it, and fans the result out. From AI prompts, over translations to data enrichments. Pick the actions you need applied to the event on the fly and where it should go afterwards.
sdk.event
webhook.in
agent
github
[ PIPELINE ]
slack
telegram
warehouse.pg
webhook.out
sourcestransformationsdestinations
fig. 1 — the spine. Three stages per signal. The middle is a stack you compose.
Three stages. Any stack.
Every signal walks the same three stages. The middle one is a stack of typed actions you compose per event family. Page views skip the stack and go straight to route. Signups get the whole kitchen.
transform · action catalog14 / growing
Order matters. Dedupe before classify saves model calls. Redact before route enforces PII at the wire.
Where signals come from.
Anywhere signals come from. SDK, webhook, AI agent, and GitHub are live today. Python SDK and Stripe land next.
Where they need to land.
Anywhere they need to land. One signal, many destinations, shaped differently for each consumer.
Tracking a new team invite
Events arrive from the TypeScript SDK matching team.member.invited. The pipeline enriches with the user entity matched on $event.inviter_id, enriches with person data from $event.invitee_email, enriches with the account entity matched on $entity.user.account_id, classifies along pattern (4 labels) and priority (4 labels), and redacts PII (with per-destination overrides). Routed to Slack in #cs, email to cs-leads@ingestlayer.io, and Postgres (table events.team_invite).
sourcesdk.eventTypeScript SDK
01ENRenrich.entityuser by $event.inviter_id
02ENRenrich.person$event.invitee_email · entity → internal
03ENRenrich.entityaccount by $entity.user.account_id
04ENRclassifypattern (4) · priority (4) · balanced
05MUTredact.pii6 types · slack overrides email + phone
tocs-leads@ingestlayer.io
Install, init, track.
$ pnpm add @ingestlayer/sdk
$ echo "INGESTLAYER_KEY=il_…" >> .env
# in your app code:
import { init, track } from "@ingestlayer/sdk";
init({ apiKey: process.env.INGESTLAYER_KEY! });
track({ type: "user.signup", payload: { email: user.email } });此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。