Skip to main content
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.
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.
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.