Remove Duplicate Records from Hubspot via Slack
Your team discusses duplicate company records in Slack: 'Acme Corp and ACME CORPORATION are the same'. Notis archives the duplicate and consolidates the records so your database stays clean.
Trigger
Channel Message Received
Triggered when a message is posted in a Slack channel (public, private, or multi-party IM). Does NOT match direct messages.
Action
Archive batch of objects by id
Archives a batch of existing, non-archived crm objects of a specified `objecttype` by their ids, effectively hiding them from active use.
Why this helps
Duplicate records clutter your Hubspot database and skew reporting. Searching becomes unreliable, and you lose confidence in your data. Manual cleanup is tedious and often gets postponed.
- Keep your database clean and deduplication effort low
- Prevent reporting skew from duplicates
- Improve search accuracy across your CRM
- Reduce manual cleanup work
Setup
Build it in a few focused steps.
- 1Connect Slack and Hubspot to Notis.
- 2Create an automation: 'When someone mentions a duplicate record in #data-cleanup, archive the duplicate in Hubspot.'
- 3Designate a channel like #data-cleanup for duplicate reports.
- 4Your team posts identified duplicates like 'Company: Acme vs ACME Corp' or 'Contact: John Smith duplicate'.
- 5Notis finds the duplicates and archives the older or less complete record.
Questions about this workflow
How does Notis determine which record to archive?
You specify which record to keep (usually the more complete one). Notis archives the other copy.
Can I merge records instead of archiving?
Hubspot's API doesn't support record merging, so archival is the current approach. You can restore a record manually if needed.
Does this work for all object types?
Yes. Contacts, companies, deals, products, or any CRM object type can be archived this way.
When this happens · Trigger
Do this · Action
Supported Triggers and Actions
Notis builds workflows that link Slack to Hubspot. A trigger fires from one place; an action lands in another.
Slack triggers
Hubspot actions
New Channel Created Trigger
Triggered when a new channel is created in Slack.
Add asset association
Associates an existing asset ('form', 'object list', or 'external web url') with a specified hubspot marketing campaign.
Channel Message Received
Triggered when a message is posted in a Slack channel (public, private, or multi-party IM). Does NOT match direct messages.
Add token to event template
Adds a new custom data token to an existing event template for a specified hubspot application, optionally populating a crm object property if objectpropertyname is provided.
Direct Message Received
Triggered when a new direct message (DM) is sent to a user in Slack. Catches all DMs across all DM channels.
Archive email
Archives the hubspot email specified by `emailid` by moving it to the recycling bin, making it inaccessible unless restored.
Message Reaction Added
Triggered when a reaction is added to a message in Slack. Supports optional filtering by channel and emoji name.
Archive a batch of emails by ID
Archives multiple hubspot crm emails by id; ids must exist as archiving is irreversible.
Message Reaction Removed
Triggered when a reaction is removed from a message in Slack. Supports optional filtering by channel and emoji name.
Archive a batch of quotes by id
Archives a batch of existing, non-archived quotes by their ids; this action is irreversible and useful for managing outdated or irrelevant quotes.
Reaction Added Trigger
DEPRECATED: use `SLACK_MESSAGE_REACTION_ADDED` instead. Triggered when a reaction is added to a message in Slack.
Archive batch of companies by id
Archives a batch of companies by their unique ids; targeted companies must exist, not be previously archived, and this api operation is irreversible.
Reaction Removed Trigger
DEPRECATED: use `SLACK_MESSAGE_REACTION_REMOVED` instead. Triggered when a reaction is removed from a message.
Archive batch of contacts by id
Archives a batch of existing contacts by their hubspot crm ids, rendering them inactive; this action is irreversible via the api and requires manual restoration or a separate unarchive endpoint.
New Bot Message Received Trigger
DEPRECATED: use `SLACK_CHANNEL_MESSAGE_RECEIVED` with `is_bot_message=true` instead. Triggered when a new bot message is posted to a Slack channel.
Archive batch of deals by id
Archives a batch of existing deals by their unique hubspot ids, removing them from active views and reports (soft delete); archived deals may be restorable.
Connect any two apps with Notis in the middle.
Not just Slack and Hubspot. Any combination from 985+ integrations.
When this happens · Trigger
Do this · Action
Save your first hour today.
7 days free trial with 20$ free usage included.
No card. Works with personal or business Hubspot.
