Integrating Your Pearl AI Call Agent with CRM: The Ultimate Step-by-Step Guide

Table of content

Today, AI isn’t just cool tech, it’s become a necessity. Among the most impactful tools available, AI call agents truly stand out as game-changers.

Think about tasks that once took significant human effort, whether repetitive or highly complex. Thanks to call AI, they’re now effortlessly manageable. Companies adopting these technologies gain serious advantages in scalability, efficiency, and cost savings. Those that don’t? Well, they might feel the pinch later, in their operations or their bottom line.

In this detailed guide, I’ll show you how to seamlessly connect your NLPearl call agent to your CRM and unlock powerful automation for your sales and support workflows.

Why Integrate a Call Agent into Your CRM?

Connecting an AI call agent to your CRM unleashes true automation and tangible benefits:

  • ✅ Faster Response Times: Leads contacted seconds after submitting a form, without human delay.
  • ✅ Automatic Data Capture: Every call detail automatically saved to your CRM, no manual data entry.
  • ✅ Up-to-Date Records: CRM instantly reflects call summaries, transcripts, outcomes, and more.
  • ✅ Smarter Follow-Ups: Key data structured, allowing faster, smarter team actions.
  • ✅ Stronger Scalability: The system handles 10 or 10,000 calls with consistent automation.

In short, integrating your call agent with your CRM equals less work, more value, and better experiences.

Step 1 – Prepare Your NLPearl Call Agent

Before connecting NLPearl with your CRM, the very first step is to set up your AI call assistant (we affectionately call it a Pearl) directly on the NLPearl platform. Setting up your Pearl is straightforward, user-friendly, and quick.

Create Your Pearl

Log in to your NLPearl account, click on Pearls and then select Create. Here you’ll decide exactly how your Pearl interacts during conversations. Don’t worry if you’re not tech-savvy, it’s genuinely very easy!

You have two distinct types of Pearl to choose from:

  • A Simple Pearl: Ideal for quick setups and straightforward interactions.
  • An Advanced Pearl: Perfect if you’re looking for more sophisticated functionalities.

Understanding Your Variables

Variables are the heart of your call agent, they guide your Pearl in what data to collect and how to use it during conversations. Don’t panic, there are only two main categories you’ll need to master:

  • Pre-Call variables: These are pieces of information that your Pearl knows before the call even begins.
  • Collected In-Call variables: These variables include information that your Pearl gathers dynamically during the actual conversation.

To simplify this process, NLPearl provides you with a user-friendly Variable Manager, allowing you to effortlessly define and manage variables and specify precisely how and when your Pearl collects them.

Don’t worry if this seems complicated right now, everything will become crystal clear once you start interacting with the API in later steps.

Pre-call Variables (the Easy Part)

  • For Inbound calls (when someone calls your business), typically the only known variable is:
    • The caller’s phone number.
  • For Outbound calls (when your Pearl initiates the call), you have far more flexibility. You can assign multiple pre-call variables such as:
    • Customer’s name
    • Email address
    • Physical address
    • CRM Lead ID or Contact ID (the unique identifier assigned by your CRM)

These CRM IDs ensure seamless communication between your Pearl and your CRM, significantly simplifying your automation efforts.

Collected-in-call Variables (the Interesting Part)

These variables offer exceptional flexibility. Your Pearl can collect virtually any relevant piece of information during the call, including but not limited to:

  • Answers to survey-style questions (e.g., favorite color, preferred products)
  • Essential personal information (annual income, age, geographic location)
  • Information critical for lead qualification or necessary for populating CRM fields

But here’s the exciting part, it’s not limited to the questions your Pearl actively asks. Sometimes these variables can also be populated dynamically from your CRM or another API mid-conversation. Imagine your CRM sending back specific data during the call, enabling your Pearl to personalize interactions in real-time!

For a complete overview and deeper details, refer to the official documentation on variables.

Step 2 – Get Your CRM Information and Credentials

Before we dive into making your CRM and NLPearl best friends, let’s talk about the one thing you need before anything else: your CRM’s API credentials.

Don’t worry, it’s not as scary as it sounds. You’ll either be using an API Key or OAuth2, and I promise we’ll break both down clearly.

Option 1: API Key

This is the easiest and most common method.

An API key is like a password your CRM gives you. You simply include it in every request NLPearl sends to the CRM.

How to get it? Usually, just log in to your CRM, go to the Settings or Developer/API section, and generate your key.

Example:

Authorization: Token YOUR_API_KEY

Option 2: OAuth2 (More Secure)

If your CRM is a bit more high-tech (hello, Salesforce 👋), it might use OAuth2, a secure way of handling authentication.

Here’s how it works:

  1. NLPearl requests a temporary access token from your CRM using your client credentials.
  2. NLPearl uses this token in all API requests.
  3. When the token expires (usually after 300 seconds), NLPearl asks for a new one automatically.

Here’s what you need to configure OAuth2 with NLPearl:

  • Access Token URL – Where NLPearl gets the token from
  • HTTP Method – Usually POST
  • Headers & Body – Any extra data your CRM requires
  • Token Path – Tells NLPearl where to find the token in the response JSON
  • Token TTL – How long the token stays valid (e.g. 300s)
  • Header Key & Prefix – Like Bearer

Not Sure Which One Your CRM Uses?

Here’s a quick cheat sheet:

Still unsure? Check your CRM’s docs or reach out to their support. They’ll point you in the right direction.

Once you’ve got your credentials, whether it’s an API key or OAuth2 setup, you’re all set to move on to the next steps. Let’s keep going!

Step 3 – Pre-Call API (Advanced Pearls Only)

The Pre-Call API allows NLPearl to seamlessly interact with your CRM right before the conversation begins. Keep in mind, this powerful feature is exclusively available with an Advanced Pearl.

Use Cases for Pre-Call API:

  • Notify your CRM that a call is about to start, preparing your systems accordingly.
  • Fetch additional CRM information using either the CRM Lead ID or the caller’s phone number.
  • Log important activity in your system even before the conversation starts.

But here’s the catch: You can only utilize Pre-call variables. Information your Pearl collects during the call isn’t accessible yet at this stage.

Outbound Call Example:

  1. Add the lead to NLPearl with the associated CRM Lead ID.
  2. Pearl makes a request to your CRM right before dialing the lead.
  3. CRM sends back relevant context (such as current status, assigned rep, notes).
  4. Pearl initiates the call fully prepared with essential insights.

 Inbound Call Example:

  1. An inbound call is received by your Pearl.
  2. Pearl initially knows only the phone number.
  3. Pearl queries your CRM to find a match using this number.
  4. If a match is found, the CRM returns helpful lead information (name, ID, tags).

Additionally, each call is tagged with a unique CallID automatically generated by NLPearl. This identifier helps you easily track and manage individual calls within your CRM.

Step 4 – In-Call Actions

Once your call has started, your Pearl doesn’t just handle the conversation, it becomes a dynamic connector, interacting in real-time with virtually any REST API, including your CRM and other essential business tools you might use.

Yes, you heard that right, really any API. If an external system has an API, your Pearl can seamlessly integrate with it.

What Exactly Can Your Pearl Do During the Call?

During a live conversation, Pearl is capable of performing powerful, automated actions such as:

  • Sending Information directly to your CRM (for example, updating contact details, adding call notes, or marking lead status).
  • Fetching Information dynamically from your CRM (checking lead status, retrieving customer data, or verifying open support tickets).
  • Triggering External Systems to automate critical tasks (scheduling meetings, checking product availability, or sending instant follow-up emails).

This capability provides unmatched flexibility and freedom, allowing you to automate virtually any necessary action while the call is still happening.

What Variables Can You Use in In-Call Actions?

For In-Call Actions, your Pearl leverages:

  • Pre-call variables: Information known before the call (such as customer name, CRM Lead ID, email, etc.).
  • Collected-in-call variables: Real-time information that Pearl gathers from the caller during the conversation.

For example:

  • Pearl asks the caller, “What is your annual income?” The response is instantly captured in a variable and can immediately trigger an API request to update the lead information in your CRM.
  • Pearl queries, “Which city are you located in?” Upon hearing “New York,” Pearl dynamically interacts with your CRM or another system to identify local representatives, check availability, or deliver tailored promotional offers.

Required vs. Optional Variables

You have precise control over how Pearl handles variables:

  • Required variables: Pearl must obtain this information to continue the conversation smoothly. If the required information isn’t provided, Pearl will keep prompting until it gets a proper answer.
  • Optional variables: If these variables are unavailable or skipped, Pearl simply bypasses the associated API action and continues seamlessly, maintaining a smooth conversational flow.

This feature ensures your automation processes remain flexible and responsive, always aligning precisely with the flow of each unique conversation.

Real-World Examples of In-Call Automation:

  • Pearl gathers a caller’s zip code and instantly checks whether delivery is available in that region.
  • Pearl automatically sends the caller’s interest level and preferred callback time directly to your CRM.
  • Pearl fetches up-to-date notes from your CRM in the middle of the call, allowing it to adapt the conversation dynamically.

How Do You Set Up In-Call Actions?

Configuring an In-Call Action is straightforward and mirrors exactly how you set up Pre-Call APIs. You have multiple secure integration options to choose from, including:

  • ✅ A simple API key
  • ✅ A Bearer token in the header
  • ✅ Or comprehensive OAuth2 integration with automatic token refresh logic

There are absolutely no limits, simply pick the option that aligns best with your CRM’s integration requirements.

With In-Call Actions, your Pearl transforms from a mere call agent into a powerful, real-time integration tool, actively connecting your callers and your entire technology ecosystem during live conversations. This, truly, is where automation magic begins.

Ready for what’s next? Let’s explore what happens after the call ends.

Step 5 – Post-Call API

Remember when we said there were only two types of variables in NLPearl? Well… we didn’t tell you the whole truth 😅

There’s actually a third type, meet the Post-Call Variables. Now is the perfect time to explore them.

What Exactly Are Post-Call Variables?

Post-Call Variables are unique data points that become available only after the call concludes. They’re not created manually but generated automatically by NLPearl. Currently, NLPearl offers five essential Post-Call Variables:

  • Call Time: Precisely when the call occurred.
  • Call Duration: Total length of the call (in seconds).
  • Call Recording_url: A direct link to the call recording.
  • Call Summary: A concise summary generated by Pearl.
  • Call Transcript: The full text of the conversation.

These variables offer comprehensive insights into each completed call, enabling thorough analysis and informed follow-ups.

Understanding the Post-Call API

A Post-Call API is an automated request NLPearl triggers immediately after the call ends. This timely action is perfect for:

  • Automatically updating your CRM with detailed call results.
  • Adding notes or attaching call recordings to the lead’s CRM profile.
  • Changing the lead’s status in your CRM (e.g., “Contacted,” “Follow-up needed”).
  • Triggering automated workflows or follow-up processes.

Variables Available for the Post-Call API

The Post-Call API uniquely utilizes all three variable types:

  • Pre-Call Variables: Information known before the call began.
  • Collected-in-Call Variables: Real-time data Pearl gathered during the call.
  • Post-Call Variables: Data generated and available after the call ends.

Leveraging all three variable types makes the Post-Call API the most comprehensive and powerful method for delivering detailed call data directly to your CRM or other integrated systems.

The Post-Call API effectively closes the automation loop, eliminating manual updates and ensuring your CRM is always current. With every neces

Step 6 – Connect Your CRM via Webhooks

Sometimes, waiting for the end of the call to update your CRM just isn’t enough. That’s where webhooks come in. Think of them as real-time alerts from NLPearl to your systems whenever something important happens, before, during, or after a conversation.

Webhooks are a great way to create instant, event-driven CRM automation without needing to manually poll or wait for batch updates.

Webhooks vs. APIs: What’s the Difference?

You’ve already seen how APIs let your Pearl fetch or send data. But with webhooks, it’s the reverse: your Pearl proactively pushes call updates to your system, as soon as they happen.

That means:

  • Instant lead status updates
  • Live tracking of call progress
  • Seamless CRM synchronization

And unlike APIs, which are mostly used in standard ways, webhooks give you more room to handle complex or dynamic scenarios. If you have a custom flow or business logic that doesn’t fit into a typical API pattern, webhooks let you build your own layer of control on top.

They’re especially useful if you want to build an interface between what Pearl is doing and your internal systems, because the webhook payload includes everything Pearl knows at that moment, including pre-call, in-call, and sometimes post-call data.

Now let’s look at how webhooks work across outbound and inbound call campaigns.

Outbound Webhooks: Real-Time Lead and Call Tracking

If you’re running an outbound campaign, NLPearl provides two powerful webhook types:

1. Call Webhook

Triggered every time the call status changes, this webhook gives you live visibility on:

  • InProgress – the call has started
  • Completed – the conversation is over
  • Busy, NoAnswer, or Failed – the call didn’t go through

You generally receive a Call Webhook at three key moments:

  1. When the conversation starts (InProgress)
  2. When it ends (Completed, Busy, NoAnswer, etc.)
  3. When it is transferred to a human agent

The payload includes duration, summary, transcript, Pearl ID, lead ID, and more. This can be used to:

  • Log the call instantly
  • Sync live info into your CRM
  • Or, in the case of a transfer, allow the real agent to review a quick summary just before picking up the call, so they’re fully informed

2. Lead Webhook

Fired when a lead’s status changes during the campaign. Possible lead statuses include:

  • OnCall – the lead is currently in a conversation
  • Success – the objective of the call was achieved (hooray!)
  • NeedRetry – the lead didn’t respond, and NLPearl will try again later based on your retry logic

This webhook is essential to keeping your CRM fully in sync with your outbound campaign flow.

 Inbound Webhooks: Capture Every Incoming Call

For inbound activities, things are simpler, but just as powerful.

You receive a Call Webhook when:

  • The call begins (InProgress)
  • The call ends (Completed, Busy, NoAnswer, etc.)
  • Or the call is transferred to a human agent

This lets you immediately log inbound calls into your CRM or trigger custom workflows based on real-time call interactions.

When Should You Use Webhooks?

Use webhooks when you want maximum flexibility and responsiveness. They’re ideal if you:

  • Need to trigger workflows or alerts instantly
  • Want full control over how call data is processed
  • Prefer custom CRM logic instead of a standard API push
  • Have a non-standard, dynamic flow that can’t be easily covered with standard pre-, in- or post-call APIs

You might find that in most cases, APIs are enough. But if you want to catch a specific condition or act right in the moment, webhooks give you the freedom to create exactly the workflow you want.

And remember, webhooks and APIs are not mutually exclusive, you can mix both:

  • Use webhooks to get notified in real time
  • Use APIs to push and pull custom data when needed

Let’s now move on to making your CRM even smarter, by triggering voice calls programmatically.

Step 7 – Trigger Outbound Calls from Your CRM with the NLPearl API

Now that your CRM is integrated and your Pearl is trained, it’s time to give your system the power to act on its own.

Thanks to NLPearl’s public REST API, your CRM can:

  • Instantly launch outbound calls,
  • Add new leads directly into your campaign flows,
  • And track the status of those calls, all without human involvement.

Let’s walk through the two main options you’ll use most often.

How to Access the NLPearl API

To start using the NLPearl API, make sure you have:

  1. Your Account ID → Found in the dashboard under Settings (top-right corner)
  2. Your Secret Key → Go to Settings → API and generate one

Once authenticated, you’re ready to take full control.

Option 1 – AddLead: Smart Scheduling for Campaigns

Use this when you want to:

  • Add a lead to an outbound activity,
  • Let NLPearl handle the call logic (scheduling, retry rules, allowed hours…),
  • Sit back and watch it work.

It’s perfect for asynchronous workflows where the call doesn’t have to happen now.

Option 2 – MakeCall: Instant, On-Demand Calls

This endpoint is for real-time interaction:

  • Trigger a call immediately with all available lead data,
  • Useful for high-priority leads or manual call buttons in your CRM,
  • No retry logic, just instant action.

Real Use Cases: CRM-to-Pearl Automation

Let’s see what this looks like in the wild.

🔸 HubSpot Example

You create a workflow in HubSpot:

  • When a contact submits a lead form,
  • HubSpot sends a webhook to NLPearl’s MakeCall endpoint,
  • Pearl immediately calls the new lead.

That’s instant engagement, before your competition even opens their inbox.

🔹 Salesforce Example

Using Process Builder or Flow in Salesforce:

  • When a lead status changes to “Call Now”,
  • Salesforce sends a MakeCall API request with phone number and details,
  • Pearl jumps on the line within seconds.

It’s like having a virtual sales rep available 24/7.

Quick Recap: Which One to Use?

ActionCreates LeadRespects Call RulesInstant Call
AddLead✅ Yes✅ Yes❌ No
MakeCall❌ No❌ No✅ Yes

Choose AddLead if you want NLPearl to manage campaign flow. Choose MakeCall if you need instant execution from your CRM.

Next up: Let’s bring all of this to life with a real-world use case that ties it all together.

Step 8 – Real-Life Use Case: Automating a Real Estate Callback Flow

 Imagine This Use Case

You work in real estate. Your goal is to speak with people who are actively looking for an apartment.

Visitors land on your website and fill out a simple form with:

  • Their First Name
  • Their Phone Number
  • Their Target City (chosen from a drop-down list for example)

You want to:

  • Call them automatically right after they submit the form
  • Ask them a few key qualifying questions, such as:
    • What type of apartment are you looking for?
    • How many square meters do you need?
    • What is your budget?

Then, you want to:

  • Send all the collected information to your CRM
  • Mark the lead as “Contacted”
  • And do it all automatically, no manual action required

Let’s now walk through how to build this with NLPearl.

Step-by-Step Flow

1. Create Your Pearl and Set Up the Right Variables

Start by creating your Pearl on the NLPearl platform.

Pre-call Variables:

  • First Name and Phone Number → Already built-in
  • Target City → ✅ Must be created manually in the Variable Manager

Collected-in-Call Variables:

  • Property Type – What kind of apartment the lead wants
  • Surface Area – Desired size in square meters
  • Budget – Budget range

Configure these variables and add them to your Pearl’s call flow.

2. Trigger a Call with MakeCall

When the form is submitted, your system sends a MakeCall API request to NLPearl with:

  • First Name
  • Phone Number
  • Target City
  • You’ll also need the Outbound ID, which you can retrieve from the platform when creating the Outbound.

Pearl initiates the call instantly.

3. (Optional) Use Call Webhook to Create the Lead in Your CRM

You can use the Call Webhook sent when the call starts to:

  • Create a lead entry in your CRM
  • Assign the phone number and target city
  • Mark the call status as InProgress

💡 Prefer to wait? No problem. You can create the lead using the Post-Call API once the call finishes.

4. Conversation: Collect Key Information

Pearl asks:

  • “What type of apartment are you looking for?” → Property Type
  • “How many square meters?” → Surface Area
  • “What is your budget?” → Budget

These answers are stored automatically.

5. Post-Call API: Update CRM

After the call, the Post-Call API sends a full data payload:

  • Pre-call: Target City, First Name, Phone Number
  • Collected: Property Type, Surface Area, Budget
  • Post-call: Summary, Transcript, Duration, Recording URL
  • Status: updates the lead as “Contacted”

✅ The Result

  • User submits the form
  • Pearl calls instantly
  • Data is collected during the call
  • CRM is fully updated automatically

📝 Postscript

You can reuse variables like Target City inside the call itself. For example:

  • Use it in an In-Call API to fetch listings from your system
  • Check local agent availability
  • Adapt the Pearl’s script based on regional policies

This makes your agent sound even more intelligent and relevant.

Conclusion

Integrating your CRM with NLPearl isn’t just about saving time, it’s about creating smoother, smarter, scalable processes that work for your business 24/7.

Whether you’re in real estate, e-commerce, healthcare, or SaaS, the benefits are clear:

  • ⚡ Reach leads faster
  • 🧠 Collect valuable insights during every call
  • 🔄 Keep your CRM continuously updated
  • 👐 Free your team from repetitive tasks

And you’re in control. You can start simple, with a single API call, or go all-in with live webhooks, dynamic call flows, and full CRM sync.

The best part? It’s all already possible with NLPearl.

If you have any questions or need help setting it up, feel free to reach out to our team at support@nlpearl.ai.

Now go bring your Pearl to life ✨

Samuel Schwarcz, Co-founder

Share this post on :

More like this

New Feature: Blacklist, Because Not Every Call Deserves a Response

Mastering Variables in NLPearl AI: The Secret Sauce for Super Smart AI Voice Agents

Launch Announcement: AI Call Agent for Shopify Stores | NLPearl for E-Commerce