> ## Documentation Index
> Fetch the complete documentation index at: https://glassray.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Connect LangSmith

> Connect LangSmith so Glassray pulls your traces on a sync cadence.

Glassray connects to LangSmith as a **pull** integration: you provide an API key, region, and a project, and Glassray fetches new traces on a sync cadence. It's one of four [trace integrations](/traces) - the others are [Langfuse](/langfuse), [PostHog](/posthog), and [OpenTelemetry](/otlp-ingestion).

## Connect

<Steps>
  <Step title="Open Sources" icon="plug">
    In the dashboard, go to **Settings → Sources** and add **LangSmith**.
  </Step>

  <Step title="Enter your API key and region" icon="key">
    Provide your LangSmith **API key** and **region**. If you're self-hosted, also set your **host URL**. [How do I create a LangSmith API key?](https://docs.langchain.com/langsmith/create-account-api-key)
  </Step>

  <Step title="Pick a project" icon="folder">
    Glassray lists your tracing **projects** - choose the one to pull from. The bound project is **fixed after connect**; to switch, connect a new source.
  </Step>

  <Step title="Glassray verifies and syncs" icon="circle-check">
    Glassray verifies the credentials and starts pulling new traces on a cadence.
  </Step>
</Steps>

<Info>
  Your LangSmith credentials are stored in **WorkOS Vault**, never in Glassray's database. The connected source row only holds a reference to the vaulted secret.
</Info>

## Filtering

A source can carry an optional **filter** so only the runs you care about are pulled - narrow by trace name and scope. Filtering is applied at ingest, and changes are go-forward (re-sync to apply a new filter). See [Traces](/traces).

<Tip>
  Prefer to push instead of pull? Use [OpenTelemetry](/otlp-ingestion). Once traces land, head to [Flows](/flows) or [Ask Glassray](/ask-glassray).
</Tip>
