Native CRM Filter Support Matrix

This shows the support for native filters across different CRM platforms, with exceptions noted below.

Filter TypeSalesforceHubspotZoho CRMFreshworksZendesk CRMSugar CRMPipedriveLeadsquaredBrevoClose CRMPipeline CRMHighLevel
crm_accounts_created_afterAAAAAANAAAANANA
crm_accounts_created_beforeAAAAAANAANAANANA
crm_accounts_updated_afterAAAAAAAAAAANA
crm_accounts_updated_beforeAAAAAAAANAAANA
crm_accounts_owner_id[]AAAAAAAANAAANA
crm_accounts_created_by_id[]AAAAAANAANAANANA
crm_accounts_contact_id[]NAANANANANANAAANANANA
crm_contacts_created_afterAAAAAANAAAANAA
crm_contacts_created_beforeAAAAAANAANAANAA
crm_contacts_updated_afterAAAAAAAAAAAA
crm_contacts_updated_beforeAAAAAAAANAAAA
crm_contacts_owner_id[]AAAAAAANANAAAA
crm_contacts_created_by_id[]AAAAAANANANAANANA
crm_contacts_account_id[]AAAANAAANANAAANA
crm_contacts_email[]AAAAAANAAANANAA
crm_deals_created_afterAAAAAANAAAANAA
crm_deals_created_beforeAAAAAANAANAANAA
crm_deals_updated_beforeAAAAAAAANAAANA
crm_deals_updated_afterAAAAAAAAAAANA
crm_deals_stage_id[]AAAAAAANANAAAA
crm_deals_pipeline_id[]NAANAANANAANANAAAA
crm_deals_statusNAAANANAAAANAAAA
crm_deals_account_id[]AAAANANAANAAAANA
crm_deals_contact_id[]AAAAANAANAAAAA
crm_deals_owner_id[]AAAAAAAAAAAA
crm_deals_created_by_id[]AAAAAANANANAANANA
crm_deals_amount_greater_thanAAANAAANANANAANANA
crm_deals_amount_less_thanAAANAAANANANAANANA
crm_leads_created_afterANAANAAANAANANANANA
crm_leads_created_beforeANAANAAANAANANANANA
crm_leads_updated_afterANAANAAAAANANAAA
crm_leads_updated_beforeANAANAAANAANANANANA
crm_leads_owner_id[]ANAANAAAAANANAAA
crm_leads_created_by_id[]ANAANAAANAANANANANA
crm_leads_email[]ANAANAAANAANANANANA
crm_leads_converted_afterANANANANANANANANANANANA
crm_leads_converted_beforeANANANANANANANANANANANA
crm_engagements_engagement_typeAANANAAANANANAANAA
crm_engagements_created_afterAAANAAANANANAANANA
crm_engagements_created_beforeAAANAAANANANAANANA
crm_engagements_updated_afterAAANAAAANANAAANA
crm_engagements_updated_beforeAAANAAAANANAAANA
crm_engagements_account_id[]AAANAANAANAAAANA
crm_engagements_contact_id[]AAANAANAANAAAAA
crm_engagements_deal_id[]AAANAANAANAANAANA
crm_engagements_lead_id[]ANAANAANAANANANANANA
crm_engagements_directionAAANANAANANANAANANA
crm_engagements_statusAANANANAANANAANANANA

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) AND (owner_id in [...]) OR (contact_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 and direction are further constrained by the engagement_type:

Engagement Typestatusdirection
CALLAA
MEETINGANA
EMAILAA
COMMUNICATIONNANA
NOTENANA
TASKANA
  • 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

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

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

Sugar CRM

  • 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) AND (owner_id in [...]) OR (contact_id in [...])
  • For crm_engagements_direction , do not give this value, if your type includes NOTE or TASKS.