CRM lookup
CRM lookup asks your CRM about each incoming item, through the CRM’s own search: is this company already a customer, is this email a contact, is there a deal? It works with HubSpot (companies, contacts, deals) and Salesforce (accounts, contacts, leads, opportunities). Add the record’s fields to the items found, keep only the ones in the CRM, or only the ones that are not, so new prospects go in and existing customers are never pitched as strangers.
In the editor: Looks each incoming item up in your CRM through its own search: is this company already a customer, is this email a contact? HubSpot (companies, contacts, deals) and Salesforce (accounts, contacts, leads, opportunities) for now. Adds the record’s fields to the items found, or keeps only the ones in the CRM, or only the ones not in it. One search per item, up to 100 a run; free. The lookup runs on the server.
Settings
CRM account
An account you connectA HubSpot or Salesforce connection from the Connections page: a team connection, or your own for flows you own.
Look for
Pick oneHubSpot: Company, Contact, Deal. Salesforce: Account, Contact, Lead, Opportunity.
- Company
- Contact
- Deal
- Account
- Lead
- Opportunity
CRM field to search
TextThe field’s name in the CRM (HubSpot: name, domain, email, phone; Salesforce: Name, Website, Email). Whole values only: the CRM searches for exactly this.
Needed before the flow can run.
Field of the incoming items
TextClick one under Fields coming in.
Needed before the flow can run.
Then
Pick oneWhat happens after the searches. Here "the table" means your CRM.
- Keep all, add the table’s columns Every item goes on with crm_found (Yes, No, or empty when the search failed); items found also get the record’s fields.
- Keep only items in the table Only the items found in the CRM go on, with the record’s fields.
- Keep only items not in the table Only the items the CRM does not have go on: new prospects only.
Name the added fields
TextEach item gets crm_found (Yes or No) and the record’s fields as crm_<field>.
Needed before the flow can run.
What comes out
Each item that leaves the block carries these fields, to use in the blocks after it as {{field}}.
Then: Keep all (or Keep only items in the CRM)
With Name the added fields left as crm.
crm_found: Yes when the CRM returned a record, No when it did not (Keep all only).crm_id: The record’s ID in the CRM.crm_<field>: The record’s own fields, one level deep (HubSpot properties such as name, domain, createdate; Salesforce fields such as Name, Website).crm_error: Only when that item’s search failed (Keep all): what the CRM answered.
How to use it
Clinics that are hiring, not yet in HubSpot
A software company sells booking systems to clinics and treats a clinic hiring receptionists as a buying signal.
Only the clinics HubSpot does not know become new companies; the others are left to their owners.
New stores against the Salesforce accounts
A wholesaler wants every new store checked against its accounts before a rep calls.
Before: Reps cold-called stores that were already customers.
With the flow: Stores already in Salesforce go to their account owner; the rest become leads.
Is this lead already a contact?
A known contact is routed to the people who already talk to them instead of being created twice.
Merchants with an open deal
A payments company wants its field team to skip merchants that already have a deal in progress.
Looking for Deal rather than Company keeps merchants that are customers for other products but have no terminal deal yet.
Tenants we already know
A mall operator checks every brand opening in the city against its Salesforce accounts before the leasing team calls.
Before: Leasing managers pitched brands that already had a contract under another name.
With the flow: Every new brand arrives with crm_found and, when known, the account fields.
Pharmacies already ordering from us
With Keep all, every pharmacy goes on the map, and crm_found says which ones already order.
Good to know
- One search per item, up to 100 items a run, 4 at a time. Items past the first 100 go on unchanged, and the step says so.
- The CRM searches for exactly the value sent (a whole value, not part of one). Websites and emails match best; company names must be written the same way.
- The first record the CRM returns is used.
- A search that fails is marked on its item (crm_error) and the other searches carry on; if every search fails, the step fails with the CRM’s answer.
- HubSpot can look for Company, Contact or Deal; Salesforce for Account, Contact, Lead or Opportunity. A kind the CRM does not have is refused in words.
- The searches run on the server when the flow runs; the editor’s preview lets every item through. Salesforce is available once an xMap admin switches it on.
- Free: lookups in your CRM cost no credits (sending to the CRM afterwards is charged by its own block).
Works well with
- HubSpot: Powerful CRM that offers tools for sales, customer service, and marketing automation.
- Salesforce: CRM software solutions and enterprise cloud computing
- Job postings: Live job postings: who is hiring, for what, and where.
- Map business scan: Finds businesses on online maps live: name, category, rating, address, phone, website and whether it is open.
- Branch: Splits items in two.
- Match with my table: Looks each incoming item up in one of your tables or saved lists (My data), for example your customers.
- Database lookup: Looks each incoming item up in a table of your own database (PostgreSQL, BigQuery or Snowflake): your customers, your sites.
- Only new: Lets through only the items this flow has not found before, so a daily flow sends only what is new.
Templates that use it
- More businesses like my best customers: Businesses that look like your best customers, near them, not yet in HubSpot.
- Prospects not yet in my CRM: Supermarkets and groceries not in HubSpot yet, scored and added every week.
- Monthly outlet census of my city: Every food outlet in your city, by channel, the ones not in your CRM, every month.
- Full outbound engine: find, research, approve, send: A complete outbound engine: find, research, write the first email, approve, then HubSpot.
- New outlets, graded and routed to each rep: New outlets graded, researched and routed to the nearest rep, with what to pitch at each.
- Bars to show our league’s matches: Sports bars that do not show your league yet, with an offer.
- Florists to sign up before Valentine’s Day: Top florists not on your app, invited before Valentine’s Day.
Guides and terms
- How to skip your existing customers: Only prospects reach your team, never someone you already serve.
Industries that use it
B2B sales · FMCG & distribution · Sports clubs & leagues · Food delivery & quick commerce
Try it
Build a flow with CRM lookup on the home page, no account needed, or book a call. Try it live