CRM
Inbound HubSpot Company Duplicate Guard
When a company is created in HubSpot, checks Salesforce in real time for an existing match and either links them silently or routes an uncertain pair to a human for a merge…
How it runs
The automated pipeline, trigger to output.
- TriggerHubSpot company-created webhookHubSpot
- ActionSearch Salesforce by domain and nameSalesforce
- LogicClassify: no match, confident, or ambiguous
- ActionAuto-link confident match on HubSpot recordHubSpot
- ActionQueue ambiguous match in PostgresPostgres
- OutputSend Slack confirm/reject promptSlack
What it does
The moment a new company lands in HubSpot, this workflow searches Salesforce for a matching account. A clean domain match is auto-linked by writing the Salesforce ID back onto the HubSpot record. Anything ambiguous is parked in a Postgres queue and surfaced to a reviewer in Slack so a bad auto-merge never happens.
When to use it
Reps and forms keep creating HubSpot companies that already exist as Salesforce accounts. You want to catch the duplicate at the point of entry rather than during a nightly sweep.
How it works
- 1A HubSpot webhook fires on company creation.
- 2Search Salesforce by exact domain, then by normalized name.
- 3A logic branch sorts the result: no match, confident match, or ambiguous match.
- 4Confident matches write the Salesforce account ID back to the HubSpot record's external-ID field.
- 5Ambiguous matches are inserted into the Postgres review queue.
- 6The reviewer receives a Slack message to confirm or reject the link.
Set it up
What you configure once, before turning it on.
- 1Connect HubSpotCRM, deals, marketing, support.
- 2Connect SalesforceAccounts, opportunities, cases.
- 3Connect PostgresAny Postgres URL — query, write, migrate.
- 4Connect SlackChannels, DMs, threads, mentions.
- 5Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
- 6Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
- 7Test, then turn it onRun once against a sample, confirm the output, then enable the trigger.
More CRM workflows
Spin up a Monday handoff board for a departing rep's deals
When a rep is deactivated in Salesforce, this creates a Monday.com board with one item per open opportunity so the manager can manually triage and assign each handoff.
Dormant Account Check-In Call Scheduler
On the anniversary of an account's last touch, books a tentative check-in call on the owner's Google Calendar and emails the contact a scheduling invite.
Daily orphaned-opportunity sweep with manager Slack digest
Each morning this scans Salesforce for open opportunities owned by inactive users and posts a per-manager digest in Slack listing the orphaned deals that need a new owner.
Reassign a departed rep's open pipeline by territory
When a Salesforce user is deactivated, this finds all of their open opportunities and reassigns each one to the active rep who owns its territory, then logs the moves.
Escalate opportunities still owned by an inactive rep after grace period
Checks daily for open opportunities that have stayed with an inactive owner past a grace window and escalates each to the regional director by email and Slack with deal context.
AI-Personalized Dormant Account Win-Back
On a dormancy anniversary, an agent researches the account's history and recent public signals, drafts a genuinely personalized win-back email.
Run it inside a business
This workflow drops into a full company template. Import the org, and this is one of the playbooks its agents run.

Run this workflow in your colony.
14-day trial. No DevOps. No Sales call. Provisioned in under a minute.
