> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://help.leadtruffle.co/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# Understanding Contacts and Inquiries in LeadTruffle

📝 *Learn how Contacts and Inquiries work together — and why this model keeps your pipeline clean when the same person reaches out more than once.*

---

## Table of contents

* [Overview](#2-overview)
* [What is a Contact?](#2-what-is-a-contact)
* [What is an Inquiry?](#2-what-is-an-inquiry)
* [How Contacts and Inquiries work together](#2-how-contacts-and-inquiries-work-together)
* [Source, Entry Point, and Channels](#2-source-entry-point-and-channels)
* [The full hierarchy: Contact → Inquiry → Conversation → Message](#2-the-full-hierarchy-contact--inquiry--conversation--message)
* [How deduplication works](#2-how-deduplication-works)
* [The Needs Review badge](#2-the-needs-review-badge)
* [What this means for your pipeline](#2-what-this-means-for-your-pipeline)

---

## Overview

LeadTruffle is built around two core records: **Contacts** and **Inquiries**.

A **Contact** is the person — the homeowner or business — who is reaching out. A **Contact** is your pipeline record. Status, assignee, and notes all live here.

An **Inquiry** is a specific inbound event from that person — a Yelp lead, a website form submission, a phone call. One Contact can have many Inquiries over time.

This model exists to solve a real problem: the same homeowner submits a Yelp lead in March, calls in May, and submits a website form in July. In a lead-first system, that's three separate pipeline records to manage. In LeadTruffle's contact-first model, it's one Contact with three Inquiries underneath it — one pipeline record, full history intact.

| Want help using and customizing the Contact Board and Table views in LeadTruffle? See [How to use the Contacts Board and Table view in LeadTruffle](https://help.leadtruffle.co/en/article/how-to-use-the-contacts-board-and-table-view-in-leadtruffle-bon0hj/?bust=1781129175585)

---

## What is a Contact?

A Contact is the person, household, or business that has reached out to you. It is the primary record in LeadTruffle.

👆 [View your Contacts in LeadTruffle here](https://app.leadtruffle.com/contacts)

Everything pipeline-related lives at the Contact level:

* **Status** — where this person sits in your sales pipeline (New, Contacted, Quoted, Appointment Set, Nurturing, Won, Lost)
* **Assignee** — which team member owns this Contact
* **Source** — where this person originally came from, set by their first Inquiry and never overwritten (examples: Yelp, Google LSA, Thumbtack, Website, Phone)
* **Activity** — a summary of all key events related to this Contact
* **Notes** — your team's running notes on this person
* **Needs Review** — a flag that new activity has come in and someone should take a look

![](https://storage.crisp.chat/users/helpdesk/website/-/d/c/4/1/dc41d3f6726e4000/image_1h1snzn.png =750x437)
A Contact is created the first time someone reaches out. Every subsequent Inquiry from that same person attaches to the existing Contact rather than creating a new one.

*Example: Sarah Mitchell submits a website form asking about a furnace replacement. LeadTruffle creates a Contact for Sarah with Status: New. Three weeks later, Sarah calls your business line. LeadTruffle recognizes her phone number and attaches a second Inquiry to her existing Contact — her status and notes stay exactly where your team left them.*

---

## What is an Inquiry?

An Inquiry is a time-bound expression of intent — the specific inbound event that brought a Contact into LeadTruffle, or brought them back.

Every time someone reaches out, a new Inquiry is created. That Inquiry captures:

* **Source** — where it came from (Yelp, Google LSA, Thumbtack, Website, Phone, etc.)
* **Entry Point** — how it entered LeadTruffle (Yelp Integration, Website Texting Widget, Phone System, Email Gateway, Custom Lead Source)
* **Channels** — which communication channels were used for this specific Inquiry (SMS, Email, Phone, Yelp in-app)
* **Inquiry contact information** — the name, phone, email, and address captured at the moment the Inquiry came in
* **AI Data Collection status** — whether the AI has started, is in progress on, or has completed data collection for this Inquiry
* **Conversations** — the message threads that happened in response to this Inquiry

An Inquiry is a historical record. It doesn't change after it's created — it's a snapshot of that specific interaction.

There is no dedicated tab today to view your Inquiries. You view Inquiries on the Contact level. 

*Example: Mark Crown submits a Request-a-Quote on Yelp. LeadTruffle creates an Inquiry with Source: Yelp, Entry Point: Yelp Integration, and Channels: Yelp. The AI sends an opening message. Mark replies. The AI collects his job details. All of that activity lives under this Inquiry.*


![](https://storage.crisp.chat/users/helpdesk/website/-/d/c/4/1/dc41d3f6726e4000/image_1y3ycnv.png =650x379)

![](https://storage.crisp.chat/users/helpdesk/website/-/d/c/4/1/dc41d3f6726e4000/image_m5838s.png =750x888)
---

## How Contacts and Inquiries work together

The relationship is straightforward: one Contact, potentially many Inquiries.

|  | Contact | Inquiry |
| ---- |
| What it represents | The person | A specific inbound event |
| How many per person | One | One per interaction |
| Pipeline status lives here | ✓ |  |
| Assignee lives here | ✓ |  |
| Notes live here | ✓ |  |
| Source / Entry Point / Channels | ✓ (from first Inquiry, never overwritten) | ✓ (specific to this Inquiry) |
| AI qualification status |  | ✓ |
| Conversation history |  | ✓ |

When a new Inquiry comes in from an existing Contact, LeadTruffle does two things:

1. Attaches the new Inquiry to the existing Contact record
2. Triggers a **Needs Review** badge on the Contact so your team knows something new came in

The Contact's pipeline status does not automatically reset. Your team stays in control of the pipeline.

|| One exception: if a new Inquiry comes in on a Contact marked **Won** or **Lost**, the status resets to **New** and Needs Review triggers. LeadTruffle treats this as a fresh opportunity.

---

## Source, Entry Point, and Channels

These three fields appear on both Contacts and Inquiries, but they work differently at each level.

### On a Contact

* **Source** — taken from the first Inquiry, never overwritten. Tells you where this person originally came from.
* **Entry Point** — taken from the first Inquiry, never overwritten. Tells you how they originally entered LeadTruffle.
* **Channels** — additive across all Inquiries. If a Contact has used SMS, Email, and Phone across different Inquiries over time, all three appear here.

### On an Inquiry

* **Source** — where this specific Inquiry came from.
* **Entry Point** — how this specific Inquiry entered LeadTruffle.
* **Channels** — which communication channels were used for this specific Inquiry only.

*Example: John Smith first came in via a Yelp lead in January. His Contact shows Source: Yelp. In April, he submits a website form. His Contact Source stays Yelp — but his Channels now include both Yelp and SMS. The April Inquiry shows Source: Website and Channels: SMS on its own record.*

### What Source and Entry Point are not

Source and Entry Point are not the same thing. A few examples to make this clear:

| Source | Entry Point | What it means |
| ---- |
| Modernize | Custom Lead Source | A Modernize lead came in via a configured webhook |
| Google LSA | Email Gateway | A Google LSA lead was forwarded into LeadTruffle via email |
| Yelp | Yelp Integration | A Yelp lead came in via the native Yelp integration |
| Website | Website Texting Widget | Someone submitted your website widget form |
| Phone | Phone System | Someone called your LeadTruffle number directly |

| Source is *where* the lead came from. Entry Point is *how* it arrived in LeadTruffle. They often look similar for marketplace leads (Yelp/Yelp Integration) but are meaningfully different for leads that pass through aggregators or email pipelines.

---

## The full hierarchy: Contact → Inquiry → Conversation → Message

Every piece of communication in LeadTruffle fits into this four-level structure:

* **Contact** → the person
* **Inquiry** → the inbound event that brought them in
* **Conversation** → a channel-specific message thread tied to that Inquiry
* **Message** → an individual message within that Conversation

A single Inquiry can have multiple Conversations. For example, an Inquiry might have an SMS Conversation and a separate Email Conversation — both tied to the same Inquiry, both visible in the Contact's history.

*Example: Sally Jones submits a Thumbtack lead. LeadTruffle creates an Inquiry. The AI responds via SMS — that's one Conversation. Your team later sends a follow-up email — that's a second Conversation. Both live under Sally's Thumbtack Inquiry.*

---

## How deduplication works

When a new Inquiry comes in, LeadTruffle checks whether a Contact already exists for that person before creating a new one.

Deduplication priority:

1. **Phone number** — matched first
2. **Email address** — matched second if no phone match

If a match is found, the new Inquiry attaches to the existing Contact. If no match is found, a new Contact is created.

||| A few things to know about dedupe: calls under 10 seconds (spam/robocalls) are filtered before dedup runs and do not create Contacts or Inquiries. Outbound messages your team sends — manual SMS, emails, calls — do not create new Inquiries. They create Conversations under the existing Inquiry.

---

## The Needs Review badge

The Needs Review badge appears on a Contact when new activity has come in that your team should look at. It does not change the pipeline status — it's a flag, not a status.

Needs Review triggers when:

* A new Inquiry comes in on an existing Contact
* A new submission comes in on a Won or Lost Contact (status also resets to New in this case)

Needs Review clears when any of the following happen:

* A team member updates the Contact's status
* A team member changes the assignee
* A team member clicks **Mark Reviewed**
---

## What this means for your pipeline

The practical takeaway for your team:

* **Work Contacts, not Inquiries.** Status, assignee, and notes are all on the Contact. That's where your pipeline lives.
* **Use Inquiries for context.** When you open a Contact, the Inquiries tab shows you every time that person has reached out — what they asked for, what the AI collected, and what was said.
* **Needs Review is your signal.** When it appears, something new happened on that Contact. Check the latest Inquiry to see what came in.
* **One person = one Contact.** If you see the same person in your pipeline more than once, that's a deduplication issue worth flagging to support.
---

Need help? Contact us at support@leadtruffle.com or message the team via the chat on this article or in-app.