# Dialer

> Power dialer for outbound calls — parallel dialing, call recording, voicemail detection, AI voice agents, and SDR analytics.

Source: https://docs.graph8.com/engage/dialer/

The Dialer is a power dialer built for sales teams. Dial up to 4 contacts simultaneously, record and transcribe calls, detect voicemail, and track performance with real-time analytics.

## Using the Dialer

Follow these steps to go from a contact list to a live call.

### 1. Open the Dialer and start a session

1. Go to **Engage → Dialer**
2. Click **+ Start dialing a new list** (top right)
3. In **Start dialing a new list**, configure:
   - **Contact List** — select or upload the list you want to call.
   - **Studio Campaign** — link the session to a campaign
   - **Session Name** — enter a name for the session
   - **Call from** — pick the phone number to call from
   - **Agent (twin)** — select the Twin agent that powers the call
   - **Appointment** — choose the meeting type booked from this session, for example a 30-minute discovery call
4. Click **Start dialing**

![The Start dialing a new list dialog — select or upload a contact list, link a Studio campaign, name the session, pick the number to call from, the Twin agent, and the appointment type](https://docs.graph8.com/images/engage/dialer-new-session.png)

> **Note:**
> If the list already has earlier sessions, they appear in the dialog so you can resume one instead of starting fresh.

### 2. Configure the session

The session view opens with your contact queue on the right and the settings sidebar on the left.

1. **Dialing mode** — choose how many contacts to call at once:
   - **1 (Power)** — one call at a time
   - **2, 3, or 4 (Parallel)** — dial multiple contacts simultaneously to reach more people per hour
2. **Caller ID** — pick the phone number to call from (see [Phone Number Selection](#phone-number-selection))
3. **Agent & Campaign** — attach the Twin agent that powers the call and the Studio campaign calls are attributed to (see [Add a Twin Agent](#add-a-twin-agent) below)
4. **Priority** — set the order phone numbers are dialed in (see [Phone Priority and Multi-Number Dialing](#phone-priority-and-multi-number-dialing))

![The dialer session view — settings sidebar (dialing mode, caller, agent, phone priority) on the left and the contact queue on the right](https://docs.graph8.com/images/engage/dialer-session-view.png)

### 3. Start dialing and handle the call

1. Click **Start Dialing** at the bottom of the sidebar
2. When a prospect answers, the call drawer opens automatically with contact info, a live transcript, and the call outcome panel
3. After the call, select a [disposition](#dispositions) (and an optional sentiment + note), then **Log & Dial Next** to advance

![The in-call drawer — contact profile on the left, the live transcript in the middle, and the call outcome panel (book meeting, dispositions, log and dial next) on the right](https://docs.graph8.com/images/engage/dialer-active-call.png)

From the call drawer you can also **Book Meeting** directly, open the **Dialpad** to send DTMF tones, **Leave AI VM and Dial Next** to drop a voicemail, or **Leave & Pause**.

> **Caution:**
> Contacts with **No Phone** or a **DNC** status are skipped automatically and never dialed. To add a missing phone number, [edit the contact in the list](#edit-contact-data-from-the-list).

### Session controls

You manage a running session from the header and the sidebar:

- **Mute / unmute** — toggle the microphone icon in the session header to mute or unmute yourself
- **Pause Session** — stop dialing and resume later from where you left off (sidebar)
- **Next Batch** — in parallel mode, dial the next set of contacts once the current batch finishes
- **Exit Session** — leave the session entirely (top right). Active and paused sessions can be resumed later from the sessions list

During a live call, the call drawer adds: **End Call** to hang up, **Mute**, **Dialpad** to send DTMF tones, **Leave & Pause**, **Leave AI VM and Dial Next** to drop a voicemail, and **Book Meeting**.

### Check session analytics

Click the **dials / talk-time chip** in the session header (the stats with the chart icon) to open **Session Analytics** for the current session. It has three tabs:

- **Overview** — total dials, connections and connection rate, talk time, voicemails, success rate, redials, peak hour, booked, and callbacks
- **Dispositions** — the breakdown across every disposition
- **Daily Breakdown** — activity by day

![Session Analytics for the active session — Overview tab showing total dials, connections, talk time, voicemails, success rate, and more](https://docs.graph8.com/images/engage/dialer-session-analytics.png)

## Add a Twin Agent

Every dialing session runs with a **Twin agent** — the AI voice agent attached to the call. Select one under **CALLER → Select agent** before you start dialing.

1. In the session sidebar, click **Select agent**
2. Search your **Twin Agents** and pick one, or click the gear to **Configure** an existing agent
3. If you don't have a twin yet, click **Create a new agent** at the bottom of the picker — this opens the twin creation flow (**Agents → New → Twin**) in a new tab

![The Select agent picker lists your Twin agents with a "Create a new agent" link](https://docs.graph8.com/images/engage/dialer-agent-picker.png)

For the full walkthrough of building a twin — persona, voice cloning, identity, and skills — see [Voice Agents →](https://docs.graph8.com/ai-features/voice-agents/).

## Edit Contact Data from the List

If a contact is missing a phone number, job title, or any other field, an SDR can edit it directly in the list without leaving the dialer.

1. In the session sidebar, under **SESSION**, click the **list link** next to **List ·**. graph8 opens that list in a **new browser tab** so your session stays intact
2. In the list, **double-click the cell** in the column you want to fill — for example **Job Title** or a phone field
3. Type the new value and press **Enter** to save (or **Esc** to cancel)

![Double-click a cell in the list to add or edit a contact's data inline](https://docs.graph8.com/images/engage/dialer-list-edit.png)

> **Tip:**
> This is the fastest way to fix contacts that were skipped for **No Phone**. Add a number in the list, then return to the dialer tab and re-run the session to include them.

## Parallel Dialer

Parallel dialing calls several contacts at once so you spend more time talking and less time listening to ringing. This section explains **how it works** and **how to use it well**.

### How it works

1. **You pick a batch size** — 1 (Power) or 2–4 (Parallel) in the **Dialing mode** setting.
2. **graph8 dials the whole batch at once** — for a batch of 4, four contacts ring simultaneously.
3. **The first live answer wins.** The moment a real person answers, graph8 connects them to you and **instantly hangs up the other ringing calls**, so no one is left picking up to silence. The call drawer opens automatically for the connected contact.
4. **Voicemail and phone trees are handled for you.** graph8 detects when a call reaches voicemail or an IVR / auto-attendant and — based on your settings — either skips it or drops your voicemail message. Those calls never tie up your line waiting for the batch. See [Voicemail](#voicemail).
5. **No wasted or duplicate dials.** The same contact is never called twice in a session, and **DNC** / **No Phone** contacts are skipped automatically.
6. **The next batch is one click away.** When a batch finishes, click **Next Batch** to dial the next set. Contacts that didn't connect are automatically retried on their next phone number — see [Phone Priority and Multi-Number Dialing](#phone-priority-and-multi-number-dialing).

### Choosing a batch size

More lines mean more people reached per hour — but also a higher chance that two prospects answer at nearly the same moment, in which case only the first is connected and the other is dropped. Match the batch size to the list:

| Mode | Best for | Trade-off |
|------|----------|-----------|
| **1 (Power)** | Warm leads, callbacks, VIP accounts | Most personal, never drops a live prospect — but lowest volume |
| **2–3 (Parallel)** | Everyday prospecting, balanced lists | Good reach with a low chance of dropping an answered call |
| **4 (Parallel)** | Cold lists with low pick-up rates, peak hours | Highest volume — but the greatest chance of dropping a simultaneous answer |

> **Tip:**
> Start at **2**, then watch your **connection rate** and **voicemail rate** in [Session Analytics](#check-session-analytics). If most calls go to voicemail (a low-pick-up list), move up to **3** or **4** to keep your line busy. For warm or high-value contacts, drop to **1 (Power)** so you never risk dropping a live prospect.

### Get the most out of a session

- **Set up voicemail drops** and enable **skip voicemails** so unanswered calls still leave your message and don't waste your time — see [Voicemail](#voicemail).
- **Order your phone priority** (Direct → Mobile → Company) so the most reachable number is tried first, and multi-number contacts are automatically retried — see [Phone Priority and Multi-Number Dialing](#phone-priority-and-multi-number-dialing).
- **Have your Twin agent and script ready** before you start — parallel dialing connects fast, so there's no time to fumble. See [Add a Twin Agent](#add-a-twin-agent).
- **Call during peak hours** — typically 10am–12pm and 2pm–4pm local time — when pick-up rates are highest.
- **Pause instead of exiting** if you need a break; a paused session resumes exactly where you left off, keeping your queue, redial filter, and cursor.

> **Caution:**
> Because a batch dials several people at once, occasionally two prospects answer within the same instant. graph8 connects the first and drops the rest — a normal trade-off of parallel dialing. If you can't afford to drop any live answer (for example, high-value accounts), use **1 (Power)** mode.

## Phone Priority and Multi-Number Dialing

A contact can have up to four phone numbers — **Direct Phone**, **Mobile Phone**, **Company Phone**, and **Additional Phone Numbers**. The **PRIORITY** section of the sidebar controls the order they're tried.

- **Reorder** — drag the phone types to set which number is dialed first
- **Exclude** — uncheck a phone type to skip it (at least one must stay active)
- **Automatic retry** — if a number doesn't connect, the dialer automatically retries the contact with the next number in priority order on the following batch
- **No duplicate dials** — the same number is never dialed twice for the same contact within a session

The default order is **Direct Phone → Mobile Phone → Company Phone**. **Additional Phone Numbers** is listed last but unchecked by default; check it to include it.

## Redial by Disposition

When you re-run a list, choose which past dispositions you want to redial. The redial filter lives in the Dialer sidebar and applies to the active list.

| Filter | Typical Use |
|--------|-------------|
| **Voicemail** | Try again — they didn't pick up last time |
| **No answer / Hangup** | Same as voicemail; new attempt at a different time of day |
| **Callback** | Honor scheduled callbacks |
| **Gatekeeper** | Try again to get past the gatekeeper |
| **All dispositioned** | Full revival pass — combine with a date filter to age the list |

The dialer skips dispositions you don't select (for example **Booked**, **DNC**, **Not interested**) so you don't burn calls on contacts already resolved. The redial state is persisted with the session — pausing and resuming preserves your filter and cursor.

## Manual Dialer

You can make ad-hoc calls outside of a dialing session using the manual dialer.

Click **Manual Dial** at the bottom of the dialer sidebar to open the keypad, enter a phone number, and click **Start Dialing**. The number you call from is shown below the keypad. You can also expand **Add contact details** to attach a name and company to the call.

![The Manual Dial keypad — enter a number, see the number you're calling from, and start the call](https://docs.graph8.com/images/engage/dialer-dialpad.png)

Manual calls:
- Are not tied to a sequence
- Can be used for quick outreach or follow-ups
- Are still logged as activities

### Session Statuses

| Status | Meaning |
|--------|---------|
| **Active** | Session is running, calls in progress |
| **Paused** | Session paused — can resume |
| **Completed** | All contacts in the session have been dialed |
| **Failed** | Session encountered an error |

### Call Statuses

| Status | Meaning |
|--------|---------|
| **Dialing** | Call is being placed |
| **Ringing** | Phone is ringing |
| **Active** | Call connected, conversation in progress |
| **Automation** | Voice AI is handling the call |
| **Hangup** | Call ended |
| **Failed** | Call could not connect |

## Phone Number Selection

The phone number dropdown shows the numbers assigned to you and the numbers owned by your workspaces. Workspace numbers carry the workspace's name and colour so you can tell them from your own. Use the search box to find a specific number by label or digits. Numbers purchased for the dialer and numbers provisioned for AI voice agents are managed separately.

If you don't have a number yet, the dropdown includes a link to get one. For the full walkthrough of buying and assigning a number, see [Phone Numbers →](https://docs.graph8.com/settings/phone-numbers/) in Settings.

## Workspaces

If your org uses Workspaces, a workspace switcher appears to the left of the Dialer tabs.

- **All workspaces** (the default) shows every session and every call, the same as before
- Picking a workspace limits **previous sessions** and **Call Logs** to sessions started under it, and new sessions you start are tagged with it
- The **New Session** dialog has a Workspace field that defaults to the switcher; you can change it per session or leave it empty

The choice is kept in the page address (`?workspace=`), so a link to the Dialer can open on a workspace. Orgs without workspaces do not see the switcher.

## Inbound Calls

Handle incoming calls in real time:

- **Real-time notifications** — SDRs receive instant alerts for inbound calls
- **SDR online status** — the system tracks which reps are available
- **Call claiming** — SDRs can claim or decline inbound calls
- **Who is rung** — a call to a person's number rings that person; a call to a workspace number rings the member who last called the prospect, then every member; when nobody targeted is online it rings the whole org
- **Voicemail fallback** — when no SDR is available, callers are routed to voicemail
- **Pending queue** — inbound calls queue until an SDR is available

### Incoming Call Notifications

When an inbound call is received, a notification appears showing the caller's phone number.

If the number matches an existing contact, graph8 also displays:
- Contact name
- Company

You can choose to answer or dismiss the call directly from the notification.

## Call Recording & Transcription

Every call is automatically recorded and transcribed:

- **Recording** — saved to cloud storage, accessible from call results
- **Transcription** — AI-powered speech-to-text for full call transcripts
- **Call summaries** — AI generates a summary of the conversation
- **Call evaluation** — AI grades call quality for coaching

## Voicemail

graph8 detects voicemail and handles it automatically:

- **Voicemail detection** — identifies when a call reaches voicemail
- **Voicemail drops** — leave a pre-recorded message automatically
- **Greetings** — set voicemail greetings at the org level or per agent
- **Transcription** — voicemail recordings are transcribed
- **Read/unread tracking** — track which voicemails your team has reviewed

## Dispositions

After each call, the SDR (or system) selects a disposition:

### SDR-Selected

| Disposition | Meaning |
|-------------|---------|
| **Booked** | Meeting or call scheduled |
| **Callback** | Contact wants a callback (sub-sentiments: has budget, interested, hesitant, not ready, interested but wrong person) |
| **Not interested** | Contact explicitly declined |
| **DNC** | Do Not Call (sub-sentiments: legal DNC, request DNC, harassed) |
| **Not ICP** | Contact doesn't match your ideal customer profile |
| **Has solution** | Company already has a competing solution |
| **Gatekeeper** | Speaking with a gatekeeper (sub-sentiments: will pass through, callback scheduled, won't pass) |
| **Wrong number** | Invalid or wrong phone number |
| **Left org** | Contact no longer works at the company |

### System-Set

| Disposition | Meaning |
|-------------|---------|
| **Voicemail** | Call reached voicemail |
| **Hangup** | Call disconnected (by contact, by SDR, or no answer) |
| **No voice** | Failed to connect |
| **Not answered** | Call dropped before connecting |
| **Failed** | Call failed to complete |

## Voice AI

AI-powered voice features for smarter calling:

- **Voice agents** — AI agents that can handle calls autonomously
- **Text-to-speech** — natural-sounding AI voices for automated calls
- **Voice cloning** — clone a voice for personalized outbound
- **Call scripts** — guided scripts for SDRs and AI agents
- **SDR training agent** — practice calls with an AI that simulates prospects

## Analytics

Track dialer performance in real time:

### SDR Performance Dashboard

| Metric | What It Shows |
|--------|--------------|
| **Dials** | Total calls made |
| **Connections** | Calls answered by a human (excludes voicemails) |
| **Connection rate** | Human-answered calls as a percentage of total dials (voicemails not counted as connections) |
| **Voicemail rate** | Percentage of calls that reached voicemail |
| **Talk time** | Total minutes on connected (human-answered) calls |
| **Average call duration** | Mean length of connected calls - voicemail duration excluded |
| **Disposition breakdown** | Distribution across all dispositions |
| **Success rate** | Meetings booked per connected (human-answered) call |
| **Redial metrics** | Redial attempts and success rates |
| **Peak calling hours** | Best times of day for connections |

> **Note:**
> All timestamps in call logs and session history display in your local timezone.

### Score Filtering

Filter graded calls by quality score using the **Min Score** and **Max Score** fields. Only calls within the specified range appear in the results. Calls under 30 seconds and non-conversation dispositions are excluded from scoring.

### Team Leaderboard

Compare SDR performance across your team with daily, weekly, and monthly views. Rankings by total calls, connections, and meetings booked.

### Call Targets

Set targets at the org level or per SDR for daily call and meeting goals.

## Campaign Linkage

Dialer sessions can be linked to a campaign so call activity rolls up into campaign-level reporting.

- **Link a session** — when creating or editing a dialer session, select a campaign to associate it with
- **Attribution** — every call placed during that session is attributed to the linked campaign
- **Aggregated analytics** — call metrics (dials, connections, dispositions, talk time) appear in the campaign's performance view alongside email and LinkedIn data
- **Back to sessions** — while in a campaign-linked session, use the back button to return to the sessions list without losing context

This gives managers a single view of all outreach activity per campaign, across channels.

## Sequencer Integration

The Dialer integrates directly with the Sequencer:

- **Manual Dialer steps** — add a **Manual Dialer** step to any sequence
- **Call results** — linked back to the sequence step and contact
- **Campaign attribution** — calls from sequences track back to the originating campaign through the session link

> **Tip:**
> Use the parallel dialer during peak calling hours (typically 10am–12pm and 2pm–4pm local time). Set up voicemail drops so no call goes to waste — even unanswered calls leave your message.

## Next Steps

- [Voice Agents →](https://docs.graph8.com/ai-features/voice-agents/) — Create the Twin agent that powers your calls
- [Inbox →](https://docs.graph8.com/engage/inbox/) — View call results and transcripts
- [Meetings →](https://docs.graph8.com/engage/meetings/) — Review booked calls alongside meeting context
- [Sequencer →](https://docs.graph8.com/engage/sequencer/) — Add dialer steps to sequences
- [Appointments →](https://docs.graph8.com/engage/appointments/) — Manage booked meetings
