# Eppo — Pipedream Connect

> Eppo is the only platform that enables trustworthy, self-serve experimentation and feature management for every team: from simple A/B tests and rollout flags to AI personalization and marketing incrementality tests.

- API slug: `eppo` (use in MCP headers and tool keys)
- Auth: API key (Pipedream-managed)
- Categories: Data Analytics
- Website: https://www.geteppo.com/
- This page (HTML): https://pipedream.com/apps/eppo
- Tools: 9 actions · 0 triggers

## Connect via MCP (recommended)

- Endpoint: `https://remote.mcp.pipedream.net/v3`
- Headers: `Authorization: Bearer <token>` · `x-pd-project-id` · `x-pd-environment` · `x-pd-external-user-id` · `x-pd-app-slug: eppo`

```ts
import { Client } from "@modelcontextprotocol/sdk/client/index.js"
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js"
import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const accessToken = await pd.rawAccessToken

const transport = new StreamableHTTPClientTransport(
  new URL("https://remote.mcp.pipedream.net/v3"),
  {
    requestInit: {
      headers: {
        Authorization: `Bearer ${accessToken}`,
        "x-pd-project-id": process.env.PIPEDREAM_PROJECT_ID!,
        "x-pd-environment": "production",
        "x-pd-external-user-id": "{external_user_id}", // any stable ID for this user in your system
        "x-pd-app-slug": "eppo",
      },
    },
  },
)

const mcp = new Client({ name: "my-agent", version: "1.0.0" })
await mcp.connect(transport)

const { tools } = await mcp.listTools()

// e.g. run Create Experiment:
const result = await mcp.callTool({
  name: "eppo-create-experiment",
  arguments: {
    name: "Name",
    experimentKey: "Experiment Key",
  },
})
```

Docs: [MCP guide](https://pipedream.com/docs/connect/mcp/developers.md)

## API proxy

For a Eppo endpoint with no pre-built tool, the proxy forwards your request with the connected user's credentials attached.

```bash
# The path segment is the target URL, URL-safe base64 encoded:
# https://eppo.cloud/api/v1/definitions

curl "https://api.pipedream.com/v1/connect/{project_id}/proxy/aHR0cHM6Ly9lcHBvLmNsb3VkL2FwaS92MS9kZWZpbml0aW9ucw?external_user_id={external_user_id}&account_id=apn_xxxxxxx" \
  -H "Authorization: Bearer {access_token}" \
  -H "x-pd-environment: production"
```

Docs: [API proxy guide](https://pipedream.com/docs/connect/api-proxy.md)

## SDK

```ts
import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const result = await pd.actions.run({
  id: "eppo-create-experiment",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    eppo: { authProvisionId: "apn_xxxxxxx" },
    name: "Name",
    experimentKey: "Experiment Key",
  },
})
```

Docs: [Managed auth guide](https://pipedream.com/docs/connect/managed-auth/quickstart.md) · [Tools guide](https://pipedream.com/docs/connect/components.md)

## Actions (9)

### `eppo-create-experiment` — Create Experiment (Write)

Create a new experiment analysis in Eppo. Use List Experiments first to find valid entityId and assignmentSourceId values — these numeric IDs are not available separately and must be copied from an existing experiment. Use List Metrics to find metric IDs to attach to the experiment. experimentKey…

Full schema: https://pipedream.com/apps/eppo/actions/create-experiment.md

### `eppo-create-feature-flag` — Create Feature Flag (Write)

Create a new feature flag in Eppo with a unique key, display name, entity ID, variations, and optional tags. Use this when the user wants to add a new feature flag. The key must be a unique URL-safe slug (e.g. my-new-feature). Duplicate keys are rejected by the API. IMPORTANT: Each variation…

Full schema: https://pipedream.com/apps/eppo/actions/create-feature-flag.md

### `eppo-get-experiment-results` — Get Experiment Results (Read-only)

Retrieve full details and analysis results for a single experiment, including outcome, winning variant key, key takeaways, and per-metric results. Use this when the user asks about experiment performance, results, or analysis for a specific experiment. Use List Experiments first to find the numeric…

Full schema: https://pipedream.com/apps/eppo/actions/get-experiment-results.md

### `eppo-get-feature-flag` — Get Feature Flag (Read-only)

Retrieve full details for a single feature flag including its allocation rules, assignment configuration, and variations. Use this tool when the user asks about a specific flag's configuration or assignment logic. Use List Feature Flags first to find the numeric flagId — Eppo uses integer IDs, not…

Full schema: https://pipedream.com/apps/eppo/actions/get-feature-flag.md

### `eppo-list-experiments` — List Experiments (Read-only)

Retrieve all experiments in Eppo with their name, key, status, entity ID, and assignment source ID. Use this to discover experiment IDs for Get Experiment Results, or find entity_id values needed to create new experiments. Filter by type (all, experiments, or holdouts), experimentKey, entityId…

Full schema: https://pipedream.com/apps/eppo/actions/list-experiments.md

### `eppo-list-feature-flags` — List Feature Flags (Read-only)

Retrieve all feature flags in Eppo with their name, key, enabled status, and allocation configuration. Use this tool when a user wants to see all flags, find a specific flag by name, or discover flag IDs needed by Get Feature Flag or Toggle Feature Flag. Set includeArchived to also return archived…

Full schema: https://pipedream.com/apps/eppo/actions/list-feature-flags.md

### `eppo-list-metrics` — List Metrics (Read-only)

Retrieve all metrics defined in Eppo, including their names, IDs, descriptions, and minimum detectable effects. Use this tool to discover available metrics or find metric IDs needed when creating an experiment with Create Experiment. Filter by entityId to scope results to a specific entity type, or…

Full schema: https://pipedream.com/apps/eppo/actions/list-metrics.md

### `eppo-toggle-feature-flag` — Toggle Feature Flag (Write)

Enable or disable a feature flag in a specific environment in Eppo. Use this when the user wants to turn a flag on or off in Production, Test, or another environment. Use List Feature Flags or Get Feature Flag first to find the numeric flagId and to discover valid environmentId values from the…

Full schema: https://pipedream.com/apps/eppo/actions/toggle-feature-flag.md

### `eppo-upsert-metric` — Upsert Metric (Write)

Create or update a metric in Eppo. Omit metricId to create a new metric; provide metricId to update an existing one. Use this when the user wants to define a new KPI/metric or update the definition of an existing metric. Use List Metrics to find the numeric metricId for an update and to look up the…

Full schema: https://pipedream.com/apps/eppo/actions/upsert-metric.md

---

- All apps: https://pipedream.com/apps — index: https://pipedream.com/llms.txt
- Pipedream docs for agents: https://pipedream.com/docs/llms.txt
