Free Flow template

Find Existing Records

One subflow that tells your Flows which Contacts, Leads and Accounts already exist for a person. Give it an email, a name, a phone number or a domain. It returns the records it found, how it found them, and the one best match with all fields. Your Flows stop creating duplicates.

  • Free unmanaged package
  • No Apex
  • Change anything in Flow Builder
  • Works with or without FlowRunner

Call it like a method.

Add it to any Flow as a Subflow element. Pass what you know, read what it found.

You give (all optional)

  • email · firstName, lastName · phone
  • companyName · domain · registrationNumber (for example a KvK number)
  • Switches: search Contacts, Leads, Accounts
  • pickOne: all records, or one per object (newest, or yours first)

You get

  • contacts, leads, accounts: full records with all fields
  • bestContact, bestLead, bestAccount: the one best match
  • The method that found them, for example Email or Website
  • isSuccess and errorMessage, so your Flow never breaks

A filled input switches its method on.

There are no settings per method. Pass an email, and the email methods run. Per object, the flow stops at the strongest method that finds something, so a normal call costs two queries.

Contacts and Leads

Strong to weak

  1. Email
  2. Phone or mobile
  3. First + last name at the company
  4. First + last name only

Accounts

Strong to weak

  1. Account of the Contact found
  2. Registration number
  3. Website
  4. Email domain of colleagues
  5. Account name from the domain
  6. Company name

Built-in rules

  • 35 free-mail domains (gmail.com, outlook.com, …) and your own domain never match a company.
  • The Account always belongs to the picked Contact.
  • A name-only match is labelled as such, so your Flow can ask the user to confirm.

What it finds, and why.

Stonebridge Supply sells building materials. John Smith, their account manager, gets these emails.

Use case 1

The sender is a known Contact

Mike Donovan writes from his work address.

Finds: Contact Mike Donovan and his Account, Harborline Construction.

Found by Email · 2 queries

Use case 2

A new person at a known company

Mike introduces Ben Ortiz, who is not in Salesforce.

Finds: no Contact, but Account Harborline Construction from its website. Your Flow offers "Create Ben at Harborline" in one click.

Found by Website

Use case 3

A private email, a known name

Rachel Adams writes from her Gmail address.

Finds: Gmail never matches a company. Her name finds Rachel Adams at Keystone Renovations, marked "name only", so the user confirms it.

Found by NameOnly

Use case 4

Duplicates

Two Lisa Park records share one email.

Finds: both records, or with pickOne = OwnedByMe the one John owns, with the Account of that record.

Found by Email · picked by owner

Use case 5

A colleague of a known Contact

Anna Wright is in CC. Her colleague Tom is already in Salesforce.

Finds: Account Northfield Builders, through Tom's email domain, also when nobody filled in the website.

Found by ContactDomain

Use case 6

Only an email, no website

A first email from dana.hill@pinecrest-developments.com.

Finds: Account Pinecrest Developments, from the name in the domain.

Found by DomainName

See it run.

One video, three people: a known Contact, a name match and a new person at a known company. Then how FlowRunner and the subflow find them.

Video coming soon

The Dockside example and two more cases.

Works in Salesforce. Works even better in your inbox.

In Salesforce you call it from any Flow: a screen flow, a record-triggered flow, a web form. With FlowRunner, the people of the open email arrive in your Flow automatically, so the lookup runs the moment you open the email in Outlook or Gmail.

See how FlowRunner works

What is in the package

  • The Find Existing Records subflow, with every step labelled and described in Flow Builder.
  • Example: Who Is This? A screen flow that checks every person on an email and asks the user to confirm a name-only match.
  • Example: Find or Create Contact. An autolaunched flow that uses a sure match, flags a weak one for review, and otherwise creates the Contact on the right Account.
  • A marked place for your own logic. Add your own match method, for example a personal email field, and choose if it is weak or strong. The core stays the same.
  • A step-by-step guide.
  • Three more templates in the same package: Create Opportunity, Log Email with Attachment and Approval Request.

Get the template

Fill in the form. We email you the install link for the unmanaged package and the guide. Installs in any Salesforce org on Winter '27 or later.

Free. No credit card. You can unsubscribe from every email.

More templates

Create Opportunity, Log Email with Attachment and Approval Request all build on Find Existing Records.

All Flow templates