# ingestlayer > EU-hosted infrastructure that ingests events from anywhere, runs AI classification, enrichment, and PII redaction in-flight, and routes events where teams act. ingestlayer is the intelligence layer for your event pipeline. A pipeline is built visually in the dashboard (no YAML configs) and runs on every event: ingest → filter → enrich → classify → redact → transform → route. There are fourteen actions. Events come in via the TypeScript SDK, the REST API, or signed third-party webhooks, and land in destinations like Slack, webhooks, and your warehouse. The dashboard and auth live on a separate app domain (https://app.ingestlayer.com); this site is the marketing + docs surface. ## Getting started (for agents implementing an integration) - [TypeScript SDK source](https://github.com/ingestlayer/sdk): the open-source SDK — install it, then ingest events from your app. Start here to wire up ingestion. - [Quickstart](https://ingestlayer.com/docs/quickstart): send your first event in ~5 minutes. - [TypeScript SDK docs](https://ingestlayer.com/docs/sdk-typescript): the SDK reference and ingest patterns. - [REST API](https://ingestlayer.com/docs/rest-api): everything the dashboard does, over HTTP — use when there's no SDK for your language. - [Webhook ingress](https://ingestlayer.com/docs/webhook-ingress): accept signed webhooks from third parties. - [Template syntax](https://ingestlayer.com/docs/templates): the $-dialect for referencing event, entity, and action-result data. ## Documentation ### Start - [quickstart](https://ingestlayer.com/docs/quickstart): send your first event - [build a pipeline](https://ingestlayer.com/docs/first-pipeline): in the dashboard ### Concepts - [events](https://ingestlayer.com/docs/events): the unit of ingestion - [sources](https://ingestlayer.com/docs/sources): where events come from - [pipelines](https://ingestlayer.com/docs/pipelines): what runs on every event - [destinations](https://ingestlayer.com/docs/destinations): where events land - [entities](https://ingestlayer.com/docs/entities): your identity graph - [deliveries](https://ingestlayer.com/docs/deliveries): per-pipeline retry semantics ### Actions & Templates - [all fourteen actions](https://ingestlayer.com/docs/actions): filter, enrich, classify, redact, transform, … - [template syntax](https://ingestlayer.com/docs/templates): the $-dialect ### Reference - [TypeScript SDK](https://ingestlayer.com/docs/sdk-typescript): ingest from your app - [REST API](https://ingestlayer.com/docs/rest-api): everything the dashboard does - [webhook ingress](https://ingestlayer.com/docs/webhook-ingress): third-party signed webhooks ### Glossary - [glossary](https://ingestlayer.com/docs/glossary): every term in one place ## Product - [Ingestion](https://ingestlayer.com/ingestion): how events get in (SDK, REST, webhooks). - [Transformation](https://ingestlayer.com/transformation): the in-flight actions — filter, enrich, classify, redact, transform. - [Destinations](https://ingestlayer.com/destination): where events land. - [Entities](https://ingestlayer.com/entities): the identity graph events resolve against. - [Use cases](https://ingestlayer.com/use-cases): worked examples across the use-case × destination matrix. - [Pricing](https://ingestlayer.com/pricing): plans and limits. - [Changelog](https://ingestlayer.com/changelog): what shipped, dated. ## Blog - [valve: your pipeline in the menu bar.](https://ingestlayer.com/blog/valve-your-pipeline-in-the-menu-bar): valve makes your menu bar a pipeline destination, so the pipeline decides which events are worth a desktop notification — not a setting in the app. - [Route one event to many destinations at once.](https://ingestlayer.com/blog/route-events-to-multiple-destinations): You wire each destination by hand — a Slack call, a CRM POST, a database insert. Here's how to route one event to multiple destinations from one pipeline. - [Redact PII from webhook events before they hit Slack.](https://ingestlayer.com/blog/redact-pii-from-webhook-events): Signup and payment notifications carry customer emails, names, and IPs into Slack. How to redact PII from webhook events, per destination, in the pipe. - [Classify webhook events with an LLM, then route by meaning.](https://ingestlayer.com/blog/classify-webhook-events-with-an-llm): Some events can only be sorted by what they mean, not which field they carry. Here's how to classify webhook events with an LLM mid-pipe, then route on the label. - [Capture every app lead straight into a Notion database.](https://ingestlayer.com/blog/capture-leads-in-a-notion-database): Your leads happen in your app. Your CRM is a Notion database. Here's the pipe that turns a form submission into an enriched, qualified row. - [Get a Slack ping for every signup, without the noise.](https://ingestlayer.com/blog/slack-alerts-without-the-noise): Wiring a webhook to Slack so it pings on every signup takes five minutes. Making those pings worth reading is the actual job. Here's the pipe in between. - [Introducing ingestlayer.](https://ingestlayer.com/blog/introducing-ingestlayer): I kept rebuilding the same pattern: an event happens here, something has to happen there. So I built the universal solution I wanted. ## Optional - [Security](https://ingestlayer.com/security): hosting, data handling, and compliance posture. - [Privacy](https://ingestlayer.com/privacy): privacy policy. - [Terms](https://ingestlayer.com/terms): terms of service. - [Company](https://ingestlayer.com/company): about ingestlayer. - [Sitemap](https://ingestlayer.com/sitemap.xml): the full list of public URLs. - [RSS feed](https://ingestlayer.com/feed.xml): blog posts and changelog entries.