Native CRM Filter Support Matrix
This shows the support for native filters across different CRM platforms, with exceptions noted below.
Filter Type | Salesforce | Hubspot | Zoho CRM | Freshworks | Zendesk CRM |
---|---|---|---|---|---|
crm_accounts_created_after | A | A | A | A | A |
crm_accounts_created_before | A | A | A | A | A |
crm_accounts_updated_after | A | A | A | A | A |
crm_accounts_updated_before | A | A | A | A | A |
crm_accounts_owner_id[] | A | A | A | A | A |
crm_accounts_created_by_id[] | A | A | A | A | A |
crm_accounts_contact_id[] | NA | A | NA | NA | NA |
crm_contacts_created_after | A | A | A | A | A |
crm_contacts_created_before | A | A | A | A | A |
crm_contacts_updated_after | A | A | A | A | A |
crm_contacts_updated_before | A | A | A | A | A |
crm_contacts_owner_id[] | A | A | A | A | A |
crm_contacts_created_by_id[] | A | A | A | A | A |
crm_contacts_account_id[] | A | A | A | A | NA |
crm_contacts_email[] | A | A | A | A | A |
crm_deals_created_after | A | A | A | A | A |
crm_deals_created_before | A | A | A | A | A |
crm_deals_updated_after | A | A | A | A | A |
crm_deals_updated_before | A | A | A | A | A |
crm_deals_stage_id[] | A | A | A | A | A |
crm_deals_pipeline_id[] | NA | A | NA | A | NA |
crm_deals_status | A | A | A | NA | NA |
crm_deals_account_id[] | A | A | A | A | NA |
crm_deals_contact_id[] | A | A | A | A | A |
crm_deals_owner_id[] | A | A | A | A | A |
crm_deals_created_by_id[] | A | A | A | A | A |
crm_deals_amount_greater_than | A | A | A | NA | A |
crm_deals_amount_less_than | A | A | A | NA | A |
crm_leads_created_after | A | NA | A | NA | A |
crm_leads_created_before | A | NA | A | NA | A |
crm_leads_updated_after | A | NA | A | NA | A |
crm_leads_updated_before | A | NA | A | NA | A |
crm_leads_owner_id[] | A | NA | A | NA | A |
crm_leads_created_by_id[] | A | NA | A | NA | A |
crm_leads_email[] | A | NA | A | NA | A |
crm_leads_converted_after | A | NA | NA | NA | NA |
crm_leads_converted_before | A | NA | NA | NA | NA |
crm_engagements_engagement_type | A | A | NA | NA | A |
crm_engagements_created_after | A | A | A | NA | A |
crm_engagements_created_before | A | A | A | NA | A |
crm_engagements_updated_after | A | A | A | NA | A |
crm_engagements_updated_before | A | A | A | NA | A |
crm_engagements_account_id[] | A | A | A | NA | A |
crm_engagements_contact_id[] | A | A | A | NA | A |
crm_engagements_deal_id[] | A | A | A | NA | A |
crm_engagements_lead_id[] | A | NA | A | NA | A |
crm_engagements_direction | A | A | A | NA | NA |
crm_engagements_status | A | A | NA | NA | NA |
Remarks
Filters are organized into logical categories that can be combined to narrow down your search results. Here are the common types of filters:
-
Date & Amount Filters -
created_after
,updated_before
,amount_less_than
, etc. -
Owner -
owner_id[]
-
Created By -
created_by_id[]
-
Contact -
contact_id[]
-
Account -
account_id[]
-
Email -
email[]
-
Deal Stage -
stage_id[]
-
Pipeline -
pipeline_id[]
-
Deal -
deal_id[]
-
Status -
status
-
Direction -
direction
Different CRMs handle combinations of these filter types differently.
Salesforce
- A maximum of 30 filter values is allowed.
- For Date and Amount filters, the filters are applied in an "AND" operation. That means the record must match all those conditions. For example,
(created_after = XYZ AND updated_before = ABC)
- If you use filters from different groups — like one for date and another for owner — Salesforce combines them using OR. So a record will be shown if it matches any of the filter groups. For example,
(created_after = XYZ AND updated_before = ABC) OR (owner_id in [...])
- Pass Through Filters are not supported.
Zoho CRM
- Filtering by
crm_deals_stage_id
uses the Deal Stage Name. - For Date and Amount filters, the filters are applied in an "AND" operation. That means the record must match all those conditions. For example,
(created_after = XYZ AND updated_before = ABC)
- If you use filters from different groups — like one for date and another for owner — Zoho CRM combines them using OR. So a record will be shown if it matches any of the filter groups. For example,
(created_after = XYZ AND updated_before = ABC) OR (owner_id in [...])
- Pass Through Filters:
- Pass Key value pairs, inside the passThroughRequest.query. Those will be passed to the following native endpoint.
- API reference: Zoho CRM Search API
HubSpot
-
The total number of matching records must be under 10,000. If your filters return more than that, you’ll get an error with status code 400.
-
A filter query can use only up to 5 groups in HubSpot. When more than five groups are combined, HubSpot throws an error.
-
Different groups are combined using OR, meaning a record only needs to match one group. For example,
(created_after AND created_before AND amount filters) OR (owner_id in [...]) OR (contact_id in [...])
-
Engagement filters
status
anddirection
are further constrained by theengagement_type
:
Engagement Type | status | direction |
---|---|---|
CALL | A | A |
MEETING | A | NA |
A | A | |
COMMUNICATION | NA | NA |
NOTE | NA | NA |
TASK | A | NA |
- Pass Through Filters:
- Whatever value you give in
passThroughRequest.body
, that value will be assigned against "filterGroups" in the requestBody for the Native API. - For more details, refer to HubSpot’s search filter docs:
HubSpot CRM Search API Guide
- Whatever value you give in
Freshworks
- When multiple filter groups are combined, the filters are applied in an "AND" operation. This means a record will only show up if it matches every single filter you’ve used. For example,
(created_after = XYZ AND updated_before = ABC) AND (owner_id in [...]) AND (contact_id in [...])
- Pass Through Filters:
- Whatever value you give in
passThroughRequest.body
, that value will be assigned against "filter_rule" in the requestBody for the Native API. - For more details, refer to Freshworks filtered_search api docs:
Freshworks Search API Guide
- Whatever value you give in
Zendesk CRM
- When multiple filter groups are combined, the filters are applied in an "AND" operation. This means a record will only show up if it matches every single filter you’ve used. For example,
(created_after = XYZ AND updated_before = ABC) AND (owner_id in [...]) AND (contact_id in [...])
- Pass Through Filters:
- Whatever value you give in
passThroughRequest.body
, that value will be assigned against "query" in the requestBody for the Native API. - For more details, refer to Zendesk search api docs:
Zendesk CRM Search Query Language
- Whatever value you give in
Updated 6 days ago