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

# Connect Ontora to LangDock

> Add Ontora as a remote MCP integration in LangDock — create campaigns and pull raw transcripts without leaving LangDock.

LangDock can connect remote MCP servers natively, so Ontora plugs in without any custom code:
draft a campaign with your LangDock assistant, push it to Ontora, launch it, and pull raw
transcripts back for downstream analysis — all from inside LangDock.

## What you need

* An Ontora workspace API key (created below — takes a minute)
* Access to **Integrations** in your LangDock workspace

## Step 1 — Create the API key in Ontora

1. In Ontora, open your profile menu → **API Keys** (or go to `/developer/api`).
2. Click **Create key** and pick the access level:
   * **Full access** — the assistant can create, update, and launch campaigns. Launching
     sends real invitations to participants.
   * **Read-only** — analysis only: transcripts, results, reports. Right choice if LangDock
     should consume interview data but never touch campaigns.
3. Copy the secret (`ont_live_...`). It is shown exactly once.

## Step 2 — Add the integration in LangDock

1. In LangDock, open **Integrations → Add Integration → Start from scratch**.
2. Choose **Connect remote MCP**.
3. Server URL:

   ```
   https://api.ontora.com/mcp/
   ```

   If LangDock asks for the transport, pick **Streamable HTTP** (not SSE).
4. Authentication: **API Key Authentication**, header name `Authorization`, value
   `Bearer ont_live_...` (your key from step 1).
5. Test the connection. LangDock discovers Ontora's tools automatically — enable the ones
   your team should use and save.

## Step 3 — Verify

Ask your LangDock assistant:

> List my Ontora campaigns.

If it returns your workspace's campaigns, the integration is live.

## What your team can do from LangDock

| Task                                                                                                                          | Tools involved                                                       | Key needed  |
| ----------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------- | ----------- |
| Draft a campaign from a LangDock document (all question types: open, single/multiple choice, Likert, ranking, matrix, slider) | `create_campaign`, `update_campaign`                                 | Full access |
| Add participants and launch                                                                                                   | `add_contacts`, `start_campaign`                                     | Full access |
| Monitor progress                                                                                                              | `get_progress`, `list_campaigns`                                     | Read-only   |
| Pull raw transcripts for further processing                                                                                   | `list_conversations`, `get_transcript`, `export_transcript_markdown` | Read-only   |
| Reports, roadmap, personas                                                                                                    | `get_roadmap`, `get_personas`, `export_report_markdown`              | Read-only   |
| Ask questions across all interviews                                                                                           | `query_campaign`                                                     | Read-only   |

A typical flow the assistant handles end-to-end: `create_campaign` (draft) → `add_contacts`
→ `start_campaign` → `get_progress` → `get_transcript`.

## Notes and limits

* **Anonymity wins.** Campaigns with transcript-hiding anonymity settings refuse transcript
  reads over MCP too, by design — the assistant gets a clear error instead of data.
* **Rate limits.** Each key has a per-minute tool-call budget; the assistant receives a
  structured `rate_limited` error and can simply retry later. List tools are paginated
  (`limit`/`offset`).
* **Revocation.** Deleting the key in Ontora cuts LangDock's access within about a minute
  (verification results are cached briefly for performance).
* **Sharing.** The integration is configured once per LangDock workspace by whoever manages
  integrations there; colleagues then use it without touching keys.
