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

# Inbound Calls

> Configure your Pearl to handle incoming calls, from recording and transcripts to the holding line and webhooks.

<div className="block dark:hidden">
  <Frame>
    <div className="p-1">
      <img src="https://mintcdn.com/nlpearl/5aa5Rk7qHypaYdNc/images/dark_mode/inbound-cover.svg?fit=max&auto=format&n=5aa5Rk7qHypaYdNc&q=85&s=d56ec35b5e07d3b9a1ada387972d13dd" alt="Inbound cover" className="rounded-[14px]" width="1048" height="720" data-path="images/dark_mode/inbound-cover.svg" />
    </div>
  </Frame>
</div>

<div className="hidden dark:block">
  <Frame>
    <div className="p-1">
      <img src="https://mintcdn.com/nlpearl/5aa5Rk7qHypaYdNc/images/dark_mode/inbound-cover.svg?fit=max&auto=format&n=5aa5Rk7qHypaYdNc&q=85&s=d56ec35b5e07d3b9a1ada387972d13dd" alt="Inbound cover" className="rounded-[14px]" width="1048" height="720" data-path="images/dark_mode/inbound-cover.svg" />
    </div>
  </Frame>
</div>

***

## Setting Up Inbound Calls

Once you have created a Pearl, you can enable it to receive inbound calls. Inbound settings are configured inside your Pearl, under **Inbound Settings**, giving callers a dynamic and responsive experience driven by your conversational flow.

<Info>
  **What are inbound calls?**

  Inbound calls let your Pearl handle incoming calls, engaging with callers immediately and effectively using the conversational flow you defined.
</Info>

***

## Attach a Phone Number

To receive calls, your Pearl needs a phone number. Numbers are purchased and connected from **Settings → Phone Numbers**, not from the Inbound Settings screen.

Start by clicking your **profile card** at the bottom-left corner of the sidebar, then open **Settings**.

<Frame>
  <img src="https://mintcdn.com/nlpearl/5aa5Rk7qHypaYdNc/images/dark_mode/go-to-settings.png?fit=max&auto=format&n=5aa5Rk7qHypaYdNc&q=85&s=dfc9db0b75112fe19e8e8212903ca193" alt="Open Settings from the profile card" className="rounded-[14px]" width="5120" height="2880" data-path="images/dark_mode/go-to-settings.png" />
</Frame>

Then select the **Phone Numbers** tab. From here you can purchase, connect, and manage all your numbers.

<Frame>
  <img src="https://mintcdn.com/nlpearl/zHQFKodWEnahK9ly/images/dark_mode/choose-phone-number-in-settings.png?fit=max&auto=format&n=zHQFKodWEnahK9ly&q=85&s=24c047eabb48b8ff854c0e7e56bfb678" alt="Phone Numbers tab in Settings" className="rounded-[14px]" width="5120" height="2880" data-path="images/dark_mode/choose-phone-number-in-settings.png" />
</Frame>

You have three ways to get a number for your Pearl:

<Card>
  <div className="flex dark:hidden items-center gap-2 justify-start w-full h-[22px]">
    <img src="https://mintcdn.com/nlpearl/-yv9LztxFIpwV2Dt/logo/logo-pearl-black.png?fit=max&auto=format&n=-yv9LztxFIpwV2Dt&q=85&s=d5bcd2bdb6970f8888364cc5c49e82e8" alt="Logo clair" className="w-9 h-9 p-2 rounded-lg border object-contain" style={{ borderColor: "#EBEBEB" }} width="4334" height="4334" data-path="logo/logo-pearl-black.png" />

    <span className="m-0 text-lg font-semibold">NLPearl Number</span>
  </div>

  <div className="hidden dark:flex items-center gap-2 justify-start w-full h-[22px]">
    <img src="https://mintcdn.com/nlpearl/-yv9LztxFIpwV2Dt/logo/logo-pearl-white.png?fit=max&auto=format&n=-yv9LztxFIpwV2Dt&q=85&s=7206842b72c2ddab7f82b21630038242" alt="Logo sombre" className="w-9 h-9 p-2 rounded-lg border object-contain" style={{ borderColor: "#3A3A3A", backgroundColor: "#1A1A1A" }} width="4334" height="4334" data-path="logo/logo-pearl-white.png" />

    <span className="m-0 text-lg font-semibold text-white">NLPearl Number</span>
  </div>

  Buy a number directly from NLPearl and start receiving or making calls in minutes (US numbers, billed monthly).

  <Info>
    For more details, visit the [NLPearl Phone Numbers](/pages/nlpearl_phones) page.
  </Info>
</Card>

<br />

<Card>
  <div className="flex dark:hidden items-center gap-2 justify-start w-full h-[22px]">
    <img src="https://mintcdn.com/nlpearl/-yv9LztxFIpwV2Dt/logo/twilio-icon.webp?fit=max&auto=format&n=-yv9LztxFIpwV2Dt&q=85&s=a26b1cb9dc2179e9b45e847c326ca0b8" alt="Logo clair" className="w-9 h-9 p-2 rounded-lg border object-contain" style={{ borderColor: "#EBEBEB" }} width="256" height="256" data-path="logo/twilio-icon.webp" />

    <span className="m-0 text-lg font-semibold">Twilio</span>
  </div>

  <div className="hidden dark:flex items-center gap-2 justify-start w-full h-[22px]">
    <img src="https://mintcdn.com/nlpearl/-yv9LztxFIpwV2Dt/logo/twilio-icon.webp?fit=max&auto=format&n=-yv9LztxFIpwV2Dt&q=85&s=a26b1cb9dc2179e9b45e847c326ca0b8" alt="Logo sombre" className="w-9 h-9 p-2 rounded-lg border object-contain" style={{ borderColor: "#3A3A3A", backgroundColor: "#1A1A1A" }} width="256" height="256" data-path="logo/twilio-icon.webp" />

    <span className="m-0 text-lg font-semibold text-white">Twilio</span>
  </div>

  Connect your Twilio account to use your existing numbers, with access to a wide range of countries.

  <Info>
    Visit [Twilio Integration](/pages/twilio_integration) for details on how to import and manage your Twilio phone numbers.
  </Info>
</Card>

<br />

<Card>
  <div className="flex dark:hidden items-center gap-2 justify-start w-full h-[22px]">
    <img src="https://mintcdn.com/nlpearl/-yv9LztxFIpwV2Dt/logo/logo-voip-black.png?fit=max&auto=format&n=-yv9LztxFIpwV2Dt&q=85&s=1737d606dbe84ed7698fe0583792934f" alt="Logo clair" className="w-9 h-9 p-2 rounded-lg border object-contain" style={{ borderColor: "#EBEBEB" }} width="271" height="269" data-path="logo/logo-voip-black.png" />

    <span className="m-0 text-lg font-semibold">Custom VoIP</span>
  </div>

  <div className="hidden dark:flex items-center gap-2 justify-start w-full h-[22px]">
    <img src="https://mintcdn.com/nlpearl/-yv9LztxFIpwV2Dt/logo/logo-voip-white.png?fit=max&auto=format&n=-yv9LztxFIpwV2Dt&q=85&s=8d0a0812a8d1a03e5eaffbd12d24f3cd" alt="Logo sombre" className="w-9 h-9 p-2 rounded-lg border object-contain" style={{ borderColor: "#3A3A3A", backgroundColor: "#1A1A1A" }} width="271" height="269" data-path="logo/logo-voip-white.png" />

    <span className="m-0 text-lg font-semibold text-white">Custom VoIP</span>
  </div>

  Bring your own VoIP provider and connect custom numbers over SIP to your account.

  <Info>
    To learn more about integrating your own VoIP service, check out [Custom VoIP Integration](/pages/custom_voip).
  </Info>
</Card>

Once you have a number, attach it to your Pearl: open the Pearl's **Settings** panel and pick the number from the **Phone Number** dropdown. Your Pearl will then answer calls on that number.

<Frame>
  <img src="https://mintcdn.com/nlpearl/zHQFKodWEnahK9ly/images/dark_mode/choose-campaign-phone.png?fit=max&auto=format&n=zHQFKodWEnahK9ly&q=85&s=7e2a1e0f5a88eebafd31c322f8664f73" alt="Select the phone number in the Pearl settings" className="rounded-[14px]" width="5120" height="2880" data-path="images/dark_mode/choose-campaign-phone.png" />
</Frame>

***

## Inbound Settings

Configure how your Pearl answers incoming calls from the **Inbound Settings** tab of your Pearl, in the [PearlVibe](/pages/pearl_vibe) flow editor.

<Warning>
  These settings apply to **voice** Pearls only. A Text Pearl has a different set of inbound options.
</Warning>

### Recording Options

Record the conversation (on/off). When enabled, the call audio is saved and available afterwards from your **call logs** for quality reviews, training, and analytics. When disabled, no audio is captured or stored.

<Frame>
  <img src="https://mintcdn.com/nlpearl/5aa5Rk7qHypaYdNc/images/dark_mode/inbound-recording-options.png?fit=max&auto=format&n=5aa5Rk7qHypaYdNc&q=85&s=47f5f7e5515df99d2a798c801a80d1f3" alt="Recording Options setting" className="rounded-[14px]" width="5120" height="2880" data-path="images/dark_mode/inbound-recording-options.png" />
</Frame>

<Warning>
  Call recording laws vary by region and often require informing or getting consent from callers. Make sure your Pearl's flow discloses recording where required.
</Warning>

***

### Recording After Transfer Call

If enabled, the call keeps recording after Pearl transfers it and leaves the line, so you capture the full conversation with the human agent. Turn it off if you don't want to record the person or third party the call is transferred to.

<Frame>
  <img src="https://mintcdn.com/nlpearl/5aa5Rk7qHypaYdNc/images/dark_mode/inbound-recording-after-transfer.png?fit=max&auto=format&n=5aa5Rk7qHypaYdNc&q=85&s=547fc817f77b1df1043f31e11f73aef8" alt="Recording After Transfer Call setting" className="rounded-[14px]" width="5120" height="2880" data-path="images/dark_mode/inbound-recording-after-transfer.png" />
</Frame>

<Note>
  This option only appears when **Recording Options** is enabled. See the [Transfer Call Node](/pages/transfer_call) to learn how call transfers work.
</Note>

***

### Transcript Options

Choose what is kept from the call transcript. Transcripts appear in your call logs alongside the recording.

<Frame>
  <img src="https://mintcdn.com/nlpearl/5aa5Rk7qHypaYdNc/images/dark_mode/inbound-transcript-options.png?fit=max&auto=format&n=5aa5Rk7qHypaYdNc&q=85&s=5f5f282944925e20b075c09e96db67ab" alt="Transcript Options setting" className="rounded-[14px]" width="5120" height="2880" data-path="images/dark_mode/inbound-transcript-options.png" />
</Frame>

| Option                     | Description                                                                                                                                      | When to use                          |
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------ |
| **Full Transcript**        | Keeps the entire conversation as-is.                                                                                                             | Complete analysis, QA, and training. |
| **Sensitive Info Removed** | Automatically masks sensitive data (credit card numbers, Social Security numbers, personal identifiers) while keeping the conversation readable. | Compliance and PII protection.       |
| **No Transcript**          | No transcript is stored for the call.                                                                                                            | Maximum privacy.                     |

<Info>
  With **Sensitive Info Removed**, if a customer says *"My credit card number is 1234-5678-9012-3456"*, the transcript stores it as *"My credit card number is \*\*\*\*-3456"*, so you can review interactions safely without exposing sensitive data.
</Info>

***

### Hold Message

Played to callers when they are put on hold, typically when all agents are busy and the caller enters the holding line. English only, max **300 characters**.

<Frame>
  <img src="https://mintcdn.com/nlpearl/5aa5Rk7qHypaYdNc/images/dark_mode/inbound-hold-message.png?fit=max&auto=format&n=5aa5Rk7qHypaYdNc&q=85&s=86fda0ab7b81819bd0c6ffc080f5378a" alt="Hold Message setting" className="rounded-[14px]" width="5120" height="2880" data-path="images/dark_mode/inbound-hold-message.png" />
</Frame>

<Info>
  Example: *"Thanks for calling! One moment while I connect you to our team."*
</Info>

<Note>
  If your Pearl experiences high call volumes, callers are not turned away. They enter the holding line and hear your hold message and sound until an agent becomes available.
</Note>

***

### Estimated Wait Time

When enabled (on/off), callers on hold hear their position in the queue and an estimated wait time, along with your hold message. Setting expectations this way helps reduce hang-ups during busy periods.

<Frame>
  <img src="https://mintcdn.com/nlpearl/5aa5Rk7qHypaYdNc/images/dark_mode/inbound-estimated-wait-time.png?fit=max&auto=format&n=5aa5Rk7qHypaYdNc&q=85&s=a3a735d0a59cba28499f9b0ff12c3f3b" alt="Estimated Wait Time setting" className="rounded-[14px]" width="5120" height="2880" data-path="images/dark_mode/inbound-estimated-wait-time.png" />
</Frame>

***

### Hold Sound

The music that loops while callers wait in the holding line. Select one of the built-in tracks or upload your own `.mp3` (up to **3 minutes**). Use the preview button to listen before saving.

<Frame>
  <img src="https://mintcdn.com/nlpearl/5aa5Rk7qHypaYdNc/images/dark_mode/inbound-hold-sound.png?fit=max&auto=format&n=5aa5Rk7qHypaYdNc&q=85&s=fd225d70d6134b4a1997e92da18ae56f" alt="Hold Sound setting" className="rounded-[14px]" width="5120" height="2880" data-path="images/dark_mode/inbound-hold-sound.png" />
</Frame>

***

### Call Ambience

A subtle background environment (office, call center, outdoor…) played **during the live conversation** to make the call sound more natural and human. Defaults to **None**.

Pick an ambience from the dropdown, then fine-tune its **volume** (0–100) with the slider. A preview plays automatically so you can hear the result before saving.

<Frame>
  <img src="https://mintcdn.com/nlpearl/5aa5Rk7qHypaYdNc/images/dark_mode/inbound-call-ambiance.png?fit=max&auto=format&n=5aa5Rk7qHypaYdNc&q=85&s=fcbf3e755ea8e498dff1bb68c5a93bb3" alt="Call Ambience setting" className="rounded-[14px]" width="5120" height="2880" data-path="images/dark_mode/inbound-call-ambiance.png" />
</Frame>

<Note>
  Don't confuse this with **Hold Sound**: Call Ambience plays quietly behind Pearl's voice during the call, while Hold Sound only plays while a caller is waiting in the holding line.
</Note>

***

### Webhooks

Send call lifecycle events to an external endpoint.

<Frame>
  <img src="https://mintcdn.com/nlpearl/5aa5Rk7qHypaYdNc/images/dark_mode/inbound-webhook.png?fit=max&auto=format&n=5aa5Rk7qHypaYdNc&q=85&s=f3eb67465cf932700b65bdbb4b7649e1" alt="Webhooks setting" className="rounded-[14px]" width="5120" height="2880" data-path="images/dark_mode/inbound-webhook.png" />
</Frame>

* **Version**: `V1` or `V2` (default **V2**). V2 is the current payload format; keep V1 only if you have an older integration built against it.
* **Call Webhook URL**: fires at key points in the call lifecycle (when the call starts and when it ends), sending an object similar to the [Get Calls Endpoint](/api-reference/v2/call/get-call) with details like duration, outcome, and any data collected during the call.
* **Credentials**: optional authentication token attached to the requests so your endpoint can verify they come from NLPearl.

<Tip>
  Use Webhooks only if external tools need event notifications. For actual automations, rely on **Post-Call Actions** tied to how the call ended.
</Tip>

<Card title="Webhooks" icon="webhook" iconType="light" href="/pages/webhooks">
  Learn how to configure webhooks, authenticate requests, and handle the events NLPearl sends.
</Card>

***

## Project-Level Settings

A few settings live at the **Project** level rather than in the Inbound Settings screen. Open them from the settings popover on your Pearl.

<Frame>
  <img src="https://mintcdn.com/nlpearl/5aa5Rk7qHypaYdNc/images/dark_mode/outbound-project-settings-panel.png?fit=max&auto=format&n=5aa5Rk7qHypaYdNc&q=85&s=89d0dcc2f27c35e915f8d9f53e70d8e8" alt="Project settings: agents and data retention" className="rounded-[14px]" width="5120" height="2880" data-path="images/dark_mode/outbound-project-settings-panel.png" />
</Frame>

### Agents

Sets how many **simultaneous agents** handle this Pearl's incoming calls, i.e. how many calls can be answered at the same time, capped by your account's agent quota. A higher number lets your Pearl take more concurrent callers before the rest enter the holding line.

<Frame>
  <img src="https://mintcdn.com/nlpearl/5aa5Rk7qHypaYdNc/images/dark_mode/outbound-agents-change-number.png?fit=max&auto=format&n=5aa5Rk7qHypaYdNc&q=85&s=63525ea437ffe59c084052dd0a74cac4" alt="Agents setting in the Pearl settings panel" className="rounded-[14px]" width="5120" height="2880" data-path="images/dark_mode/outbound-agents-change-number.png" />
</Frame>

<Card title="Agents" icon="users" iconType="light" href="/pages/agents">
  Learn how to manage the agents assigned to your inbound and outbound activities.
</Card>

***

### Call Retention

Applies to **all calls**. Set how long calls are kept (a number of days, or leave empty to keep them indefinitely), then choose what is removed when they expire: delete all call data, or granularly the **Recording**, **Transcript**, **Summary**, or collected **Variables**.

<Frame>
  <img src="https://mintcdn.com/nlpearl/5aa5Rk7qHypaYdNc/images/dark_mode/outbound-call-retention-settings.png?fit=max&auto=format&n=5aa5Rk7qHypaYdNc&q=85&s=1763975d58b9e80946387c07656fc372" alt="Call Retention settings" className="rounded-[14px]" width="5120" height="2880" data-path="images/dark_mode/outbound-call-retention-settings.png" />
</Frame>

***

<Info>
  ### Monitoring and Adjusting Your Inbound Calls

  While basic monitoring of call logs and reports can be done via our API, any changes to the setup, such as voice or language settings, must be handled directly on the platform.
</Info>
