Keep Your Hubspot Contact List Fresh With Automated Cleanup

Every week, Notis checks your Notion database for marked-as-inactive contacts and automatically archives them in Hubspot. Your CRM stays lean and focused on active relationships.

Trigger

Recurring schedule

Notis starts this workflow on a schedule, such as daily, weekly, or during business hours.

Hubspot logo

Action

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.

Why this helps

Old or dead-lead contacts clutter your Hubspot, making reports unreliable and making it hard to focus on what matters. Manual archiving is tedious and easy to forget.

  • Keep Hubspot focused on active contacts
  • Reduce clutter in your CRM
  • Accurate sales metrics without dead leads
  • Automated cleanup on a schedule
  • Less manual database maintenance

Setup

Build it in a few focused steps.

  • 1Connect Notion and Hubspot to Notis
  • 2Create the automation: 'Every week, find contacts in Notion marked as closed or inactive, then archive them in Hubspot'
  • 3Specify which Notion status field indicates a closed contact and the archive schedule (e.g., every Monday)
  • 4Set your notification channel to confirm weekly archives
  • 5Test by marking a sample contact as inactive in Notion and verifying it archives in Hubspot on the next scheduled run

Questions about this workflow

Will this accidentally archive active contacts?

No. Notis only archives contacts with the status you specify in Notion (e.g., 'inactive', 'closed'). You control which Notion status triggers archiving.

Can I restore archived contacts?

Yes. Hubspot keeps archived contacts recoverable. If needed, you can restore them via Hubspot's UI or ask Notis to unarchive them.

How often can I run this cleanup?

Weekly, daily, monthly—whatever works for you. Set the schedule when you create the automation and adjust anytime.

When this happens · Trigger

Do this · Action

Supported Triggers and Actions

Notis builds workflows that link Notion to Hubspot. A trigger fires from one place; an action lands in another.

Notion logo

Notion triggers

Hubspot logo

Hubspot actions

All Page Events

Triggers when any Notion page is created or updated across the workspace.

TriggerPolling

Add asset association

Associates an existing asset ('form', 'object list', or 'external web url') with a specified hubspot marketing campaign.

ActionInstant

Comment Created

Triggers when a new comment is created in Notion. Optional `page_id` filter scopes to comments on a specific page. When omitted, fires for any new comment in the workspace the integration has access to. Requires the 'Read comments' capability on the Notion integration. If a connection was authorized before that capability was enabled, the user must re-authorize the connection for comment events to flow.

TriggerInstant

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.

ActionInstant

New Comment

Triggers when a new comment is added to a specified Notion block or page.

TriggerPolling

Archive email

Archives the hubspot email specified by `emailid` by moving it to the recycling bin, making it inaccessible unless restored.

ActionInstant

Database Created

Triggers when a new Notion database (the container) is created. A database is the post-2025-09-03 container that holds one or more data sources. This trigger fires for the container's creation event (`database.created`), distinct from `NOTION_DATASOURCE_CREATED` which fires when a new data source is added to an existing database. Most customers calling Notion's `POST /v1/databases` (the legacy API) or creating a database via the Notion UI will see this event. Adding a new data source to an existing database fires `data_source.created` instead — use `NOTION_DATASOURCE_CREATED` for that. Notion's payload puts `entity.type: "block"` (the container is a `child_database` block in the content tree) and `entity.id` is the database id.

TriggerInstant

Archive a batch of emails by ID

Archives multiple hubspot crm emails by id; ids must exist as archiving is irreversible.

ActionInstant

Data Source Created

Triggers when a new Notion data source is created. Fires workspace-wide. The payload's `data.parent` carries the data source's tree parent (typically the teamspace) for downstream filtering. A single template-based database creation can fire multiple `data_source.created` events at once — one per data source the template instantiates.

TriggerInstant

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.

ActionInstant

Data Source Schema Updated

Triggers when a Notion data source's schema is updated. Fires on column add / remove / rename. Payload includes `data.updated_properties: [{id, name, action}]` so consumers can discriminate the kind of change downstream. Optional `data_source_id` filter scopes to schema changes on a single data source. When omitted, fires for any schema change in the workspace the integration has access to. Note: adding a column also fires `page.properties_updated` once per existing row in the data source. Customers wanting a single structural-change signal should use this trigger.

TriggerInstant

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.

ActionInstant

New Page

Triggers when a new page is added to a Notion database.

TriggerPolling

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.

ActionInstant

Page Added to Page

Fires when a new subpage (a `child_page` type block) is added under a specified parent Notion page.

TriggerPolling

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.

ActionInstant

Connect any two apps with Notis in the middle.

Not just Notion 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.