Subscription Preferences

MaxTarq
Member

Hello folks

 

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 advanceScreenshot 2025-11-08 at 7.32.19 PM.png

0 Upvotes
3 Accepted solutions
TG6
Solution
Member

@MaxTarq wrote:

Hello folks

 

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 advanceScreenshot 2025-11-08 at 7.32.19 PM.png


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.

View solution in original post

0 Upvotes
Jaycee_Lewis
Solution
Thought Leader

Hey @MaxTarq 👋 Looking at the Webhook subscription options, I don't see an option there. I found this post from one of our champions, which offers a workaround suggestion by polling the Subscription Preferences API as one part of the solution. — Jaycee 





loop


Loop Marketing is a new four-stage approach that combines AI efficiency and human authenticity to drive growth.

Learn More




View solution in original post

0 Upvotes
RubenBurdin
Solution
Top Contributor

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.

(https://developers.hubspot.com/docs/api-reference/communication-preferences-subscriptions-v3/guide )

 

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 

(https://knowledge.hubspot.com/workflows/create-workflows )

 

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 Ruben Burdin
HubSpot Advisor
Founder @ Stacksync
Real-Time Data Sync between any CRM and Database
Stacksync Banner

View solution in original post

0 Upvotes
6 Replies 6
MaxTarq
Member

 is it not even possible to fire a workflow based on a communication preference being added or unsubscribed?

 

thanks

0 Upvotes
RubenBurdin
Solution
Top Contributor

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.

(https://developers.hubspot.com/docs/api-reference/communication-preferences-subscriptions-v3/guide )

 

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 

(https://knowledge.hubspot.com/workflows/create-workflows )

 

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 Ruben Burdin
HubSpot Advisor
Founder @ Stacksync
Real-Time Data Sync between any CRM and Database
Stacksync Banner
0 Upvotes
Jaycee_Lewis
Thought Leader

Great question. Hey @GiantFocal @RubenBurdin @TomM2  Have you set up workflow enrollments this way in any of your recent projects? — Jaycee





loop


Loop Marketing is a new four-stage approach that combines AI efficiency and human authenticity to drive growth.

Learn More




0 Upvotes
TG6
Solution
Member

@MaxTarq wrote:

Hello folks

 

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 advanceScreenshot 2025-11-08 at 7.32.19 PM.png


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.

0 Upvotes
MaxTarq
Member

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

0 Upvotes
Jaycee_Lewis
Solution
Thought Leader

Hey @MaxTarq 👋 Looking at the Webhook subscription options, I don't see an option there. I found this post from one of our champions, which offers a workaround suggestion by polling the Subscription Preferences API as one part of the solution. — Jaycee 





loop


Loop Marketing is a new four-stage approach that combines AI efficiency and human authenticity to drive growth.

Learn More




0 Upvotes