> ## 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.

# PearlVibe

PearlVibe is a powerful AI-assisted flow editor that allows you to design and visualize conversation flows in a user-friendly, visual interface. Whether you're creating customer surveys, support dialogues, or interactive voice responses, PearlVibe helps you craft natural and personalized conversations.

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

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

***

## Overview

### What is PearlVibe?

PearlVibe is an AI‑assisted flow editor for building your agents - both **voice** (phone) and **text** agents. You build your Pearl as a decision tree made of nodes (dialogue, actions, integrations…) and transitions (what happens next depending on user intent, answers, or conversation outcome).

<iframe src="https://www.youtube.com/embed/tTYdxBLxpZ0" title="NLPearl - AI Voice Agents" frameBorder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowFullScreen style={{ width: '100%', aspectRatio: '16/9', borderRadius: '0.5rem' }} />

<Info>
  You can work in two complementary ways:

  | Mode                        | Description                                                                                                                                                                    |
  | --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
  | **Vibe coding (chat mode)** | You talk to the AI in natural language (e.g. "Add a post‑call SMS when the booking is confirmed") and Pearl Vibe automatically creates or edits nodes and transitions for you. |
  | **Manual mode**             | You configure each node and its transitions yourself for full control. Every setting is visible and editable.                                                                  |
</Info>

### What can you build with PearlVibe?

With PearlVibe, you can design:

| Flow Type              | Use Cases                                                                                          |
| ---------------------- | -------------------------------------------------------------------------------------------------- |
| **Inbound flows**      | Support and customer care lines, order tracking, FAQs, triage, appointment management, etc.        |
| **Outbound campaigns** | Sales campaigns, payment reminders, debt collection, upsell flows, satisfaction surveys, and more. |

### Key benefits

<Check>
  * **Build in minutes instead of days** – Use the chat to describe what you want, then refine visually.
  * **Safe versioning** – Work in a Draft with autosave while your Published version continues to run in production.
  * **Visual understanding of calls** – Use test calls and live node highlighting to see exactly how calls traverse your flow.
  * **Structured but flexible** – Combine high‑level "vibes" (global instructions, personality) with precise node and transition logic.
</Check>

***

## How PearlVibe Is Structured

PearlVibe is composed of four main areas:

| Area                    | Description                                                                                                                                           |
| ----------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
| **The header**          | Global controls, versioning, model choice, integrations, tasks, and test calls.                                                                       |
| **The left sidebar**    | Chat (vibe coding) and manual configuration of the selected node.                                                                                     |
| **The central canvas**  | The visual decision tree where nodes and transitions live.                                                                                            |
| **Top navigation tabs** | Switch between the main workspaces of your Pearl: Flow Editor, Pearl Settings, Knowledge Base, Analytics, and Campaign Settings (inbound / outbound). |

<Tip>
  Let's dive into each area to understand how the editor comes together.
</Tip>

***

### Header

The header is always visible at the top of the editor. It centralizes the main controls related to your Pearl as a whole.

<div className="block dark:hidden">
  <Frame>
    <div className="p-1">
      <img src="https://mintcdn.com/nlpearl/GUOay_brPNT7sxss/images/dark_mode/pearlvibe-header.png?fit=max&auto=format&n=GUOay_brPNT7sxss&q=85&s=513e13d6df451f60e188627182911395" alt="Send Email action interface on light mode" className="rounded-[14px]" width="2989" height="1859" data-path="images/dark_mode/pearlvibe-header.png" />
    </div>
  </Frame>
</div>

<div className="hidden dark:block">
  <Frame>
    <div className="p-1">
      <img src="https://mintcdn.com/nlpearl/GUOay_brPNT7sxss/images/dark_mode/pearlvibe-header.png?fit=max&auto=format&n=GUOay_brPNT7sxss&q=85&s=513e13d6df451f60e188627182911395" alt="Send Email action interface on dark mode" className="rounded-[14px]" width="2989" height="1859" data-path="images/dark_mode/pearlvibe-header.png" />
    </div>
  </Frame>
</div>

<br />

<AccordionGroup>
  <Accordion title="Pearl Name" icon="tag">
    Shows the current Pearl's name and lets you rename it. This is the label you'll reuse in the platform and in your workspace.

    <div className="block dark:hidden">
      <Frame>
        <div className="p-1">
          <img src="https://mintcdn.com/nlpearl/GUOay_brPNT7sxss/images/dark_mode/pearlvibe-title.png?fit=max&auto=format&n=GUOay_brPNT7sxss&q=85&s=2c74ab051350dfee101693d7f82f40ba" alt="Send Email action interface on light mode" className="rounded-[14px]" width="2984" height="1856" data-path="images/dark_mode/pearlvibe-title.png" />
        </div>
      </Frame>
    </div>

    <div className="hidden dark:block">
      <Frame>
        <div className="p-1">
          <img src="https://mintcdn.com/nlpearl/GUOay_brPNT7sxss/images/dark_mode/pearlvibe-title.png?fit=max&auto=format&n=GUOay_brPNT7sxss&q=85&s=2c74ab051350dfee101693d7f82f40ba" alt="Send Email action interface on dark mode" className="rounded-[14px]" width="2984" height="1856" data-path="images/dark_mode/pearlvibe-title.png" />
        </div>
      </Frame>
    </div>
  </Accordion>

  <Accordion title="Model Selection" icon="microchip">
    Model selection defines the intelligence, speed, and cost profile of your Pearl. The models available depend on your agent type: **voice agents** can choose from the four models below, while **text agents** run on **Pearl Swan** (see [Text model](#text-model)).

    <div className="block dark:hidden">
      <Frame>
        <div className="p-1">
          <img src="https://mintcdn.com/nlpearl/GUOay_brPNT7sxss/images/dark_mode/pearlvibe-modelselection.png?fit=max&auto=format&n=GUOay_brPNT7sxss&q=85&s=a8a2cf605b54d337b14aa3c91d82b0c6" alt="Send Email action interface on light mode" className="rounded-[14px]" width="2984" height="1856" data-path="images/dark_mode/pearlvibe-modelselection.png" />
        </div>
      </Frame>
    </div>

    <div className="hidden dark:block">
      <Frame>
        <div className="p-1">
          <img src="https://mintcdn.com/nlpearl/GUOay_brPNT7sxss/images/dark_mode/pearlvibe-modelselection.png?fit=max&auto=format&n=GUOay_brPNT7sxss&q=85&s=a8a2cf605b54d337b14aa3c91d82b0c6" alt="Send Email action interface on dark mode" className="rounded-[14px]" width="2984" height="1856" data-path="images/dark_mode/pearlvibe-modelselection.png" />
        </div>
      </Frame>
    </div>

    **Voice models**

    | Model             | Quality         | Speed          | Cost           |
    | ----------------- | --------------- | -------------- | -------------- |
    | **Pearl Hydra**   | Highest Quality | Higher latency | +2 credits/min |
    | **Pearl Arrow**   | Best Quality    | Fastest        | +2 credits/min |
    | **Pearl Trident** | Best Quality    | Standard       | Standard Rate  |
    | **Pearl Oyster**  | Good Quality    | Standard       | -2 credits/min |

    <Tabs>
      <Tab title="Pearl Hydra">
        <Info>
          **Highest Quality · Higher latency · +2 credits/min**
        </Info>

        Our smartest model, built for demanding use cases that require deeper reasoning, stronger understanding, and the highest-quality responses.

        Use it when you need:

        * The deepest reasoning for complex, multi-step conversations.
        * Maximum nuance and understanding on high-stakes or ambiguous calls.
        * The best possible answer quality, even if it means slightly higher latency.
      </Tab>

      <Tab title="Pearl Arrow">
        <Info>
          **Best Quality · Fastest · +2 credits/min**
        </Info>

        Our high-intelligence model, offering the same depth as Pearl Trident but tuned for ultra-low latency.

        Use it when you need:

        * The snappiest real-time experience for callers.
        * Highly nuanced, human-like conversations.
        * VIP lines, complex sales calls, or high-stakes negotiations where every second of silence matters.
      </Tab>

      <Tab title="Pearl Trident">
        <Info>
          **Best Quality · Standard Rate**
        </Info>

        Our most intelligent general-purpose model, designed for human-like conversations and handling complex use cases.

        Use it when you want:

        * A strong balance of quality vs cost.
        * Rich dialogues with multi-step reasoning and edge-case handling.
        * Your main production Pearl for most inbound and outbound flows.

        <Note>
          In most cases, Pearl Trident is the recommended default for production.
        </Note>
      </Tab>

      <Tab title="Pearl Oyster">
        <Info>
          **2 credits cheaper/min**
        </Info>

        Our most cost-effective model for straightforward cases, prioritizing simplicity and efficiency.

        Use it when you need:

        * High-volume or bulk campaigns (e.g. reminders, notifications, simple surveys).
        * Flows with predictable, scripted logic and limited branching.
        * To minimize cost while maintaining a solid conversational baseline.
      </Tab>
    </Tabs>

    ***

    **Choosing the right model for your Pearl**

    When selecting a model, consider three main dimensions:

    | Dimension                    | Recommendation                                                                                                                                                                                                                                                                                                                              |
    | ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
    | **Speed**                    | If the caller experience must feel instant (no awkward silences, rapid back-and-forth), prefer Pearl Arrow. For standard conversational latency, Pearl Trident and Pearl Oyster are usually enough.                                                                                                                                         |
    | **Reasoning / intelligence** | For the most demanding use cases that need the deepest reasoning, choose Pearl Hydra. For complex qualification, multi-step troubleshooting, or situations where the agent needs to "think", Pearl Trident or Pearl Arrow are strong choices. For simple flows with clear scripts and few edge cases, Pearl Oyster is more than sufficient. |
    | **Cost**                     | Pearl Arrow delivers top experience at a higher per-minute cost (+2 credits/min vs Trident). Pearl Trident offers best quality at a standard rate. Pearl Oyster is cheaper per minute (–2 credits/min vs Trident), ideal when cost per call is the main constraint.                                                                         |

    <Tip>
      You can use different models for different Pearls depending on their role, volume, and business impact (for example: Hydra for the most complex high-stakes calls, Arrow for VIP inbound support, Trident for main support, Oyster for large reminder campaigns).
    </Tip>

    ***

    **Impact on your Pearl**

    Your model choice directly affects:

    | Impact                         | Description                                                               |
    | ------------------------------ | ------------------------------------------------------------------------- |
    | **Answer quality**             | Nuance, empathy, and how well the Pearl handles ambiguous or messy input. |
    | **Latency**                    | How quickly the Pearl responds after the caller finishes speaking.        |
    | **Cost per call / per minute** | The effective cost of each campaign or use case.                          |

    <Info>
      You can start with Pearl Trident as a balanced default, then use Analytics to compare performance and cost. If you need more speed or nuance, move to Pearl Arrow; if you need to optimize budget for simple flows, switch to Pearl Oyster.
    </Info>

    ***

    **Text model**

    Text agents run on a single model - **Pearl Swan** - so there's no model picker to configure. It's billed per message rather than per minute.

    <Info>
      **Pearl Swan** - our standard model for chat agents, built to handle any text-based use case with reliable reasoning and natural responses.
    </Info>

    Optional add-ons let your text agent understand richer inputs sent in the chat:

    | Add-on          | Description                                                                           |
    | --------------- | ------------------------------------------------------------------------------------- |
    | **Vision**      | Read and understand images customers send, such as screenshots, documents, or photos. |
    | **Audio input** | Understand voice notes and audio messages sent in the conversation.                   |
  </Accordion>

  <Accordion title="Versioning, Drafts & Publishing" icon="code-branch">
    Pearl Vibe is built for safe iteration: you can experiment freely without breaking your live calls.

    **Autosave Drafts**

    <div className="block dark:hidden">
      <Frame>
        <div className="p-1">
          <img src="https://mintcdn.com/nlpearl/GUOay_brPNT7sxss/images/dark_mode/pearlvibe-versioning.png?fit=max&auto=format&n=GUOay_brPNT7sxss&q=85&s=b47d53bbcab320104a9a378d8cf4e390" alt="Send Email action interface on light mode" className="rounded-[14px]" width="2984" height="1856" data-path="images/dark_mode/pearlvibe-versioning.png" />
        </div>
      </Frame>
    </div>

    <div className="hidden dark:block">
      <Frame>
        <div className="p-1">
          <img src="https://mintcdn.com/nlpearl/GUOay_brPNT7sxss/images/dark_mode/pearlvibe-versioning.png?fit=max&auto=format&n=GUOay_brPNT7sxss&q=85&s=b47d53bbcab320104a9a378d8cf4e390" alt="Send Email action interface on dark mode" className="rounded-[14px]" width="2984" height="1856" data-path="images/dark_mode/pearlvibe-versioning.png" />
        </div>
      </Frame>
    </div>

    * All changes in the editor are automatically saved into a Draft.
    * The Draft is independent from the live Published version.
    * You can close and come back later: the Draft is preserved.

    ***

    **Published Version (View Mode)**

    <div className="block dark:hidden">
      <Frame>
        <div className="p-1">
          <img src="https://mintcdn.com/nlpearl/GUOay_brPNT7sxss/images/dark_mode/pearlvibe-versioning2.png?fit=max&auto=format&n=GUOay_brPNT7sxss&q=85&s=f55033452df8deefa9c4290f15e854a1" alt="Send Email action interface on light mode" className="rounded-[14px]" width="2984" height="1856" data-path="images/dark_mode/pearlvibe-versioning2.png" />
        </div>
      </Frame>
    </div>

    <div className="hidden dark:block">
      <Frame>
        <div className="p-1">
          <img src="https://mintcdn.com/nlpearl/GUOay_brPNT7sxss/images/dark_mode/pearlvibe-versioning2.png?fit=max&auto=format&n=GUOay_brPNT7sxss&q=85&s=f55033452df8deefa9c4290f15e854a1" alt="Send Email action interface on dark mode" className="rounded-[14px]" width="2984" height="1856" data-path="images/dark_mode/pearlvibe-versioning2.png" />
        </div>
      </Frame>
    </div>

    * The Published version is the one actually used to handle calls.
    * You can open it in view‑only mode to review what is currently live.
    * This helps align product, ops, and compliance teams on the exact live configuration.

    ***

    **Rollback to Published**

    <div className="block dark:hidden">
      <Frame>
        <div className="p-1">
          <img src="https://mintcdn.com/nlpearl/e_xU_-fV4QHcoz6d/images/dark_mode/pearlvibe-versioning3.png?fit=max&auto=format&n=e_xU_-fV4QHcoz6d&q=85&s=2d42a7840be631219cd09c7f34eedb5d" alt="Send Email action interface on light mode" className="rounded-[14px]" width="2984" height="1856" data-path="images/dark_mode/pearlvibe-versioning3.png" />
        </div>
      </Frame>
    </div>

    <div className="hidden dark:block">
      <Frame>
        <div className="p-1">
          <img src="https://mintcdn.com/nlpearl/e_xU_-fV4QHcoz6d/images/dark_mode/pearlvibe-versioning3.png?fit=max&auto=format&n=e_xU_-fV4QHcoz6d&q=85&s=2d42a7840be631219cd09c7f34eedb5d" alt="Send Email action interface on dark mode" className="rounded-[14px]" width="2984" height="1856" data-path="images/dark_mode/pearlvibe-versioning3.png" />
        </div>
      </Frame>
    </div>

    * If your Draft becomes messy or contains changes you no longer want, you can rollback.
    * Rollback discards the current Draft and reloads the editor with the latest Published version.

    <Tip>
      This is useful to recover quickly after experimental edits or bad modifications.
    </Tip>

    ***

    **Publishing a New Version**

    <div className="block dark:hidden">
      <Frame>
        <div className="p-1">
          <img src="https://mintcdn.com/nlpearl/e_xU_-fV4QHcoz6d/images/dark_mode/pearlvibe-versioning4.png?fit=max&auto=format&n=e_xU_-fV4QHcoz6d&q=85&s=13559a945ed25bfcd6357921082a3580" alt="Send Email action interface on light mode" className="rounded-[14px]" width="2984" height="1856" data-path="images/dark_mode/pearlvibe-versioning4.png" />
        </div>
      </Frame>
    </div>

    <div className="hidden dark:block">
      <Frame>
        <div className="p-1">
          <img src="https://mintcdn.com/nlpearl/e_xU_-fV4QHcoz6d/images/dark_mode/pearlvibe-versioning4.png?fit=max&auto=format&n=e_xU_-fV4QHcoz6d&q=85&s=13559a945ed25bfcd6357921082a3580" alt="Send Email action interface on dark mode" className="rounded-[14px]" width="2984" height="1856" data-path="images/dark_mode/pearlvibe-versioning4.png" />
        </div>
      </Frame>
    </div>

    * When you are satisfied with your Draft and tests, click Publish.
    * The Draft becomes the new Published version and starts handling calls.
    * A new Draft session then begins for your next round of changes.
  </Accordion>

  <Accordion title="Integrations & Variables" icon="plug">
    Integrations and variables are what connect your Pearl to the rest of your stack.

    <div className="block dark:hidden">
      <Frame>
        <div className="p-1">
          <img src="https://mintcdn.com/nlpearl/GUOay_brPNT7sxss/images/dark_mode/pearlvibe-managers.png?fit=max&auto=format&n=GUOay_brPNT7sxss&q=85&s=4ed949132718a718f1a46d9c55a35016" alt="Send Email action interface on light mode" className="rounded-[14px]" width="2984" height="1856" data-path="images/dark_mode/pearlvibe-managers.png" />
        </div>
      </Frame>
    </div>

    <div className="hidden dark:block">
      <Frame>
        <div className="p-1">
          <img src="https://mintcdn.com/nlpearl/GUOay_brPNT7sxss/images/dark_mode/pearlvibe-managers.png?fit=max&auto=format&n=GUOay_brPNT7sxss&q=85&s=4ed949132718a718f1a46d9c55a35016" alt="Send Email action interface on dark mode" className="rounded-[14px]" width="2984" height="1856" data-path="images/dark_mode/pearlvibe-managers.png" />
        </div>
      </Frame>
    </div>

    **Variable Manager**

    Variables can be managed using the Variable Manager, the Variable Manager allows you to create, edit, and organize variables used in your conversation flows.

    <div className="block dark:hidden">
      <Frame>
        <div className="p-1">
          <img src="https://mintcdn.com/nlpearl/yjNN1PpSs3yxoZOQ/images/light_mode/variables_manager.jpg?fit=max&auto=format&n=yjNN1PpSs3yxoZOQ&q=85&s=7033b501161b01ba8350139b2530cb0c" alt="Send Email action interface on light mode" className="rounded-[14px]" width="2624" height="1700" data-path="images/light_mode/variables_manager.jpg" />
        </div>
      </Frame>
    </div>

    <div className="hidden dark:block">
      <Frame>
        <div className="p-1">
          <img src="https://mintcdn.com/nlpearl/LRcBocnC9aRvHcb-/images/dark_mode/variables_manager.jpg?fit=max&auto=format&n=LRcBocnC9aRvHcb-&q=85&s=cf84e0cf2e16d09c7bba7e3d7be1aa78" alt="Send Email action interface on dark mode" className="rounded-[14px]" width="2624" height="1700" data-path="images/dark_mode/variables_manager.jpg" />
        </div>
      </Frame>
    </div>

    <Info>
      See the [Variables documentation](/pages/variables) for more details.
    </Info>

    ***

    **Integration Manager**

    The Integration Manager is where you connect external systems by adding credentials and configuration for each integration.

    <div className="block dark:hidden">
      <Frame>
        <div className="p-1">
          <img src="https://mintcdn.com/nlpearl/GUOay_brPNT7sxss/images/dark_mode/pearlvibe-cred-manager.png?fit=max&auto=format&n=GUOay_brPNT7sxss&q=85&s=5ec457980c83148a66f9b60147c8c3d3" alt="Send Email action interface on light mode" className="rounded-[14px]" width="2984" height="1856" data-path="images/dark_mode/pearlvibe-cred-manager.png" />
        </div>
      </Frame>
    </div>

    <div className="hidden dark:block">
      <Frame>
        <div className="p-1">
          <img src="https://mintcdn.com/nlpearl/GUOay_brPNT7sxss/images/dark_mode/pearlvibe-cred-manager.png?fit=max&auto=format&n=GUOay_brPNT7sxss&q=85&s=5ec457980c83148a66f9b60147c8c3d3" alt="Send Email action interface on dark mode" className="rounded-[14px]" width="2984" height="1856" data-path="images/dark_mode/pearlvibe-cred-manager.png" />
        </div>
      </Frame>
    </div>

    It lets you:

    * Add new integrations (e.g. Salesforce, HubSpot, ticketing tools, booking engines).
    * Configure authentication.
  </Accordion>

  <Accordion title="Task & Error Management" icon="circle-exclamation">
    As your flows grow, PearlVibe helps you keep them valid, connected, and fully configured.

    <div className="block dark:hidden">
      <Frame>
        <div className="p-1">
          <img src="https://mintcdn.com/nlpearl/GUOay_brPNT7sxss/images/dark_mode/pearlvibe-task-error.png?fit=max&auto=format&n=GUOay_brPNT7sxss&q=85&s=80ea72b72546ac070e9d367ddaa232e1" alt="Send Email action interface on light mode" className="rounded-[14px]" width="2984" height="1856" data-path="images/dark_mode/pearlvibe-task-error.png" />
        </div>
      </Frame>
    </div>

    <div className="hidden dark:block">
      <Frame>
        <div className="p-1">
          <img src="https://mintcdn.com/nlpearl/GUOay_brPNT7sxss/images/dark_mode/pearlvibe-task-error.png?fit=max&auto=format&n=GUOay_brPNT7sxss&q=85&s=80ea72b72546ac070e9d367ddaa232e1" alt="Send Email action interface on dark mode" className="rounded-[14px]" width="2984" height="1856" data-path="images/dark_mode/pearlvibe-task-error.png" />
        </div>
      </Frame>
    </div>

    <Warning>
      **Error detection**

      Pearl Vibe automatically scans your Pearl for common issues, such as:

      * Nodes without outgoing transitions.
      * Transitions not connected to any node.
      * Missing required fields (for example: API nodes without an endpoint or description).
      * Incomplete campaign or flow configuration.

      When such issues are detected, the Tasks & Errors button in the header lights up to signal that something needs your attention.
    </Warning>

    **Tasks & Errors sidebar**

    Clicking the Tasks & Errors button opens a right-hand sidebar that groups everything in one place:

    | Section                  | Content                                                                                             |
    | ------------------------ | --------------------------------------------------------------------------------------------------- |
    | **Task & Error section** | Lists all issues found in your nodes (e.g. "Missing API Endpoint", "Missing Transition: Continue"). |
    | **Credentials section**  | Lists integrations that still need to be connected (e.g. Algolia, Calendly, etc.).                  |

    Each card in the Task & Error section shows:

    * A short description of what's missing or misconfigured.
    * A **"Fix with AI"** action to let the agent propose and apply a fix.
    * An **"Open in editor"** action that jumps directly to the affected node in the Flow Editor.

    <Tip>
      You can either fix issues manually or let the AI draft and apply the corrected configuration for you.
    </Tip>
  </Accordion>

  <Accordion title="Test Calls & Debugging" icon="phone-volume">
    Test calls are the safest way to validate your Pearl before and after publishing.

    **Launching a Test Call**

    <div className="block dark:hidden">
      <Frame>
        <div className="p-1">
          <img src="https://mintcdn.com/nlpearl/GUOay_brPNT7sxss/images/dark_mode/pearlvibe-testcall.png?fit=max&auto=format&n=GUOay_brPNT7sxss&q=85&s=d9ab585c20d1945ce7cf4bd7d93757ab" alt="Send Email action interface on light mode" className="rounded-[14px]" width="2984" height="1856" data-path="images/dark_mode/pearlvibe-testcall.png" />
        </div>
      </Frame>
    </div>

    <div className="hidden dark:block">
      <Frame>
        <div className="p-1">
          <img src="https://mintcdn.com/nlpearl/GUOay_brPNT7sxss/images/dark_mode/pearlvibe-testcall.png?fit=max&auto=format&n=GUOay_brPNT7sxss&q=85&s=d9ab585c20d1945ce7cf4bd7d93757ab" alt="Send Email action interface on dark mode" className="rounded-[14px]" width="2984" height="1856" data-path="images/dark_mode/pearlvibe-testcall.png" />
        </div>
      </Frame>
    </div>

    To run a test call:

    * Open the Test Call panel from the header.
    * Enter the phone number you want to call (usually your own or a test device).
    * Start the test: the Pearl calls that number using the current Draft configuration (unless you choose otherwise).

    ***

    **Live Node Tracing**

    <div className="block dark:hidden">
      <Frame>
        <div className="p-1">
          <img src="https://mintcdn.com/nlpearl/GUOay_brPNT7sxss/images/dark_mode/pearlvibe-testcallview2.png?fit=max&auto=format&n=GUOay_brPNT7sxss&q=85&s=ab5ada88b7afcf4356c6833a4773e9e5" alt="Send Email action interface on light mode" className="rounded-[14px]" width="2984" height="1856" data-path="images/dark_mode/pearlvibe-testcallview2.png" />
        </div>
      </Frame>
    </div>

    <div className="hidden dark:block">
      <Frame>
        <div className="p-1">
          <img src="https://mintcdn.com/nlpearl/GUOay_brPNT7sxss/images/dark_mode/pearlvibe-testcallview2.png?fit=max&auto=format&n=GUOay_brPNT7sxss&q=85&s=ab5ada88b7afcf4356c6833a4773e9e5" alt="Send Email action interface on dark mode" className="rounded-[14px]" width="2984" height="1856" data-path="images/dark_mode/pearlvibe-testcallview2.png" />
        </div>
      </Frame>
    </div>

    During the test call:

    * Nodes in the canvas light up one after another as the conversation progresses.
    * You can visually follow the path the call is taking through your flow.

    <Tip>
      This helps you understand why a certain question was asked, see which transition was taken at each step, and debug misrouted calls or unexpected behaviors.
    </Tip>

    ***

    **Post‑Call Views**

    <div className="block dark:hidden">
      <Frame>
        <div className="p-1">
          <img src="https://mintcdn.com/nlpearl/GUOay_brPNT7sxss/images/dark_mode/pearlvibe-testcallview.png?fit=max&auto=format&n=GUOay_brPNT7sxss&q=85&s=b493fd56a326aa2afbc78a4bf191b74c" alt="Send Email action interface on light mode" className="rounded-[14px]" width="2987" height="1856" data-path="images/dark_mode/pearlvibe-testcallview.png" />
        </div>
      </Frame>
    </div>

    <div className="hidden dark:block">
      <Frame>
        <div className="p-1">
          <img src="https://mintcdn.com/nlpearl/GUOay_brPNT7sxss/images/dark_mode/pearlvibe-testcallview.png?fit=max&auto=format&n=GUOay_brPNT7sxss&q=85&s=b493fd56a326aa2afbc78a4bf191b74c" alt="Send Email action interface on dark mode" className="rounded-[14px]" width="2987" height="1856" data-path="images/dark_mode/pearlvibe-testcallview.png" />
        </div>
      </Frame>
    </div>

    The Test Call panel also includes a tab for Post‑Calls:

    * See which Post‑Call nodes were executed after hang‑up.
    * Inspect the actions triggered (SMS, emails, CRM updates, webhooks…).
    * Use this view to verify that your back‑office automation is behaving as expected.

    <Info>
      To learn more about Post-Call, see the [Post-Call documentation](/pages/postcall).
    </Info>
  </Accordion>
</AccordionGroup>

***

### Chat Sidebar

The chat sidebar is the control panel for the current node.

It combines two complementary views:

| View       | Description                                  |
| ---------- | -------------------------------------------- |
| **Chat**   | Vibe coding with the PearlVibe AI.           |
| **Manual** | Explicit configuration of the selected node. |

<Note>
  All actions in this sidebar always apply to the node currently selected in the flow editor (unless explicitly noted as global, like General Instructions).
</Note>

<Tabs>
  <Tab title="Chat mode (Vibe Coding)">
    <div className="block dark:hidden">
      <Frame>
        <div className="p-1">
          <img src="https://mintcdn.com/nlpearl/GUOay_brPNT7sxss/images/dark_mode/pearlvibe-sidebar.png?fit=max&auto=format&n=GUOay_brPNT7sxss&q=85&s=3cd7f3653a20455fa0509d6da47e485a" alt="Send Email action interface on light mode" className="rounded-[14px]" width="2984" height="1856" data-path="images/dark_mode/pearlvibe-sidebar.png" />
        </div>
      </Frame>
    </div>

    <div className="hidden dark:block">
      <Frame>
        <div className="p-1">
          <img src="https://mintcdn.com/nlpearl/GUOay_brPNT7sxss/images/dark_mode/pearlvibe-sidebar.png?fit=max&auto=format&n=GUOay_brPNT7sxss&q=85&s=3cd7f3653a20455fa0509d6da47e485a" alt="Send Email action interface on dark mode" className="rounded-[14px]" width="2984" height="1856" data-path="images/dark_mode/pearlvibe-sidebar.png" />
        </div>
      </Frame>
    </div>

    In Chat mode, you design and update the flow by describing changes in natural language. Pearl Vibe interprets your request and applies the corresponding modifications to the Draft.

    **Typical operations you can perform:**

    * Create or delete nodes.
    * Edit the content and behavior of a node.
    * Add, rename, or reconnect transitions.
    * Attach actions (API calls, SMS, email, transfers, etc.).
    * Configure post-call logic.

    **Key elements:**

    | Element               | Description                                                                                                                                                                                                                                                                       |
    | --------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
    | **Chat input**        | Enter instructions such as: "Split this node into three outcomes based on payment status.", "After a successful payment, send a confirmation SMS and end the call.", "Create a post-call node that logs the outcome to the CRM."                                                  |
    | **Send**              | Sends your instruction to the AI and applies the resulting changes to the flow. The editor is updated in real time so you can immediately review what has changed.                                                                                                                |
    | **File upload**       | Attach supporting material (FAQs, pricing sheets, policy docs, playbooks, etc.). These files enrich the Pearl's knowledge and can be referenced in node prompts and call behavior.                                                                                                |
    | **Enhance prompt**    | Takes a rough or short instruction and rewrites it into a clearer, more structured request before execution. Use this when your initial prompt is ambiguous or incomplete and you want the AI to "clean it up" first.                                                             |
    | **Node context pill** | When a node is selected in the canvas, its name appears as a pill above the chat. Any instruction you send while this pill is active is interpreted in the context of that node (for example: "Change the greeting", "Add a failure transition that transfers to support", etc.). |

    <Tip>
      Chat mode is the recommended entry point to quickly build or refactor a flow, especially for large or complex trees.
    </Tip>
  </Tab>

  <Tab title="Manual mode (per node)">
    Manual mode is available as an alternative tab to the chat. It targets the currently selected node.

    It is split into two tabs:

    <div className="block dark:hidden">
      <Frame>
        <div className="p-1">
          <img src="https://mintcdn.com/nlpearl/GUOay_brPNT7sxss/images/dark_mode/pearlvibe-sidebar2.png?fit=max&auto=format&n=GUOay_brPNT7sxss&q=85&s=ac12256df65178c52cae734eb1b4b190" alt="Send Email action interface on light mode" className="rounded-[14px]" width="2984" height="1856" data-path="images/dark_mode/pearlvibe-sidebar2.png" />
        </div>
      </Frame>
    </div>

    <div className="hidden dark:block">
      <Frame>
        <div className="p-1">
          <img src="https://mintcdn.com/nlpearl/GUOay_brPNT7sxss/images/dark_mode/pearlvibe-sidebar2.png?fit=max&auto=format&n=GUOay_brPNT7sxss&q=85&s=ac12256df65178c52cae734eb1b4b190" alt="Send Email action interface on dark mode" className="rounded-[14px]" width="2984" height="1856" data-path="images/dark_mode/pearlvibe-sidebar2.png" />
        </div>
      </Frame>
    </div>

    **The Node tab**

    Exposes all the settings that are specific to the current node type. What you see here changes depending on whether the node is a Dialogue, API, SMS, Email, Transfer, Integration, or Post-Call node.

    In short, the Node tab is where you configure what this node does internally, based purely on its type.

    <Note>
      Routing to other nodes is not handled here, but in the Transitions tab.
    </Note>

    **The Transitions tab**

    Defines how the conversation can exit this node.

    <div className="block dark:hidden">
      <Frame>
        <div className="p-1">
          <img src="https://mintcdn.com/nlpearl/GUOay_brPNT7sxss/images/dark_mode/pearlvibe-sidebar3.png?fit=max&auto=format&n=GUOay_brPNT7sxss&q=85&s=daf2488676a5c145257f311b9d1d24c4" alt="Send Email action interface on light mode" className="rounded-[14px]" width="2984" height="1856" data-path="images/dark_mode/pearlvibe-sidebar3.png" />
        </div>
      </Frame>
    </div>

    <div className="hidden dark:block">
      <Frame>
        <div className="p-1">
          <img src="https://mintcdn.com/nlpearl/GUOay_brPNT7sxss/images/dark_mode/pearlvibe-sidebar3.png?fit=max&auto=format&n=GUOay_brPNT7sxss&q=85&s=daf2488676a5c145257f311b9d1d24c4" alt="Send Email action interface on dark mode" className="rounded-[14px]" width="2984" height="1856" data-path="images/dark_mode/pearlvibe-sidebar3.png" />
        </div>
      </Frame>
    </div>

    From here you can:

    * **Create transitions** – Add exits such as "Success", "Failure", "No answer", "Customer asks for human", etc.
    * **Connect transitions** – Choose the target node for each transition to shape the path of the call.
    * **Edit or delete transitions** – Rename transitions, change their destination, or remove them when they are no longer needed.

    <Info>
      Any modification done in Manual mode is immediately reflected in the visual flow and remains fully understood by the AI.

      You can freely switch between Chat (AI-assisted editing) and Manual (explicit configuration) as you work on the same node.
    </Info>
  </Tab>
</Tabs>

***

### Central Canvas

The central canvas displays your flow as a graph of nodes and transitions.

<div className="block dark:hidden">
  <Frame>
    <div className="p-1">
      <img src="https://mintcdn.com/nlpearl/GUOay_brPNT7sxss/images/dark_mode/pearlvibe-canva.png?fit=max&auto=format&n=GUOay_brPNT7sxss&q=85&s=572ac63e2fb16ede154c99db2ecfbf2b" alt="Send Email action interface on light mode" className="rounded-[14px]" width="2984" height="1856" data-path="images/dark_mode/pearlvibe-canva.png" />
    </div>
  </Frame>
</div>

<div className="hidden dark:block">
  <Frame>
    <div className="p-1">
      <img src="https://mintcdn.com/nlpearl/GUOay_brPNT7sxss/images/dark_mode/pearlvibe-canva.png?fit=max&auto=format&n=GUOay_brPNT7sxss&q=85&s=572ac63e2fb16ede154c99db2ecfbf2b" alt="Send Email action interface on dark mode" className="rounded-[14px]" width="2984" height="1856" data-path="images/dark_mode/pearlvibe-canva.png" />
    </div>
  </Frame>
</div>

| Element         | Description                                                                                                                   |
| --------------- | ----------------------------------------------------------------------------------------------------------------------------- |
| **Nodes**       | Each node represents a step in the call (a message, an action, or a set of actions).                                          |
| **Transitions** | Each transition represents a possible path from one node to another based on intents, recognition results, or business logic. |

**From the canvas you can:**

* Select nodes to open them in the sidebar.
* Drag nodes to reorganize the layout visually.
* Follow transitions to understand how the call can move through the flow.
* Hover nodes to see popovers with a quick summary of what they do (main actions, key conditions, etc.).

<AccordionGroup>
  <Accordion title="Node Types Overview" icon="shapes">
    Pearl Vibe supports several node types:

    | Node Type             | Description                                                    |
    | --------------------- | -------------------------------------------------------------- |
    | **Start node**        | Entry point of the flow.                                       |
    | **In‑Call nodes**     | Actions that occur while the caller is on the line.            |
    | **Integration nodes** | Interactions with external systems (CRM, ticketing, booking…). |
    | **End Call node**     | The node that ends the conversation.                           |
    | **Post‑Call nodes**   | Actions executed after the call has ended.                     |

    <Info>
      **Understanding Node Types: Pre-Call, In-Call & Post-Call**

      Your Pearl flow is built around three categories of nodes, each designed for a specific moment in the call lifecycle. Knowing the difference is essential to avoid misusing an action or expecting behavior that can't happen at that stage.

      **1. Pre-Call Nodes: Before the call starts**

      These nodes run prior to dialing or answering. They're ideal for preparing context: fetching customer data, checking availability, validating an ID, loading account information. They cannot interact with the caller and cannot create or import leads.

      **2. In-Call Nodes: During the conversation**

      These nodes control everything that happens while the caller and the agent are connected. Dialogue, decision logic, sending SMS/emails, API calls, and CRM updates all happen here in real time. This is the core of your conversational flow.

      **3. Post-Call Nodes: After the call ends**

      Once the call is finished, these nodes handle asynchronous tasks: writing CRM logs, creating leads, triggering webhooks, updating databases, or launching follow-up workflows. They cannot affect what happened during the call, only what happens after.
    </Info>
  </Accordion>

  <Accordion title="Start Node" icon="play">
    Every flow begins with a Start node. It controls how the conversation is initiated.

    <div className="block dark:hidden">
      <Frame>
        <div className="p-1">
          <img src="https://mintcdn.com/nlpearl/GUOay_brPNT7sxss/images/dark_mode/pearlvibe-startnode.png?fit=max&auto=format&n=GUOay_brPNT7sxss&q=85&s=434c407809ef3cccb5f0717c7f4f8156" alt="Send Email action interface on light mode" className="rounded-[14px]" width="2984" height="1856" data-path="images/dark_mode/pearlvibe-startnode.png" />
        </div>
      </Frame>
    </div>

    <div className="hidden dark:block">
      <Frame>
        <div className="p-1">
          <img src="https://mintcdn.com/nlpearl/GUOay_brPNT7sxss/images/dark_mode/pearlvibe-startnode.png?fit=max&auto=format&n=GUOay_brPNT7sxss&q=85&s=434c407809ef3cccb5f0717c7f4f8156" alt="Send Email action interface on dark mode" className="rounded-[14px]" width="2984" height="1856" data-path="images/dark_mode/pearlvibe-startnode.png" />
        </div>
      </Frame>
    </div>

    You can configure it in two ways:

    | Configuration        | Description                                                                                                                                                                                                                                                                      |
    | -------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
    | **Opening sentence** | A standard greeting and first question, for example: "Hi, you've reached \[Company]. How can I help you today?"                                                                                                                                                                  |
    | **Pre‑Call API**     | Before the Pearl speaks, it can call an external API (for example to fetch order details, check account status, or pre‑qualify the caller). The API response can then change the opening sentence, route the caller toward different branches, or preload variables and context. |

    <Note>
      The Pre-Call API cannot be used to import leads into your Pearl. Its purpose is strictly to enrich or prepare contextual data before the call starts
    </Note>
  </Accordion>

  <Accordion title="In‑Call Nodes" icon="phone">
    In‑Call nodes represent actions and dialogues during the call. Typical types include:

    <div className="block dark:hidden">
      <Frame>
        <div className="p-1">
          <img src="https://mintcdn.com/nlpearl/GUOay_brPNT7sxss/images/dark_mode/pearlvibe-incallnode.png?fit=max&auto=format&n=GUOay_brPNT7sxss&q=85&s=2abb0c1558e0f31cf45e0b4a6dd26af6" alt="Send Email action interface on light mode" className="rounded-[14px]" width="2984" height="1856" data-path="images/dark_mode/pearlvibe-incallnode.png" />
        </div>
      </Frame>
    </div>

    <div className="hidden dark:block">
      <Frame>
        <div className="p-1">
          <img src="https://mintcdn.com/nlpearl/GUOay_brPNT7sxss/images/dark_mode/pearlvibe-incallnode.png?fit=max&auto=format&n=GUOay_brPNT7sxss&q=85&s=2abb0c1558e0f31cf45e0b4a6dd26af6" alt="Send Email action interface on dark mode" className="rounded-[14px]" width="2984" height="1856" data-path="images/dark_mode/pearlvibe-incallnode.png" />
        </div>
      </Frame>
    </div>

    | Node Type         | Description                                                                                                           |
    | ----------------- | --------------------------------------------------------------------------------------------------------------------- |
    | **Dialogue**      | The Pearl speaks, listens, and interprets the caller's response according to your instructions.                       |
    | **Send SMS**      | Send a text message to the caller during the call (e.g. a confirmation code, a link, or a summary).                   |
    | **Send email**    | Trigger an email to the caller or your team.                                                                          |
    | **API**           | Call an external API (e.g. update a record, check availability, create a ticket).                                     |
    | **Transfer call** | Transfer the caller to a human agent or another phone number. You can control what happens before and after transfer. |
  </Accordion>

  <Accordion title="Integration Nodes" icon="plug">
    Integration nodes allow your Pearl to interact directly with external tools and services without writing any API code yourself. They serve as pre-configured action blocks that handle authentication, request formatting, and data mapping automatically.

    <div className="block dark:hidden">
      <Frame>
        <div className="p-1">
          <img src="https://mintcdn.com/nlpearl/GUOay_brPNT7sxss/images/dark_mode/pearlvibe-integrationtnode.png?fit=max&auto=format&n=GUOay_brPNT7sxss&q=85&s=19868e79058abd2505678d323d7d660a" alt="Send Email action interface on light mode" className="rounded-[14px]" width="2984" height="1856" data-path="images/dark_mode/pearlvibe-integrationtnode.png" />
        </div>
      </Frame>
    </div>

    <div className="hidden dark:block">
      <Frame>
        <div className="p-1">
          <img src="https://mintcdn.com/nlpearl/GUOay_brPNT7sxss/images/dark_mode/pearlvibe-integrationtnode.png?fit=max&auto=format&n=GUOay_brPNT7sxss&q=85&s=19868e79058abd2505678d323d7d660a" alt="Send Email action interface on dark mode" className="rounded-[14px]" width="2984" height="1856" data-path="images/dark_mode/pearlvibe-integrationtnode.png" />
        </div>
      </Frame>
    </div>

    **Integration node variants:**

    | Variant                         | Description                                                                                   |
    | ------------------------------- | --------------------------------------------------------------------------------------------- |
    | **In-Call Integration Nodes**   | Executed while the caller is still on the line (e.g. checking a CRM record before answering). |
    | **Post-Call Integration Nodes** | Executed after the call ends (e.g. logging call results into a ticketing system).             |

    **What Integration Nodes Do**

    Integration nodes encapsulate tasks such as:

    | Category                   | Examples                        | Tasks                                                                                                |
    | -------------------------- | ------------------------------- | ---------------------------------------------------------------------------------------------------- |
    | **CRM operations**         | Salesforce, HubSpot, Pipedrive… | Create or update records, attach call results, sync contact data.                                    |
    | **Helpdesk platforms**     | Zendesk, Freshdesk…             | Create tickets, update statuses, push conversation summaries.                                        |
    | **Booking engines**        | Calendly, Cloudbeds, Shore…     | Check availability, create reservations, cancel or modify bookings.                                  |
    | **Search & data services** | Algolia, Elasticsearch…         | Query product/catalog data, validate inputs, or retrieve structured info.                            |
    | **Payments & billing**     | Stripe, Paystack…               | Check payment status, initiate a payment link workflow, validate customer identity.                  |
    | **Custom Integrations**    | Any configured integration      | Any integration you configure in the Integration Manager becomes available here as a dedicated node. |

    **How They Work**

    | Feature                  | Description                                                                           |
    | ------------------------ | ------------------------------------------------------------------------------------- |
    | **Secure Credentials**   | The Integration Manager stores credentials securely (API keys, tokens, IDs…).         |
    | **Available as Node**    | Once connected, each service becomes available as a node in the flow.                 |
    | **Simple Configuration** | The node exposes only the required parameters, no API documentation or coding needed. |
    | **Data Mapping**         | Returned data can be mapped to variables and used later in the conversation.          |

    **Available Integrations**

    <div style={{display: 'grid', gridTemplateColumns: 'repeat(4, 1fr)', gap: '8px', marginTop: '16px'}}>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/ActiveCampaign.svg" width="18" height="18" /> ActiveCampaign</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/Airtable.svg" width="18" height="18" /> Airtable</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/Algolia.svg" width="18" height="18" /> Algolia</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/Anthropic.svg" width="18" height="18" /> Anthropic</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/AssemblyAI.svg" width="18" height="18" /> AssemblyAI</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/Backblaze.svg" width="18" height="18" /> Backblaze</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/Baserow.svg" width="18" height="18" /> Baserow</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/Bitly.svg" width="18" height="18" /> Bitly</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/Brevo.svg" width="18" height="18" /> Brevo</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/Cal.svg" width="18" height="18" /> Cal.com</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/Calendly.svg" width="18" height="18" /> Calendly</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/Clearbit.svg" width="18" height="18" /> Clearbit</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/ClickUp.svg" width="18" height="18" /> ClickUp</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/Cloudflare.svg" width="18" height="18" /> Cloudflare</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/Cohere.svg" width="18" height="18" /> Cohere</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/Contentful.svg" width="18" height="18" /> Contentful</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/Convertkit.svg" width="18" height="18" /> Convertkit</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/CustomerIO.svg" width="18" height="18" /> Customer.io</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/Datadog.svg" width="18" height="18" /> Datadog</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/DeepL.svg" width="18" height="18" /> DeepL</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/DigitalOcean.svg" width="18" height="18" /> DigitalOcean</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/Discord.svg" width="18" height="18" /> Discord</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/Elasticsearch.svg" width="18" height="18" /> Elasticsearch</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/Freshdesk.svg" width="18" height="18" /> Freshdesk</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/Ghost.svg" width="18" height="18" /> Ghost</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/GoogleCalendar.svg" width="18" height="18" /> Google Calendar</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/GoogleDocs.svg" width="18" height="18" /> Google Docs</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/GoogleSheets.svg" width="18" height="18" /> Google Sheets</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/Grafana.svg" width="18" height="18" /> Grafana</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/Groq.svg" width="18" height="18" /> Groq</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/Hetzner.svg" width="18" height="18" /> Hetzner</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/Hubspot.svg" width="18" height="18" /> HubSpot</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/HuggingFace.svg" width="18" height="18" /> HuggingFace</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/Hunter.svg" width="18" height="18" /> Hunter</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/InfluxDB.svg" width="18" height="18" /> InfluxDB</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/JotForm.svg" width="18" height="18" /> JotForm</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/Lemlist.svg" width="18" height="18" /> Lemlist</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/Magento.svg" width="18" height="18" /> Magento</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/MailerLite.svg" width="18" height="18" /> MailerLite</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/Mailgun.svg" width="18" height="18" /> Mailgun</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/Mailjet.svg" width="18" height="18" /> Mailjet</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/Mandrill.svg" width="18" height="18" /> Mandrill</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/Matrix.svg" width="18" height="18" /> Matrix</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/Mattermost.svg" width="18" height="18" /> Mattermost</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/MessageBird.svg" width="18" height="18" /> MessageBird</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/Metabase.svg" width="18" height="18" /> Metabase</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/MicrosoftOutlook.svg" width="18" height="18" /> Microsoft Outlook</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/MinIO.svg" width="18" height="18" /> MinIO</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/MistralAI.svg" width="18" height="18" /> Mistral AI</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/Mocean.svg" width="18" height="18" /> Mocean</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/MongoDB.svg" width="18" height="18" /> MongoDB</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/MQTT.svg" width="18" height="18" /> MQTT</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/MSG91.svg" width="18" height="18" /> MSG91</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/MySQL.svg" width="18" height="18" /> MySQL</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/Netlify.svg" width="18" height="18" /> Netlify</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/NewRelic.svg" width="18" height="18" /> New Relic</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/NocoDB.svg" width="18" height="18" /> NocoDB</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/OpenAI.svg" width="18" height="18" /> OpenAI</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/OpenRouter.svg" width="18" height="18" /> OpenRouter</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/OpenWeatherMap.svg" width="18" height="18" /> OpenWeatherMap</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/Pabbly.svg" width="18" height="18" /> Pabbly</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/Paddle.svg" width="18" height="18" /> Paddle</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/PagerDuty.svg" width="18" height="18" /> PagerDuty</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/Perplexity.svg" width="18" height="18" /> Perplexity</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/Pinecone.svg" width="18" height="18" /> Pinecone</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/Plivo.svg" width="18" height="18" /> Plivo</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/PostHog.svg" width="18" height="18" /> PostHog</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/PostgreSQL.svg" width="18" height="18" /> PostgreSQL</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/Postmark.svg" width="18" height="18" /> Postmark</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/Pushover.svg" width="18" height="18" /> Pushover</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/Qdrant.svg" width="18" height="18" /> Qdrant</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/RabbitMQ.svg" width="18" height="18" /> RabbitMQ</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/Redis.svg" width="18" height="18" /> Redis</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/Replicate.svg" width="18" height="18" /> Replicate</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/Rocketchat.svg" width="18" height="18" /> Rocketchat</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/Salesforce.svg" width="18" height="18" /> Salesforce</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/SendGrid.svg" width="18" height="18" /> SendGrid</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/Sendy.webp" width="18" height="18" /> Sendy</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/Sentry.svg" width="18" height="18" /> Sentry</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/Serp.svg" width="18" height="18" /> Serp</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/SIGNL4.svg" width="18" height="18" /> SIGNL4</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/SparkPost.svg" width="18" height="18" /> SparkPost</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/Square.svg" width="18" height="18" /> Square</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/StabilityAI.svg" width="18" height="18" /> Stability AI</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/Strapi.svg" width="18" height="18" /> Strapi</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/Supabase.svg" width="18" height="18" /> Supabase</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/Telegram.svg" width="18" height="18" /> Telegram</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/TogetherAI.svg" width="18" height="18" /> Together AI</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/Twilio.svg" width="18" height="18" /> Twilio</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/Typeform.svg" width="18" height="18" /> Typeform</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/Vercel.svg" width="18" height="18" /> Vercel</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/Vonage.svg" width="18" height="18" /> Vonage</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/Wasabi.svg" width="18" height="18" /> Wasabi</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/Weaviate.svg" width="18" height="18" /> Weaviate</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/WooCommerce.svg" width="18" height="18" /> WooCommerce</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/WordPress.svg" width="18" height="18" /> WordPress</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/Wufoo.svg" width="18" height="18" /> Wufoo</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/Yourls.svg" width="18" height="18" /> Yourls</div>
      <div style={{display: 'flex', alignItems: 'center', gap: '8px', padding: '8px 12px', border: '1px solid #2E2E2E', borderRadius: '8px', fontSize: '12px'}}><img src="https://assets.nlpearl.ai/Integrations/Zulip.svg" width="18" height="18" /> Zulip</div>
    </div>
  </Accordion>

  <Accordion title="End Call & Post‑Call Nodes" icon="phone-hangup">
    **End Call node**

    This node closes the conversation gracefully (e.g. "Thanks for your time, goodbye."). It is typically the last in‑call node.

    <div className="block dark:hidden">
      <Frame>
        <div className="p-1">
          <img src="https://mintcdn.com/nlpearl/GUOay_brPNT7sxss/images/dark_mode/pearlvibe-endcalltnode.png?fit=max&auto=format&n=GUOay_brPNT7sxss&q=85&s=6f383b490532ccbed5cd8857ce16fd6b" alt="Send Email action interface on light mode" className="rounded-[14px]" width="2984" height="1856" data-path="images/dark_mode/pearlvibe-endcalltnode.png" />
        </div>
      </Frame>
    </div>

    <div className="hidden dark:block">
      <Frame>
        <div className="p-1">
          <img src="https://mintcdn.com/nlpearl/GUOay_brPNT7sxss/images/dark_mode/pearlvibe-endcalltnode.png?fit=max&auto=format&n=GUOay_brPNT7sxss&q=85&s=6f383b490532ccbed5cd8857ce16fd6b" alt="Send Email action interface on dark mode" className="rounded-[14px]" width="2984" height="1856" data-path="images/dark_mode/pearlvibe-endcalltnode.png" />
        </div>
      </Frame>
    </div>

    **Post‑Call nodes**

    After the End Call node, you can add Post‑Call nodes via transitions. These nodes execute actions after the call has ended, such as:

    * Sending a summary SMS.
    * Writing a detailed log into your CRM.
    * Triggering a webhook.
    * Sending internal notifications to your team.

    <Info>
      Post‑Call nodes support many of the same actions as In‑Call nodes but are not constrained by real‑time conversation.
    </Info>

    <div className="block dark:hidden">
      <Frame>
        <div className="p-1">
          <img src="https://mintcdn.com/nlpearl/GUOay_brPNT7sxss/images/dark_mode/pearlvibe-postcalltnode.png?fit=max&auto=format&n=GUOay_brPNT7sxss&q=85&s=ddce7b832250ac142497b6cd8454d485" alt="Send Email action interface on light mode" className="rounded-[14px]" width="2984" height="1856" data-path="images/dark_mode/pearlvibe-postcalltnode.png" />
        </div>
      </Frame>
    </div>

    <div className="hidden dark:block">
      <Frame>
        <div className="p-1">
          <img src="https://mintcdn.com/nlpearl/GUOay_brPNT7sxss/images/dark_mode/pearlvibe-postcalltnode.png?fit=max&auto=format&n=GUOay_brPNT7sxss&q=85&s=ddce7b832250ac142497b6cd8454d485" alt="Send Email action interface on dark mode" className="rounded-[14px]" width="2984" height="1856" data-path="images/dark_mode/pearlvibe-postcalltnode.png" />
        </div>
      </Frame>
    </div>
  </Accordion>

  <Accordion title="Node Structure" icon="layer-group">
    Each node shares a common structure:

    <div className="block dark:hidden">
      <Frame>
        <div className="p-1">
          <img src="https://mintcdn.com/nlpearl/GUOay_brPNT7sxss/images/dark_mode/pearlvibe-structurenode.png?fit=max&auto=format&n=GUOay_brPNT7sxss&q=85&s=feb6e0e6511dbf414d9c2684e5185d77" alt="Send Email action interface on light mode" className="rounded-[14px]" width="1831" height="1856" data-path="images/dark_mode/pearlvibe-structurenode.png" />
        </div>
      </Frame>
    </div>

    <div className="hidden dark:block">
      <Frame>
        <div className="p-1">
          <img src="https://mintcdn.com/nlpearl/GUOay_brPNT7sxss/images/dark_mode/pearlvibe-structurenode.png?fit=max&auto=format&n=GUOay_brPNT7sxss&q=85&s=feb6e0e6511dbf414d9c2684e5185d77" alt="Send Email action interface on dark mode" className="rounded-[14px]" width="1831" height="1856" data-path="images/dark_mode/pearlvibe-structurenode.png" />
        </div>
      </Frame>
    </div>

    **Header**

    * Icon representing the type of node.
    * Node name, editable to reflect its role ("Payment check", "Qualification", "Post‑call CRM update"…).

    **Transitions list**

    Under the header, you see the list of transitions for this node (e.g. "Success", "Failure", "No match", "Ask for human"). From here you can:

    * See which node each transition points to.
    * Click to navigate along the transition.
    * Disconnect or reconnect transitions to reshape the flow.

    **Hover popover**

    When you hover a node in the canvas, a popover shows a short summary:

    * Main instruction or script.
    * Key actions (SMS, API, transfer…).
    * Critical transitions or tags.
  </Accordion>

  <Accordion title="Bottom tools" icon="toolbox">
    At the bottom of the canva you'll find:

    | Tool                     | Description                                                                                                                                                                |
    | ------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
    | **Add node buttons**     | Create new nodes manually (Pre-Call, In-Call, or Post-Call nodes), browse and search node types, and insert nodes directly into the flow.                                  |
    | **General Instructions** | Opens a popup where you define global instructions for the entire flow (tone, strategy, guardrails, constraints). These act as a "meta prompt" on top of individual nodes. |
    | **Search**               | Search across all nodes by name or content and jump directly to the node you need.                                                                                         |

    <div className="block dark:hidden">
      <Frame>
        <div className="p-1">
          <img src="https://mintcdn.com/nlpearl/GUOay_brPNT7sxss/images/dark_mode/pearlvibe-structurenode22.png?fit=max&auto=format&n=GUOay_brPNT7sxss&q=85&s=260946e5039b008276398089611bfeab" alt="Send Email action interface on light mode" className="rounded-[14px]" width="2984" height="1856" data-path="images/dark_mode/pearlvibe-structurenode22.png" />
        </div>
      </Frame>
    </div>

    <div className="hidden dark:block">
      <Frame>
        <div className="p-1">
          <img src="https://mintcdn.com/nlpearl/GUOay_brPNT7sxss/images/dark_mode/pearlvibe-structurenode22.png?fit=max&auto=format&n=GUOay_brPNT7sxss&q=85&s=260946e5039b008276398089611bfeab" alt="Send Email action interface on dark mode" className="rounded-[14px]" width="2984" height="1856" data-path="images/dark_mode/pearlvibe-structurenode22.png" />
        </div>
      </Frame>
    </div>
  </Accordion>
</AccordionGroup>

***

### Top Navigation tabs

Configure your Pearl's identity, knowledge, and behavior settings.

<div className="block dark:hidden">
  <Frame>
    <div className="p-1">
      <img src="https://mintcdn.com/nlpearl/GUOay_brPNT7sxss/images/dark_mode/pearlvibe-top-bar-navigation.png?fit=max&auto=format&n=GUOay_brPNT7sxss&q=85&s=d7bc5d10c0f3b7fd6cd7623ccc2e5444" alt="Send Email action interface on light mode" className="rounded-[14px]" width="2984" height="1856" data-path="images/dark_mode/pearlvibe-top-bar-navigation.png" />
    </div>
  </Frame>
</div>

<div className="hidden dark:block">
  <Frame>
    <div className="p-1">
      <img src="https://mintcdn.com/nlpearl/GUOay_brPNT7sxss/images/dark_mode/pearlvibe-top-bar-navigation.png?fit=max&auto=format&n=GUOay_brPNT7sxss&q=85&s=d7bc5d10c0f3b7fd6cd7623ccc2e5444" alt="Send Email action interface on dark mode" className="rounded-[14px]" width="2984" height="1856" data-path="images/dark_mode/pearlvibe-top-bar-navigation.png" />
    </div>
  </Frame>
</div>

<br />

<CardGroup cols={2}>
  <Card title="Agent Customization" icon="user-gear" href="/pages/agent_customization">
    Set your agent's name, language, voice, personality, and timezone.
  </Card>

  <Card title="Agent Knowledge Base" icon="book" href="/pages/knowledge_base">
    Give Pearl the company context and knowledge it needs to answer accurately.
  </Card>

  <Card title="Analytics" icon="chart-line" href="/pages/pearl_analytics">
    Define success, apply indicator tags, and track your Pearl's performance.
  </Card>
</CardGroup>
