# Snowplow documentation
> Docs for Snowplow CDI, which collects, validates, and models behavioral data in your cloud, and Signals, which serves real-time attributes to apps and agents.
> Source: https://docs.snowplow.io/docs/
> Documentation index: https://docs.snowplow.io/llms.txt

Snowplow Customer Data Infrastructure (CDI) collects behavioral data from your websites, apps, and servers, validates every event against your schemas, and delivers it to your own warehouse, lake, or stream. Signals uses the same events to calculate user attributes in real time, and serves them to your applications and AI agents.

Using a coding agent? [Connect it to the docs](/docs/ai/#connect-your-coding-agent).

Evaluating or running Snowplow?

- [How the pipeline works](/docs/fundamentals/)
- [Deployment options](/docs/get-started/deployment-options/)
- [Try Snowplow free](/docs/get-started/free-trial/)
- [Coming from Segment, GA, Adobe, or Mixpanel](/docs/migration-guides/)

## Choose a product

Use CDI to collect behavioral data and analyze it in your warehouse. Use Signals to act on that behavior in real time, in your app or AI agent.

Snowplow CDI

### [Behavioral data in your warehouse](/docs/cdi/)

Track events from any platform, validate them against your schemas, load them into your warehouse, and model them into tables for analysis.

```js
import { newTracker, trackPageView } from '@snowplow/browser-tracker';
newTracker('sp', '{{collector_url}}', { appId: 'my-app' });
trackPageView();
```

- [Quickstart](/docs/get-started/quickstart/)
- [Trackers and SDKs](/docs/sources/)

Signals

### [Real-time user attributes for apps and agents](/docs/signals/introduction/)

Calculate user attributes as events arrive, and read them from your app or agent with one API call.

```ts
import { Signals } from '@snowplow/signals-node';
const signals = new Signals({ baseUrl, apiKey, apiKeyId, organizationId });
const attributes = await signals.getServiceAttributes({ name: 'my_service', attribute_key: 'domain_userid', identifier });
```

- [Quickstart](/docs/signals/quickstart/)
- [Connect with the SDKs](/docs/signals/connection/)

Deploying or administering Snowplow? See the [platform overview](/docs/platform/).

## Find a task

If you know what you want to do, start from the page in this table.

| I want to                                           | Start here                                                                                                             |
| --------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
| Add tracking to a website                           | [Set up the web tracker](/docs/sources/web-trackers/tracker-setup/)                                                    |
| Add tracking to a mobile app                        | [Set up the mobile trackers](/docs/sources/mobile-trackers/installation-and-set-up/)                                   |
| Define a custom event                               | [Create a data structure](/docs/event-studio/data-structures/)                                                         |
| Find out why events failed validation               | [See failed events in Console](/docs/monitoring/)                                                                      |
| Test tracking on my machine                         | [Run Snowplow Micro locally](/docs/testing/snowplow-micro/local/)                                                      |
| Load events into Snowflake, BigQuery, or Databricks | [Warehouse and lake destinations](/docs/destinations/warehouses-lakes/)                                                |
| Build sessions and users tables                     | [Unified Digital dbt package](/docs/modeling-your-data/modeling-your-data-with-dbt/dbt-models/dbt-unified-data-model/) |
| Give an AI agent real-time context about a user     | [Choose how to feed an agent](/docs/signals/applications/)                                                             |
| Check which component versions I need               | [Versions and compatibility](/docs/api-reference/versions/)                                                            |

## Start with a quickstart

Each quickstart ends with events or attributes you can see. Times assume you have the prerequisites listed on the page.

Snowplow CDI30 min

### [Quickstart with your coding agent](/docs/get-started/quickstart/)

Get a hosted environment, connect your coding agent, and send validated events from your app.

Snowplow CDI10 min

### [Track your first events](/docs/get-started/tracking/)

Send page views and other events from a website with the JavaScript tracker.

Signals20 min

### [Signals quickstart with your coding agent](/docs/signals/quickstart/)

Describe what you want to build, and let your agent add the tracking and Signals configuration.

Signals10 min

### [Calculate attributes in real time](/docs/signals/get-started/quickstart-tutorial/)

Define attributes, publish them, and read them back with the Python SDK or Console.
