No Attio record matches this reporter

The card reads "No Attio record matches this reporter." A project administrator also sees "Which Attio attribute reporters are matched on is a project setting." and a link into settings. An agent sees the first sentence and nothing else.

That single sentence stands in for several quite different situations, which is the first thing to know about it. It is worth being clear up front: the card will not tell you which one happened, and there is no way to find out from the issue itself.

#Which matching method is this project using?

A project matches a request to Attio in one of two ways, chosen on the Matching step and stated on the settings header: by the reporter's own email address, which finds the person who raised the request, or by the domain of that address, which finds the company they belong to. Exactly one of them runs. A project matching companies that finds nothing does not then try to match the person, and the reverse is also true, so the answer on the card is always about the thing the project was configured to look for.

Matching the person is the default, and it is what every project set up before company matching existed is still using.

#In company mode, four dead ends share one sentence

  • The address held for the reporter has no domain that could be matched.

  • The reporter writes from a domain this project does not match on, so nothing was looked up.

  • No Attio record holds that domain.

  • Too many Attio records share that domain, so the card cannot say which one is the customer.

All four render as "No Attio record matches this reporter." A reporter writing from a personal address is an ordinary event rather than a fault, so none of these is reported as an error, and none of the messages ever names the reporter's domain: a domain identifies somebody's employer.

Where a company lookup can end

#Find out which one it was on the Fields tab

The Fields screen takes a test email address of your own and fills every attribute row with that record's real values. It is described on screen as "This is your own test address, not a reporter's." and it is the only place the app will tell you why a lookup came to nothing.

What the preview says

What it means

"gmail.com is on this project's ignored list"

The domain is on the ignored list, so no lookup was made and no Attio call was spent. If this really is one customer's own domain, add it to "Domains to match anyway" on the Matching tab.

"acme.onmicrosoft.com cannot identify a company"

A Microsoft 365 tenant domain or an Apple Hide My Email address. Neither identifies a company, and neither is looked up unless the exact domain is on the always-match list.

"There is no domain in that address"

There is nothing after the @ that the app can use.

"No record in Attio holds that domain, so every row below is empty. The attributes are still the right ones to choose from."

The lookup ran and Attio holds nothing at that domain. This is the one that means the CRM, not the configuration.

"That domain matches several records"

More than one record holds it. At four or more the card on the issue shows nothing at all.

When an address is refused, any values still on screen are from the previous address that was looked up, and the panel says so rather than letting them read as current.

#Matching on a text attribute is stricter than matching on a domain

The Matching tab spells out the difference, and it is the commonest cause of a customer who is plainly in Attio not being found: "A text attribute is compared whole, so this only matches a record whose text is exactly the reporter's domain. A reporter at mail.acme.co.uk will not find a record holding acme.co.uk. A Domain attribute is the more forgiving choice."

A Domain attribute is compared on the registrable domain that Attio works out itself, so a reporter at a subdomain still finds the company stored at the shorter name. When matching a person, the whole address is compared, trimmed and lower-cased first, so stray whitespace on an address is never the reason for a miss.

#Domains the project will never look up

In company mode the app ships with a list of free-mail and consumer provider domains that are never looked up, so a reporter writing from a personal address is not matched to whoever happens to be stored under that domain. The screen shows the count and offers to display the full list. A domain is refused if it or any shorter form of it is on that list, so a subdomain of a free-mail provider is refused as readily as the provider itself.

Two families are never used to identify a company whatever the lists say: Microsoft 365 tenant domains ending in onmicrosoft.com, because unrelated organisations share them, and Apple Hide My Email addresses ending in privaterelay.appleid.com, because that is an address the reporter chose in order not to be identified. Only adding the exact domain to "Domains to match anyway" overrides that.

#When the setting itself has gone

If the attribute a project matches on is deleted in Attio, or changed to a type a domain cannot be compared against, lookups stop. A project administrator is told which piece of setup needs attention; an agent sees nothing at all. If the attribute list could not be read rather than being genuinely absent, the card says it will try again shortly and remembers nothing.


#A few things worth knowing

  • "Domains to match anyway" matches the exact domain as typed. Adding acme.com does not also allow mail.acme.com. The ignored list behaves the other way around and refuses a domain along with its shorter forms.

  • In company mode, a domain shared by four or more records shows the same "No Attio record matches this reporter." sentence as a domain nothing holds. Two opposite problems look identical on the issue.

  • The Fields preview always runs a fresh lookup and is never served from the fifteen-minute cache, so a preview that now works does not mean the card on an open request has caught up yet.



One sentence, four reasons. The preview is where they separate.