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

# Parloa

> Connect your Parloa AI agents to Openlayer for automated monitoring and evaluation

![The Parloa integration in Openlayer, connected to an EU tenant](https://mintcdn.com/openlayer-44/EFniczzlq0VOMCYD/images/integrations/parloa_hero.png?fit=max\&auto=format\&n=EFniczzlq0VOMCYD\&q=85\&s=70902619171f3e3a4e9b15c140407134)

Openlayer integrates with [Parloa](https://www.parloa.com/) to help you monitor, evaluate, and
improve your Parloa AMP voice and chat agents. The integration connects to your Parloa tenant with
an API client, discovers your agents, and periodically syncs their conversations so you can trace
every turn in Openlayer, including transcripts, LLM calls, tool calls, and handoffs.

## How it works

Once connected, Openlayer:

1. **Discovers your agents**: reads the agent blueprints from the Parloa Agent Management API
2. **Creates projects and data sources**: each agent you enable gets its own Openlayer project and
   data source, or routes to an existing one you pick
3. **Syncs conversations**: reads settled conversations from the Parloa Conversation Store API and
   turns each conversation turn into a trace

> [!NOTE]
>
> All access is **read-only**. Openlayer never writes data to your Parloa
> tenant.

***

## Prerequisites

### 1. Workspace admin role

Only workspace admins can connect Parloa, change its settings, enable, disable, or backfill agents,
and disconnect it. Other members can see the connection and its agents.

### 2. Create an API client in Parloa AMP Studio

Openlayer authenticates with an API client you create in AMP Studio under **API clients**. Parloa
support may need to provision it for you.

Give the client these scopes:

| Scope | Purpose |
| - | - |
| `cpl.conversations` | Read conversations from the Conversation Store API |
| `ac.agents:read` | Discover agents through the Agent Management API |
| `cpl.conversations:read-all` | Only for the **Raw** data mode (non-anonymized transcripts) |

One API client can hold all of these scopes. If your tenant gives agent discovery to a separate
client with the **Agent reader** permission set, create both and enter the second one as the Agent
Management client in [Step 2](#step-2-provide-your-api-client-credentials).

> [!WARNING]
>
> API clients are bound to the tenant's region. A client from an EU tenant
> (`app.parloa.com`) does not work against the US region (`app.parloa.us`), and
> the other way around.

***

## Setup guide

### Step 1: Navigate to the integration

In your Openlayer workspace, go to **Settings** → **Integrations** and find the **Parloa** card under
**Agent builders**. Click **Enable**.

![The Openlayer Integrations page, searched for Parloa, with the Parloa card under Agent builders and its Enable button](https://mintcdn.com/openlayer-44/EFniczzlq0VOMCYD/images/integrations/parloa_integrations_page.png?fit=max\&auto=format\&n=EFniczzlq0VOMCYD\&q=85\&s=e2adb346f31485344a422de26945ea26)

### Step 2: Provide your API client credentials

Fill in the connect form, then click **Connect**:

* **Region**: `EU (app.parloa.com)` or `US (app.parloa.us)`, matching your tenant
* **Conversation Store client ID** and **Conversation Store client secret**: the API client from
  the [prerequisites](#2-create-an-api-client-in-parloa-amp-studio)
* **Agent Management client ID** and **Agent Management client secret** *(optional)*: only when
  agent discovery uses a separate client. Fill in both or neither.
* **Data mode**: **Anonymized** (the default) reads the transcripts Parloa anonymizes. **Raw** reads
  the original transcripts and needs the `cpl.conversations:read-all` scope.

![The Parloa connect form in Openlayer, with the Region, Conversation Store client, optional Agent Management client, and Data mode fields](https://mintcdn.com/openlayer-44/EFniczzlq0VOMCYD/images/integrations/parloa_connect.png?fit=max\&auto=format\&n=EFniczzlq0VOMCYD\&q=85\&s=e2ff2c5a6ab04622965a4e5f7952dcbc)

Openlayer validates the credentials before it saves anything: it reads a page of conversations in
the chosen data mode and lists your agents. If the conversations cannot be read, the form shows the
error and nothing is stored. If only the agent list is refused, Openlayer still connects, lists the
agents that had conversations in the last 7 days, and shows a warning in the connection overview.

> [!NOTE]
>
> Client secrets are write-only. Openlayer stores them encrypted and never
> returns them.

### Step 3: Configure sync settings

Once connected, the **General** tab shows the connection **Overview** (region, client IDs, data
mode, status, and last sync) and its **Settings**:

* **Periodic sync**: on by default; syncs every 15 minutes. Turn it off to pause syncing without
  disconnecting, or click **Sync now** to queue a sync right away.
* **Initial sync range**: how far back the first sync reads. Choose **All available data**, **Last 7
  days**, or a **Custom start date**. Without a start date, the first sync reads the last 7 days.
* **Data mode**: switch between **Anonymized** and **Raw**. The change applies from the next sync.
* **Auto-enable new agents**: off by default. When on, Openlayer creates a project and starts
  monitoring for every agent it discovers for the first time. An agent you disable is never
  re-enabled automatically.

![The General tab of a connected Parloa integration in Openlayer, with the overview and the Periodic sync, Initial sync range, Data mode, and Auto-enable new agents settings](https://mintcdn.com/openlayer-44/EFniczzlq0VOMCYD/images/integrations/parloa_connected.png?fit=max\&auto=format\&n=EFniczzlq0VOMCYD\&q=85\&s=30d11550bf612c7c1dbd8e62a6538e98)

### Step 4: Enable agents

The **Agents** tab lists every discovered agent. Discovery alone does not start monitoring: turn on
the switch of each agent you want to monitor. The table shows:

* **Agent**: the agent name and its Parloa agent ID
* **Imported conversations**: the number of conversations synced so far
* **Last sync**: when the agent was last synced

Use the search box and the status filter (**Enabled** or **Disabled**) to find an agent, and click
the refresh button next to the filter to re-discover agents from Parloa.

![The Agents tab of the Parloa integration in Openlayer, listing five agents with their imported conversations, last sync, and enable switch](https://mintcdn.com/openlayer-44/EFniczzlq0VOMCYD/images/integrations/parloa_agents.png?fit=max\&auto=format\&n=EFniczzlq0VOMCYD\&q=85\&s=371cea5a52404f9906e6abc0354e6fe4)

When you turn on an agent, choose where its data goes:

* **Create new project**: Openlayer creates a project named `Parloa - <agent name>` and a data
  source for it
* **Map to existing project**: route the agent's data to a project and data source you already
  have

![The Enable dialog for a Parloa agent, with the Create new project and Map to existing project options](https://mintcdn.com/openlayer-44/EFniczzlq0VOMCYD/images/integrations/parloa_enable.png?fit=max\&auto=format\&n=EFniczzlq0VOMCYD\&q=85\&s=d7e1ffed65d60c99f00f294514ae68f4)

The menu (the three dots) on an enabled agent has **View project**, **Backfill**, and **Disable**.
Disabling an agent stops its sync; its project and data are kept.

Agents removed from your Parloa tenant show a **Deleted in Parloa** tag. Their data stays in
Openlayer.

***

## Monitoring in Openlayer

Once an agent is enabled and the first sync completes, its conversations appear in its project.

### Conversation traces

Each conversation turn (a caller message and the agent's reply) becomes one trace. The Parloa
conversation is the trace's session and the caller is its user, so the **Sessions** and **Users**
views group turns back into whole conversations.

Inside a trace, the agent-side events of the turn become steps:

| Step | What it holds |
| - | - |
| **Agent invocation** | The LLM call behind each agent decision, with token usage |
| The tool name (for example `find_appointment`) | A tool or MCP tool call, with its arguments and response |
| **Handoff to** *agent* | A handoff to another agent |
| **Agent activated:** *agent* | A sub-agent activation |
| **Workflow** / **Routing to** *destination* | Workflow executions and routing decisions |
| **Guardrail triggered** | A guardrail that fired during the turn |
| **Fatal error** / **Transient error** | Errors the agent hit |

The trace also carries the turn's latency (from the caller's message to the agent's first reply)
and metadata such as the conversation ID, platform, environment, and deployment.

![Trace details for a Parloa conversation turn in Openlayer, with Agent invocation, tool call, and guardrail steps](https://mintcdn.com/openlayer-44/EFniczzlq0VOMCYD/images/integrations/parloa_trace.png?fit=max\&auto=format\&n=EFniczzlq0VOMCYD\&q=85\&s=bd41ff9704aad9be9b050f33f1eed592)

### Sync timing

Openlayer reads a conversation only after it has settled, about two hours after it starts. Parloa
recommends reading conversations at least an hour after they start, so a conversation in progress
appears in a later sync.

Turns already imported are skipped, so re-reading a conversation never duplicates traces.

> [!NOTE]
>
> Parloa does not expose call recordings through its API, so Parloa traces have
> no audio view.

### Backfill historical data

To import conversations from before the agent was enabled, open the menu (the three dots) next to an
enabled agent and click **Backfill**. Choose where the backfill starts:

* **Initial sync range**: re-read from the connection's start date, or the last 7 days if it has
  none
* **Custom start date**: re-read from a specific date forward

![The Backfill dialog for a Parloa agent, with Initial sync range and Custom start date](https://mintcdn.com/openlayer-44/EFniczzlq0VOMCYD/images/integrations/parloa_backfill.png?fit=max\&auto=format\&n=EFniczzlq0VOMCYD\&q=85\&s=06ebf842c2e31b18b6ea02afa90da466)

Duplicate turns are skipped, so it is safe to run a backfill at any time.

### Run evaluations

With conversations flowing into Openlayer, you can:

* [Create tests](https://docs.openlayer.com/tests/overview.md) to score response quality
* Detect [PII](https://docs.openlayer.com/tests/catalog/contains-p-i-i.md) in agent responses
* Monitor latency and token trends per agent
* Evidence AI controls with real conversations in [governance frameworks](https://docs.openlayer.com/governance/overview.md)

***

## Disconnecting

On the **General** tab, under **Remove from workspace**, click **Disconnect Parloa** and confirm with
**Remove Parloa**.

Disconnecting stops all agent monitoring and syncing and deletes the stored credentials. Existing
projects and data are preserved.

***

## Troubleshooting

| Symptom | Likely cause | Fix |
| - | - | - |
| Connect fails | Wrong client ID, secret, or region | Check the credentials in AMP Studio, and that the region matches your tenant |
| Connect fails in **Raw** mode only | The client lacks `cpl.conversations:read-all` | Add the scope, or connect in **Anonymized** mode |
| The overview says only recent agents are shown | Openlayer could not list agent blueprints | Give the client `ac.agents:read`, or enter an Agent Management client with the **Agent reader** permission set |
| Status shows **Error** | The API client was revoked or its secret rotated | Disconnect and connect again with the current credentials |
| An agent shows an error below its name | That agent's last sync failed | Hover the error for details; the next sync retries |
| Conversations appear late | Openlayer waits about two hours for conversations to settle | Expected; the conversation syncs once it has settled |
| A member cannot connect, change settings, or enable agents | These actions are admin-only | Ask a workspace admin |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.