Signals that start a company match
What each signal needs to know:
- Account Signal runs only on pages where Reveal is on, and only when the provider returns a company domain. The same workflow starts at most once per company in an hour. See Visitor De-anonymization.
- Batched company (Vector) fires only when Vector identifies the company with a verifiable domain, about every 30 minutes.
- The API trigger always takes a person’s email, so use Incoming Webhook for a signal that carries only a company.
How company matching works in Default
A company matching workflow in Default runs these steps:- The trigger supplies a domain. It comes from Identified Company or from the webhook’s request body.
- Match Record searches by domain. Set Record to Account for Salesforce or Company for HubSpot, and compare the website or domain field with the signal’s domain using domain matches.
- Tiebreakers pick 1 record. When several records share the domain, the rules under Prioritize matched records by choose 1.
- The node branches. Match carries the record’s ID and fields, including its owner. No Match runs when no record qualifies.
- Later nodes route the signal. Notify the owner, send an account without a current owner to a queue, or post unmatched companies to a channel.
Match on the domain
domain matches reduces both sides to the company’s domain before it compares them. A website
stored as
https://www.hp.com/en-us or store.hp.com matches hp.com, and a lookalike such as
companyhp.com does not. See
Match an account by company domain for the
full comparison table.
Best practices for matching a company by domain:
- Use domain matches instead of contains string. contains string compares raw text, so
hp.comalso matchescompanyhp.com, and a value such aseu.hp.commisses a website stored ashttps://www.hp.com. - Pass the domain as it arrives. The signal’s domain needs no cleanup, because the operator reduces it the same way as the CRM field.
- Join a second condition with or when your records keep domains in more than 1 field, for example Website and a custom domain field.
- Skip Salesforce formulas or flows that write a cleaned domain into a custom field for matching. The operator cleans both sides at run time.
When several accounts or companies match
A parent company and its subsidiaries, or duplicate records, can share a domain. Add rules under Prioritize matched records by so the node picks the right one on purpose:
Rules run from top to bottom, and only when 2 or more records match. A single matching record is
used as it is, so put a hard requirement, such as an owner who is a member of a Default queue, in
Match Details instead. A filter rule keeps only the records that meet it. When none of the
remaining records meets it, Default skips the rule, keeps those records for the next rules, and adds
a warning to the run log. Tiebreakers never send the node to No Match. Without any rule, Default
takes the first record the CRM returns, and that order is not defined. See
When several Salesforce accounts match
for every tiebreaker and how they combine.
When no account or company matches
The node follows No Match in these cases:
What to do on No Match:
- Notify a channel. Add Send Slack Message with a channel under Slack channels, and put the domain and page in the Message. Someone on the team decides whether the company belongs in the CRM.
- Create a record only if your team wants that. A Create Record node can add the Account or Company with its name and domain. Every identified company then lands in your CRM, so add a Multi-Branch condition first, for example on company size, when only some companies qualify.
Route the signal to the matched record’s owner
On the Match branch, the matched record carries its owner: Owner ID on a Salesforce Account, Company owner on a HubSpot Company. Later nodes can use it in 3 ways:
The owner needs a Salesforce User ID or HubSpot Owner ID mapping and a Slack User ID mapping in
Settings → Users for the Slack message to reach them.
Assign an owner only to records your team treats as unowned, for example accounts with no owner or
still owned by a departed rep. Name those owners in the branch condition and leave Else empty, so
every other account keeps its owner. A condition such as “the owner is not in the account
executives’ queue” also catches accounts owned by a current rep outside that queue, and the
Round-Robin path would overwrite them. An owner written from a Round-Robin node counts as an
assignment for that queue.
Build a workflow that alerts the account owner about a pricing page visit
This example uses Salesforce. When a company visits your pricing page, the Account owner gets a Slack message. Companies without an Account go to a channel.1
Add the trigger
In Workflows, create a workflow and add Account Signal from the trigger picker. Set
Page URL pattern to
/pricing. Make sure Reveal is on for that page.2
Match the Account by domain
Add Match Record from the Records section. Set CRM to Salesforce and Record to
Account. Under Match Details, select Edit, choose Website and domain matches,
and pick Domain under Identified Company. Select Save changes.
3
Add tiebreakers
Under Prioritize matched records by, select Add tiebreaker and choose
Largest by employees. Add Most recently modified below it.
4
Message the Account owner
On the Match branch, add Send Slack Message. Under Recipients, choose the Account’s
Owner ID from the Match Record step. In Message, insert the company name and the page
URL with
{{.5
Post unmatched companies to a channel
On the No Match branch, add Send Slack Message with a channel such as
#website-visitors
under Slack channels, and insert the company’s domain in Message.6
Publish the workflow
Select Publish and check that the status next to the
deployment switch reads Live. A new workflow goes live when you first
publish it. If the status reads Paused, turn the switch on. Reveal only starts published
workflows.
Check and troubleshoot company matching
Open the workflow, select Runs at the top, and select a run. The Match Record step shows its conditions, how many records the CRM returned, and the record it chose. See Run logs.
Related: Lead routing software from Default