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

# Audience Call QA

> Use per-contact call quality averages in Audience, segments, History, REST and MCP.

Audience represents a contact, while History represents that contact's individual interactions across calls, messaging and email. A contact can therefore have many History rows but only one Audience row.

## Filter builder and saved segments

Select **Filter** above the Audience table to combine conditions in one visual
filter builder. Conditions are ANDed; multiple values inside Status,
Channel, Source, Tags or AMD result are ORed. Available conditions are:

* contact search, display status, campaign and DNC
* channel and Call QA
* contact source and tags
* created-date and call-attempt ranges
* last AMD result
* workspace-defined custom attributes

The list updates while conditions change. Select **Save as segment** to store the
current definition as a dynamic segment. A segment stores the filters, not a
snapshot of contacts, so campaign assignment always resolves the latest matches.

For **DNC**, choose **is** to include only contacts on the block list or
**is not** to exclude them. In REST and MCP filters this is represented as
`dnc: true` and `dnc: false`; omitting `dnc` leaves the list unfiltered.

## Contact tags

Add workspace-specific tags when creating a contact, or open **Manage Contact →
Tags** to edit them later. Enter one tag at a time or paste comma-separated tags.
Tags are normalized to lowercase, deduplicated, and limited to 32 tags with 40
characters each. CSV imports can map a comma- or semicolon-separated column to
**Tags**. CRM Sync can map a CRM label/tag field to the same destination; synced
tags merge with manual tags instead of replacing them.

Use the **Tags** filter to find any contact containing one of the selected tags,
then save the definition as a reusable segment. API clients can create an
unassigned tagged contact with `POST /leads`; MCP clients can use
`create_audience_contact`.

## Call QA average

The **Call QA** value is the average of `calls.qa_score` for the selected contact and period:

* 7, 30 or 90 days, or all time
* default: 90 days
* every call counts once
* calls without a score are excluded
* messaging and email remain in the shared timeline but are not scored in this phase

The value measures assistant performance in calls. It is not a lead-quality score. The sample size (`n`) is shown next to the average; the contact drawer additionally shows pass rate and the latest score.

## Dynamic QA segments

Enable **QA filter** in Audience, select a period and optionally set a minimum average, maximum average or minimum number of scored calls. Saving the current filters creates a dynamic segment.

```json theme={null}
{
  "qa": {
    "window": 90,
    "average_score_min": 80,
    "min_scored_calls": 3
  }
}
```

Contacts without scored calls do not match a QA segment. When `min_scored_calls` is omitted, at least one scored call is required. Segment membership is recalculated whenever the segment is resolved, including campaign assignment.

Creating or changing a QA segment requires the **AI QA Scorecards** plan feature. Existing saved segments remain readable and resolvable after a downgrade.

## Dynamic channel segments

Use the **Channel** filter to select contacts that have linked activity or a channel profile. Supported values are calls, SMS, email, WhatsApp, Telegram, Messenger, Slack, Microsoft Teams, Discord, Google Chat and X.

```json theme={null}
{
  "channels": ["whatsapp", "messenger"]
}
```

Multiple channel values are ORed: the example matches contacts with WhatsApp **or** Messenger. Channel criteria are ANDed with search, status, campaign, DNC, source, tags, date, attempts, AMD, attributes and Call QA. Membership is recalculated whenever the segment is opened or assigned to a campaign.

## Unified contact history

Use **View all history** in the contact drawer to open History filtered by the canonical `lead_id`. Calls, messaging conversations and email threads are included. Email appears once per thread rather than once per message.

API clients can use `GET /leads`, `GET /history?lead_id=...`, and the segment endpoints. MCP clients can use `list_audience_contacts`, `list_history` with `lead_id`, and the segment tools.
