I have a question. I am using Hubspot api to access the contact subscription preferences. However, I can only fetch channel=EMAIL. But we have created custom channel as well (as you can see from screenshot what'sapp , and the marketing team wants to create more)
How can I fetch all of them via api?Not just the email ones (those I was able to) Thanks in advance
I have a question. I am using Hubspot api to access the contact subscription preferences. However, I can only fetch channel=EMAIL. But we have created custom channel as well (as you can see from screenshot what'sapp , and the marketing team wants to create more)
How can I fetch all of them via api?Not just the email ones (those I was able to) Thanks in advance
The HubSpot Subscription Preferences API currently only supports retrieving email subscription preferences, which is why you are only able to fetch results when using channel=EMAIL. Even if you have created additional subscription channels in HubSpot—such as WhatsApp or any other custom channel—the Subscription Preferences API (v4) still does not expose those channels through the API. According to HubSpot’s API documentation, this endpoint is designed specifically for email subscriptions and does not return subscription information for WhatsApp, SMS, or custom-created channels. These custom channels can be seen and managed inside the HubSpot UI, but they are not yet available via the public API. If you need to track custom channel subscription status externally, HubSpot recommends using custom contact properties or workflows as a workaround until API support is expanded. For now, the only way to fetch subscription preferences via the API is for email subscriptions; custom or WhatsApp subscriptions cannot be retrieved programmatically.
Hi @MaxTarq , the API behavior you’re seeing is normal today.
HubSpot only exposes email-based subscription preferences through the public endpoint, so even if your account has WhatsApp or other custom channels configured, those live purely in the UI and aren’t returned by the Subscription Preferences API. That’s why you can query channel=EMAIL but nothing else.
For your follow-up question, communication preference changes also don’t fire workflow enrollment. There’s no native trigger tied to “subscribed/unsubscribed” for non-email channels, and they’re not available as webhook events either
When teams need automation around those custom channels, the workaround is to mirror each channel’s opt-in into its own contact property and maintain it through a small internal flow. Once the property changes, you have a stable trigger for downstream actions without depending on unsupported channel events. If these opt-ins also need to stay synchronized with an external messaging system, Stacksync keeps those consent fields aligned in real time so your workflows act on clean, consistent data.
Did my answer help? Please mark it as a solution to help others find it too.
Ruben Burdin HubSpot Advisor Founder @ Stacksync Real-Time Data Sync between any CRM and Database
Hi @MaxTarq , the API behavior you’re seeing is normal today.
HubSpot only exposes email-based subscription preferences through the public endpoint, so even if your account has WhatsApp or other custom channels configured, those live purely in the UI and aren’t returned by the Subscription Preferences API. That’s why you can query channel=EMAIL but nothing else.
For your follow-up question, communication preference changes also don’t fire workflow enrollment. There’s no native trigger tied to “subscribed/unsubscribed” for non-email channels, and they’re not available as webhook events either
When teams need automation around those custom channels, the workaround is to mirror each channel’s opt-in into its own contact property and maintain it through a small internal flow. Once the property changes, you have a stable trigger for downstream actions without depending on unsupported channel events. If these opt-ins also need to stay synchronized with an external messaging system, Stacksync keeps those consent fields aligned in real time so your workflows act on clean, consistent data.
Did my answer help? Please mark it as a solution to help others find it too.
Ruben Burdin HubSpot Advisor Founder @ Stacksync Real-Time Data Sync between any CRM and Database
I have a question. I am using Hubspot api to access the contact subscription preferences. However, I can only fetch channel=EMAIL. But we have created custom channel as well (as you can see from screenshot what'sapp , and the marketing team wants to create more)
How can I fetch all of them via api?Not just the email ones (those I was able to) Thanks in advance
The HubSpot Subscription Preferences API currently only supports retrieving email subscription preferences, which is why you are only able to fetch results when using channel=EMAIL. Even if you have created additional subscription channels in HubSpot—such as WhatsApp or any other custom channel—the Subscription Preferences API (v4) still does not expose those channels through the API. According to HubSpot’s API documentation, this endpoint is designed specifically for email subscriptions and does not return subscription information for WhatsApp, SMS, or custom-created channels. These custom channels can be seen and managed inside the HubSpot UI, but they are not yet available via the public API. If you need to track custom channel subscription status externally, HubSpot recommends using custom contact properties or workflows as a workaround until API support is expanded. For now, the only way to fetch subscription preferences via the API is for email subscriptions; custom or WhatsApp subscriptions cannot be retrieved programmatically.
thanks a lot for the reply. clear! is there a way instead to configure a webhook for when a contact subscribes/unsubscibes? I did not find communication preferences in the webhoook settings as an available object