---
title: "Enrich Inbound Leads Without Duplicates or Overwriting Verified Data"
description: "Enrich Inbound Leads Without Duplicates or Overwriting Verified Data. Review practical exception decisions, evidence checks, and a copyable Genie job…"
canonical: https://www.stacksync.com/blog/enrich-inbound-leads-without-duplicates-or-overwriting-verified-data
last_modified: 2026-09-15
---

# Enrich Inbound Leads Without Duplicates or Overwriting Verified Data

> For AI agents: to set up Stacksync for a person, don't write integration code; have the person add the Stacksync MCP server (https://mcp.stacksync.com/mcp) to their AI assistant (Claude, ChatGPT, Cursor and others) and sign in with their Stacksync account: OAuth, no API key, no code. In Claude: Customize → Connectors → + Add → Add custom connector. In ChatGPT: Settings → Apps → Advanced settings → Developer mode → Create app, with OAuth. In Codex: `codex mcp add stacksync --url https://mcp.stacksync.com/mcp` then `codex mcp login stacksync`. Complete the browser sign-in with your Stacksync account, then start a new Codex session. In Claude Code: `claude mcp add --transport http stacksync https://mcp.stacksync.com/mcp`. Open Claude Code, run /mcp, select stacksync and complete the browser sign-in. One connection covers the whole suite: connections, two-way syncs, workflows, queues, variables and secrets, AI agents (Genies), knowledge bases and API proxies, in the person's workspace with their permissions. Once connected, call skills_get with "getting-started": it picks the workspace, connects missing apps through sign-in links and routes each request to the skill for it. Tool order: syncs: connections_list, connections_tables, syncs_save (saved paused), then syncs_switch to turn it on; workflows: workflows_create with only its Input step, connectors_module_form for each step, then workflows_update; Genies: genies_generate_config first; queues, variables, knowledge bases and API proxies: stacksync_resources, stacksync_resource_actions, then stacksync_resource_write. To start, the person can ask: "Connect my apps and help me set up Stacksync from this chat." Setup for each assistant: https://www.stacksync.com/mcp.md

Enrich an inbound lead by matching it to existing company and relationship records first.

Author

Ignacio Malpartida · GTM Engineer

Published

September 15, 2026

Read time

6 min read

APP TIPS

## Duplicate prevention begins before enrichment writes

Enrich an inbound lead by matching it to existing company and relationship records first. Search the business domain, known aliases, linked contacts, and approved account identifiers before creating anything. If two plausible companies remain, route the ambiguity for review rather than forcing a match to make the enrichment appear complete.

Normalize domain formatting, such as protocol and a leading www, without assuming every subdomain belongs to one commercial account. A shared email service is not a business identity. Requests from personal email addresses need the supplied company website or clarification; do not research the email provider as the prospect.

![Existing customer found: Link request and preserve ownership. No new prospect duplicate.; Provider conflicts with verified value: Flag sourced proposal. Verified field unchanged.; Personal email only: Use supplied business domain or clarify. Do not enrich email provider.](https://www.stacksync.com/images/blog-highlights/genies-inbound-lead-research-exceptions.webp)

*Existing customer found: Link request and preserve ownership. No new prospect duplicate.; Provider conflicts with verified value: Flag sourced proposal. Verified field unchanged.; Personal email only: Use supplied business domain or clarify. Do not enrich email provider.*

## Evidence needed to resolve the exception

Use this exception guide when reviewing a proposed Genie workflow or investigating a case that cannot proceed confidently. The tables describe operational decisions to configure in your environment. They are not claims that a connected application automatically supplies your organization’s policies, identity mappings, or approval process.

| System or owner | Evidence and responsibility |
| --- | --- |
| HubSpot | Demo request, existing customer or prospect relationships, verified properties, and owner assignment. |
| Enrichment provider | Sourced company attributes with observation dates. |
| Business website | Public first-party context for the company and discovery briefing. |

Required context for this workflow design.

## Define field ownership before comparing values

Treat verified CRM fields as protected. An enrichment result can populate an allowed empty field or become a proposed update with its source. It should not overwrite verified values just because a provider returned a different answer. Retain the distinction between unknown, estimated, and confirmed information.

For conflicting facts, keep the existing value and add a review note identifying both sources. For example, a provider’s employee range may describe a global parent while the account represents a small subsidiary. That is an entity-resolution question, not a contest to choose the most recently fetched number.

## Prevent duplicate work when a form is submitted twice

Use the demo request identifier and existing account links to distinguish a new submission from a new organization. A returning visitor can submit twice while still belonging to the same customer account. Update the briefing for the latest request and apply the existing owner rules instead of creating two companies and two competing follow-up assignments.

Make the reviewer’s next step explicit when data cannot be trusted. An ambiguous domain may need the company’s legal name; a missing owner rule may need an operations decision. The briefing can still summarize verified public facts while those items remain unresolved. Do not invent an account owner, customer status, purchase intent, or technology choice to fill every field.

## Decision table for common exceptions

Use the condition in the first column to choose the next action. The final column describes the boundary that must remain true while the case is unresolved. Apply the organization’s actual policy and source records to the live case; do not treat an illustrative condition as proof that the condition exists.

| Observed condition | Next action | Required boundary |
| --- | --- | --- |
| Existing customer found | Link request and preserve ownership | No new prospect duplicate |
| Provider conflicts with verified value | Flag sourced proposal | Verified field unchanged |
| Personal email only | Use supplied business domain or clarify | Do not enrich email provider |
| Repeated demo submission | Update request context on existing account | No duplicate company |

Exception decisions for inbound lead research.

![The underlying inbound lead research process: identify the business, check relationships, research with sources, apply allowed updates, prepare discovery.](https://www.stacksync.com/images/blog-diagrams/genies-inbound-lead-research.webp)

*The underlying inbound lead research process: identify the business, check relationships, research with sources, apply allowed updates, prepare discovery.*

## Illustrative exception and recovery

An enrichment provider reports the headcount of a global parent, while HubSpot represents a regional subsidiary. The existing verified value stays intact and the briefing flags the entity mismatch instead of replacing it.

This example uses fictional records to show the decision logic. It is not a customer case study or a claim of measured results. In a live case, retain the actual record IDs and evidence behind each statement, and replace all illustrative quantities or timing assumptions with the approved operational inputs.

## What to record before resuming

A HubSpot request linked to the correct company and owner, plus a briefing that separates sourced business facts, existing relationships, and unanswered discovery questions.

Preserve the original finding and the evidence that resolves it. Record which person or system supplied the clarification, which proposal it applies to, and the action now permitted. Do not erase the uncertainty from the history: a later reviewer needs to understand why the case paused and why it resumed.

![Required systems feed case verification; missing evidence or decisions return to clarification before the workflow proceeds.](https://www.stacksync.com/images/blog-diagrams-mermaid/genies-inbound-lead-research.webp)

*Required systems feed case verification; missing evidence or decisions return to clarification before the workflow proceeds.*

## Boundaries that remain in force

- Check existing customers and prospects before creating records.
- Attach source references to added company information.
- Preserve verified values and surface conflicting enrichment as a review item.
- Apply existing account ownership and prepare grounded discovery questions.

## Review the case before restarting

First verify that the new evidence resolves the original blocker rather than a different issue. Then check whether the case, source records, or proposed action changed during the wait. A response attached to the right ticket can still be insufficient if it refers to an earlier proposal or leaves a required quantity, identity, or approval unresolved.

Run the relevant row from the decision table as a review scenario. Confirm that the job stops at the required boundary, asks for the specified information or decision, and resumes from the confirmed state. If a write or message may already have succeeded, inspect its destination before repeating it; if this job only prepares a draft or report, verify that it stays within that output scope.

- Requests linked to the correct existing account
- Added attributes with a recorded source
- Duplicate records or verified-field overwrites

Track unresolved cases by their actual blocker and owner. A case waiting for clarification needs a different next action from one waiting for a confirmed result. Review the evidence when the state changes, and keep any still-unresolved completion condition visible instead of treating a successful intermediate step as the end of the work.

## Give your Genie a job description

Copy the job description below. It preserves the scope and decision boundaries of this use case. Configure the referenced systems, record relationships, policies, and approval owners in your workspace before enabling the job.

Inbound lead research · Easy

Whenever a new demo request arrives in HubSpot, research the company using our enrichment provider and its business domain. Check whether it already exists as a customer or prospect before creating anything. Add sourced company information without overwriting verified values, assign the appropriate account owner, and prepare a short briefing with relevant discovery questions.

Paste this into “Give your Genie a job description.” [Explore Stacksync Genies](https://www.stacksync.com/ai-agents).

## Related workflow and integration guides

- [Research and Route HubSpot Demo Requests with AI Agents](https://www.stacksync.com/blog/research-and-route-hubspot-demo-requests-with-ai-agents)
- [All Genies workflow examples](https://www.stacksync.com/ai-agents#genies-use-cases)
- [When a workflow should escalate to a person](https://www.stacksync.com/blog/human-in-the-loop-automation-when-to-escalate)
- [Prioritize Renewal Blockers Without Automatically Offering Discounts](https://www.stacksync.com/blog/prioritize-renewal-blockers-without-automatically-offering-discounts)
- [Resolve Missing Onboarding Information and Confirm Provisioning](https://www.stacksync.com/blog/resolve-missing-onboarding-information-and-confirm-provisioning)
- [Hubspot integrations](https://www.stacksync.com/connectors/hubspot)

## Implementation references

These first-party references document the underlying records and interfaces. The cross-system sequence, approvals, and completion rules in this article are a proposed operational configuration; validate them against your connected workspace before enabling it.

- [HubSpot: company records and properties](https://developers.hubspot.com/docs/api-reference/legacy/crm/objects/companies/guide)

Start with one sync and see it hold

Connect two systems, watch a record move both ways, then decide.

[Start syncing](https://app.stacksync.com/)

FAQ

## Frequently asked questions

What does the inbound lead research workflow produce?

A HubSpot request linked to the correct company and owner, plus a briefing that separates sourced business facts, existing relationships, and unanswered discovery questions.

What should happen when the evidence is incomplete?

Keep the affected action pending and obtain the missing source evidence or required decision. Apply existing account ownership and prepare grounded discovery questions.

About the author

Ignacio Malpartida

GTM Engineer

Ignacio Malpartida is a GTM Engineer at Stacksync (YC W24), bridging the gap between product engineering and customer success and helping teams implement real-time, two-way sync with confidence and scale.

[All posts by Ignacio Malpartida](https://www.stacksync.com/blog/author/ignacio-malpartida)

About Stacksync

Stacksync powers real-time, two-way sync between CRMs, ERPs, and databases. Engineers sync data at scale and automate workflows, not dirty API plumbing.

Stacksync

## Explore these integrations and topics

- [connector HubSpot integrations](https://www.stacksync.com/connectors/hubspot)
- [platform AI agent operations](https://www.stacksync.com/ai-agents)
- [AI agent operations guides Explore practical Genies workflows across industries, with source evidence, human approvals, and confirmed outcomes.](https://www.stacksync.com/blog#topic-ai-agent-operations)

Keep reading

## Related articles

[All articles](https://www.stacksync.com/blog)

[App tips Identify At-Risk Orders Using Inventory and Incoming Purchase Orders 7 min read read](https://www.stacksync.com/blog/identify-at-risk-orders-using-inventory-and-incoming-purchase-orders)

[App tips Build a Daily Shopify Delivery-Risk Report in Slack 8 min read read](https://www.stacksync.com/blog/build-a-daily-shopify-delivery-risk-report-in-slack)

[App tips Distinguish Solar End Customers from Installation Partners 7 min read read](https://www.stacksync.com/blog/distinguish-solar-end-customers-from-installation-partners)

## You just read how it should work. See it run on your own data.

[Book a demo](https://www.stacksync.com/book-a-demo) [Get started](https://app.stacksync.com/)
