Skip to content
Syncline
intermediate
9:16

Stop duplicate contacts with a lookup step

Duplicates split a conversation across two records and quietly break every count you report. Add a find step before the create step, handle all three branches including the one people skip, and normalise the email before it decides for you.

Video placeholder

A flow canvas with one node branching into three labelled paths: match found, no match, no email. The third path is highlighted and routes to a small review list icon rather than a create icon.

Chapters

<ul class="sy-chapters"><li><b>0:00</b> What a duplicate actually costs you</li><li><b>1:24</b> Adding find contact by email</li><li><b>3:11</b> Branch one and two: update or create</li><li><b>5:35</b> Branch three: no email at all</li><li><b>7:40</b> Normalising the address before matching</li></ul>

From the transcript

Duplicates in a CRM are not a cosmetic problem. They break your counts, they split one conversation across two records, and a rep ends up calling somebody who was already called on Tuesday. The fix is a lookup step and it takes about two minutes to add. Before the create action I put a find contact by email. Now the flow has three paths instead of one. Match found, so update the record and log the activity. No match, so create it. Email is missing entirely, which happens more often than you think when a form field is optional, so send that one to a review list instead of inventing a record. That last branch is the one people skip and then complain about ghost contacts. One more thing on matching. Normalise the address first: trim the spaces, lower the case, and decide what you want to do about plus addressing before it decides for you. Run the test twice on purpose and watch the second run update rather than create.

Apps in this video

hubspot, gmail, airtable

More videos

Retries, rate limits and a safe backfill

What happens after a run goes wrong, and what happens when you point a flow at eleven thousand old rows. Which errors get retried and which never will, how a queue looks different from a failure, and the backfill settings worth checking twice.

Chain Stripe, HubSpot and Trello in one flow

One trigger, three actions, and the order decides whether the result is usable. A first payment creates the contact, moves the deal and opens the onboarding card, each step handing its output to the next, with a clean stop when the first one fails.

Read a run history and fix a broken mapping

The flow is rarely broken. One record is failing over and over, and the history names it in about thirty seconds. Sort by failed, read the two columns beside the error rather than the error itself, fix the mapping, replay the backlog in one pass.