TL;DR: Conditional triggering lets you filter exactly which HubSpot records sync to monday.com (incoming) and which monday.com items sync to HubSpot (outgoing). Instead of syncing everything, you define rules — only records or items that match your conditions will be created or updated.
How it works
Every sync has two filter layers — incoming and outgoing. Each can be set independently.
Direction
What it filters
Example
Incoming (HubSpot → monday)
Which HubSpot records can create or update items on your board
Only sync Deals where Deal Stage = "Closed Won"
Outgoing (monday → HubSpot)
Which monday.com items can create or update records in HubSpot
Only sync items where Status = "Approved"
Setting up incoming conditions
On the Incoming data screen of the sync wizard:
By default, the filter is set to Any contact (or any deal, company, ticket or task, depending on the object you chose). All HubSpot records of that type will sync
To filter, select A contact that meets conditions
Click + Add condition, then choose a HubSpot property and an operator (the default is is not empty). Next stays disabled until you add at least one condition
Add a caption...
Example: Only sync high-value deals
HubSpot property: Amount
Condition: is greater than
Value: 10000
Only deals with an amount above $10,000 will create items on your board.
Setting up outgoing conditions
On the Outgoing data screen:
By default, the filter is set to any item — all items on the board will sync to HubSpot
To filter, select an item that meets conditions
Click + Add condition and add one or more rules based on monday.com column values
Only items with the "Qualified" status will create or update records in HubSpot.
Combining conditions
You can add multiple conditions. Use the AND / OR toggle between them to choose the logic:
AND — all conditions must be met for a record or item to sync
OR — a record or item syncs if any one of the conditions is met
For example: Deal Stageis "Closed Won" ANDAmountis greater than 10000 syncs only large won deals, while Priorityis "High" ORStatusis "Escalated" syncs either kind of ticket.
Add a caption...
The sync will only be triggered when your conditions are met, regardless of field mapping.
Common use cases for conditional triggering
Sales pipeline : Only sync deals past a certain stage (e.g., "Proposal" or later)
Contact segmentation : Only sync contacts with a specific lifecycle stage (e.g., "Customer")
Support triage : Only sync tickets with priority = "High"
Outbound control : Only push items to HubSpot when a status column is set to "Ready to sync"
When to use conditions vs. sync everything
First time using the app — sync everything. Start with "any record" and "any item" to see how the data flows, then add conditions.
Dedicated board for one HubSpot object — sync everything. The board exists for this purpose.
Shared board with mixed content — set outgoing conditions so only the right items create HubSpot records.
Large HubSpot portal, focused board — set incoming conditions so only relevant records land on your board.
Nothing syncing after adding conditions? A condition that's too restrictive (e.g., an exact match on a misspelled value) will silently block everything. Switch back to "any record" or "any item" temporarily to confirm the sync itself works, then re-add your conditions one at a time.
Common gotchas
Conditions are evaluated at sync time — if a record or item later stops matching, existing synced data is not deleted (unless sync deletions are enabled)
You can change conditions after activation — the new rules apply to future syncs only
Conditions work alongside field mapping — a record must match conditions AND have the required mapped fields
"Any record/item" is the default. If you don't change the incoming and outgoing screens, everything syncs.
Conditions apply per sync. If you have multiple syncs, each has its own independent conditions.
Start simple. For your first sync, use "any record" and "any item", watch what syncs, then add conditions based on what you want to exclude.