> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.runtype.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.runtype.com/_mcp/server.

# Integrations (PostHog, Weaviate, Daytona)

Use **Settings > Integrations** to connect PostHog, Weaviate, Daytona, and Orthogonal to Runtype.

## Available integrations

This page covers the following integrations:

* **PostHog**: Send custom events from your Flows to a PostHog project with the **Send Event** step.
* **Weaviate**: Use a Weaviate collection for semantic search.
* **Daytona**: Run code steps and custom Tools in remote Daytona sandboxes.
* **Orthogonal**: Use the Orthogonal API marketplace from Agents and Flows.

The other integrations on the **Integrations** screen have their own guides. The Next steps section links to them.

## Plan requirements

Saving your own PostHog, Daytona, or Orthogonal key is a bring your own key (BYOK) feature, available on the Team plan and higher. The first time you save a PostHog or Daytona key, Runtype checks your plan. If your plan doesn't include BYOK, the dashboard shows **Failed to save PostHog API key** or **Failed to save Daytona API key**, and the API returns `Bring Your Own Key requires a Team plan or higher.` Replacing a key that you already saved doesn't need BYOK. For Orthogonal, the dashboard disables the key field when your plan doesn't include BYOK.

Daytona and Orthogonal can use a Runtype platform key when you don't add your own. PostHog has no platform key, so the **Send Event** step needs your own PostHog key and the Team plan or higher.

## PostHog integration

The PostHog key lets the [Send Event](/user-guide/flows/flow-step-types-overview#send-event) step send events that you define to your PostHog project. Runtype doesn't forward platform usage to PostHog on its own.

To configure PostHog, follow these steps:

1. Get your PostHog Project API Key from **Settings > Project** in PostHog.
2. In Runtype, open **Settings > Integrations**.
3. Under **Analytics & Observability**, enter the key in **PostHog Project API Key**.
4. Click **Save Key**.

Use a Project API Key, which starts with `phc_`, not a Personal API Key. The **Send Event** step requires a Project API Key, and the dashboard rejects a key that doesn't start with `phc_`.

The **Send Event** step sends events to PostHog US Cloud (`us.i.posthog.com`), and sets each event's `distinct_id` to the ID of the Runtype user who ran the Flow. If your PostHog project is in the EU region, events don't reach it. To send events to another PostHog host, use a **Make API Call** step instead.

## Weaviate integration

Use Weaviate as a vector provider for **Semantic Search** in Agents and for the **Vector Search** step in Flows.

To add a Weaviate connection, open **Settings > Integrations**, go to **Vector Databases**, and click **Add Configuration**. For complete setup instructions, see [Weaviate (vector search)](/user-guide/integrations/weaviate-vector-search).

## Daytona integration

To run code steps and custom Tools in Daytona sandboxes, follow these steps:

1. Create an API key in the Daytona dashboard.
2. In Runtype, open **Settings > Integrations**.
3. Under **Code Execution**, enter the key in **Daytona API Key**.
4. Click **Save Key**.

To use Daytona, set the **Execution Environment** of a **Run Code** step or a custom Tool to **Daytona Sandbox**. The step inspector labels this setting **Runtime**. For the step settings, see [Using transform-data steps](/user-guide/flows/using-transform-data-steps). For Tools, see [Creating custom tools](/user-guide/tools/creating-custom-tools).

When you don't add your own key, Runtype runs Daytona sandboxes with a platform key and bills the sandbox runtime to your Runtype usage. With your own key, Daytona bills you directly. For more about platform usage, see [Billing and plans](/user-guide/settings/billing-and-plans).

## Orthogonal integration

To configure Orthogonal for your Agents and Flows, follow these steps:

1. Get your Orthogonal API key from the [Orthogonal marketplace](https://www.orthogonal.com/discover).
2. In Runtype, open **Settings > Integrations**.
3. Under **Orthogonal**, enter the key in **Orthogonal API Key**.
4. Click **Save Key**.

If your plan doesn't include BYOK, the key field is disabled and the dashboard shows **Add a payment method**. Orthogonal then uses the platform key.

## Manage and remove integrations

**Settings > Integrations** shows the status of each integration:

* PostHog, Daytona, and Orthogonal show a **key configured** message after you save a key. The field doesn't show the saved key.
* Each Weaviate configuration appears in a list, and the default configuration has a **Default** badge. Open a configuration's actions menu to click **Edit Configuration**, **Set as Default**, or **Delete**.

Your PostHog and Daytona keys belong to you in the current organization. Teammates don't share them, and the status shows only your own key.

The dashboard provides the following removal controls:

* For a Daytona or Orthogonal API key, click **Remove Key**. Runtype then uses the platform key.
* For a PostHog key, the dashboard has no remove control. To replace the key, enter the new key and click **Save Key**. To remove it, use the API.
* For a Weaviate connection, open its actions menu and click **Delete**.

Vector searches use your default Weaviate configuration, even when a **Vector Search** step selects a different configuration. If no configuration is the default, Runtype uses one of your remaining configurations. After you delete the default configuration, set another configuration as default to control which one searches use.

## Manage keys with the API

The `/v1/integration-configs` endpoints read, save, and remove PostHog and Daytona keys. An API key needs the `INTEGRATIONS:READ` scope to read and the `INTEGRATIONS:WRITE` scope to save or remove.

The following command saves a PostHog key:

**`cURL`**

```bash title="cURL"
curl -X POST https://api.runtype.com/v1/integration-configs/posthog \
  -H "Authorization: Bearer YOUR_RUNTYPE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "apiKey": "YOUR_POSTHOG_PROJECT_API_KEY" }'
```

Replace `YOUR_RUNTYPE_API_KEY` with your Runtype API key and `YOUR_POSTHOG_PROJECT_API_KEY` with your PostHog Project API Key. To remove the key, send `DELETE` to the same path. A plan without BYOK returns `402` on the first save, and a key without the required scope returns `403`.

## Troubleshooting

The following errors are the most common:

* **PostHog API key not configured**: You haven't saved a PostHog key. Save one under **Settings > Integrations > Analytics & Observability**. The error message names **Settings > Analytics**, but the key field is on the **Integrations** screen.
* **PostHog API error: 401**: PostHog rejected the key. Check that you saved the Project API Key that starts with `phc_`, not a Personal API Key.
* **Daytona API key not configured**: Neither your key nor a platform key is available. Save a Daytona key under **Settings > Integrations > Code Execution**.
* **Weaviate configuration not found**: You have no Weaviate configuration. Add one under **Settings > Integrations > Vector Databases**.

## Next steps

Use these guides to continue:

* [Connecting AI model providers](/user-guide/integrations/connecting-ai-model-providers): connect provider keys.
* [Platform keys vs. bring your own key (BYOK)](/user-guide/getting-started/platform-keys-vs-byok): compare key options.
* [Slack integration](/user-guide/integrations/slack-integration): connect Slack tools to an Agent.
* [Google Workspace integration](/user-guide/integrations/google-workspace-integration): connect Gmail, Calendar, Docs, Sheets, and Drive.
* [Linear integration](/user-guide/integrations/linear-integration): connect Linear tools to an Agent.
* [GitHub integration](/user-guide/integrations/github-integration): connect GitHub tools to an Agent.
* [Firecrawl (web scraping)](/user-guide/integrations/firecrawl-web-scraping): configure Firecrawl for web scraping.
* [Massive (web rendering)](/user-guide/integrations/massive-web-render): configure Massive for web rendering.
* [Exa (web search)](/user-guide/integrations/exa-web-search): configure Exa for web search.
* [Braintrust (tracing)](/user-guide/integrations/braintrust-tracing): send traces to Braintrust.
* [Integrations overview](/user-guide/integrations/integrations-overview): see each integration, where to connect it, and where you can use it.