• Live group demo of Marketing Hub + Data Agent

    Standardize reporting, reduce manual work, and introduce AI without cleanup

    Join us on March 12
  • Marketing that's efficient and human? That's Loop Marketing.

    Explore HubSpot Academy's 39-video playlist and put it into practice.

    Start learning

Cannot set a contact's marketing status via API

dsecareanu
Top Contributor | Platinum Partner
Top Contributor | Platinum Partner

Hi there,

 

We're trying to update the contact marketing status for existing contacts in HubSpot via APi (that integrations is configured in settings to create marketing contacts) and the command we use is (integrated in a bigger sync):

 

    {

      "property": "hs_marketable_status",

      "value": "true"

    }

 

The response error we get is:

 

{

  "validationResults": [

    {

      "isValid": false,

      "message": ""hs_marketable_status" is a read only property; its value cannot be set.",

      "error": "READ_ONLY_VALUE",

      "name": "hs_marketable_status"

    }

  ],

  "status": "error",

  "message": "Property values were not valid",

  "correlationId": "f11f0def-0e2a-4261-91c2-17d6cec509bb"

}

 

Any ideas how we can update the marketing status on contacts via API?

 

Thank you!

Daniel Secareanu

Revenue Architect

Revenue Operations | RevTech Agency
mobilePhone
+40723513518
emailAddress
daniel@revtechagency.com
website
www.revtechagency.com
3 Accepted solutions
quentin_lamamy
Solution
Key Advisor | Diamond Partner
Key Advisor | Diamond Partner

 Hi @dsecareanu ,

 

You are trying to edit an internal field, you can't edit it, you can only read it.

 


View solution in original post

dennisedson
Solution
Community Manager
Community Manager

@quentin_lamamy 

Nope. this one is read only.

Workflows is the best solution now.  I brought this up recently.  @TimMunro also asked this and I suggested creating an idea for it because I agree that the API request should be able to accomplish this.

@dsecareanu , if Tim hasn't created the idea, please do and we can get the upvotes started.


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
DavidVoigt
Solution
Top Contributor | Elite Partner
Top Contributor | Elite Partner

- Create a form in the HubSpot backend. Make sure it is set to create marketing contacts.
- Use this endpoint to submit the form

You can use the API to trigger a form submission. Use this endpoint:
https://api.hsforms.com/submissions/v3/integration/submit

Docs 

View solution in original post

13 Replies 13
BBiales
Member

I have an idea but I haven't tried it yet. 
If we create our own Property, let's call it "My Marketing Contact", with two values TRUE and FALSE, you could have one or two workflows watching this property on contacts, and when set TRUE, the workflow can set the HS marketing contact on and when FALSE, set as a non-marketing contact. 
If NULL then it is left however HS sets it (via a form for instance, it might be on, via Import API, it might be off)


But if your import (via file or API, and set your new property to True or False, the workflow will kick in and do what you ask.

0 Upvotes
MGotfryd
Participant

What works for my case is to go to Settings -> Account Setup -> Integrations -> Marketing Contacts

 

and enable my connected app to create marketing contacts. When you use the normal API, they will automatically have this checked. 

DavidVoigt
Solution
Top Contributor | Elite Partner
Top Contributor | Elite Partner

- Create a form in the HubSpot backend. Make sure it is set to create marketing contacts.
- Use this endpoint to submit the form

You can use the API to trigger a form submission. Use this endpoint:
https://api.hsforms.com/submissions/v3/integration/submit

Docs 

kenshvetz
Contributor

Yes, why can't we simply edit this field in a list upload?  (FYI we use a 3rd party dedupe/data hygiene tool Insycle to import lists into HubSpot so same issue there as well -- even though it lets you select Marketing Contact Status as a field and set the value, HubSpot throws the same error on upload).  HubSpot, please fix!!

phena109
Participant

I haven't tested it but this article actually said we can change that via workflow. So while indirect we can have 2 simple workflows ready. One for making marketing contact and one for making non-marketing contact. When needed, enrol the contact to that workflow and let hubspot system change it for us. Can anyone check if that's possible?

dsecareanu
Top Contributor | Platinum Partner
Top Contributor | Platinum Partner

I've created the idea here, so please upvote it:

https://community.hubspot.com/t5/HubSpot-Ideas/Please-allow-marketing-contact-status-to-be-updated-v...

 

Thanks!

Daniel Secareanu

Revenue Architect

Revenue Operations | RevTech Agency
mobilePhone
+40723513518
emailAddress
daniel@revtechagency.com
website
www.revtechagency.com
dsecareanu
Top Contributor | Platinum Partner
Top Contributor | Platinum Partner

I understand that the field is not editable, but contacts can be toggled into marketing or non-marketing contacts through API integrations and form submissions (there are settings that allow you to toggle which API integration or type of form submissions creates a marketable or non-marketable contact) but something is not making sense.

 

In the end I figured it out going through the field description:

This unique identifier will be used when syncing with integration partners. Once created it can't be edited.
 
It seems it can be created, but it cannot be edited once created... which is a strange limitation because we have use cases in which a contact is created through an API integration as a marketing contact (or non marketing contact) and then we want to update the status of this contact through another API integration based on additional information we collect on that respective contact.
 
To give a concrete example:
 
We use Call Tracking Metrics to create contacts from phone calls and since we do not have an email address at the time of the call, the contact is created with a 12345678@hubspot.com temporary email address (which is, of course, non marketable to).
 
Once the call (handled by the sales) is done, that contact is updated in another CRM platform with a name, proper email address and other information and that data is passed to HubSpot via API by matching the phone number and updating the email and other relevant contact properties.
 
Now we have 2 cases: the contact was junk and it doesn't get an update, so it's fine that the @hubspot.com email is non marketable, but also the contact was valid and data is updated, but now it's marketing status cannot be updated because the contact has already been created by another API integration...
 
How can we go about this to automate this unless we use Pro and workflows (as only the upgrade from Starter seems to be the answer)? Thanks.
 

Daniel Secareanu

Revenue Architect

Revenue Operations | RevTech Agency
mobilePhone
+40723513518
emailAddress
daniel@revtechagency.com
website
www.revtechagency.com
quentin_lamamy
Key Advisor | Diamond Partner
Key Advisor | Diamond Partner

You just can't edit this field

message": "hs_marketable_status is a read only property its value cannot be set."

@dennisedson is there something under the hood to by pass restriction (even if it seems a bad idea to edit internal field)


0 Upvotes
dennisedson
Solution
Community Manager
Community Manager

@quentin_lamamy 

Nope. this one is read only.

Workflows is the best solution now.  I brought this up recently.  @TimMunro also asked this and I suggested creating an idea for it because I agree that the API request should be able to accomplish this.

@dsecareanu , if Tim hasn't created the idea, please do and we can get the upvotes started.


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

0 Upvotes
dsecareanu
Top Contributor | Platinum Partner
Top Contributor | Platinum Partner

If we want to change a contact's marketable status (i.e. if it's a marketable or non-marketable contact) how do we go about it via API (if the property is read only)?

Daniel Secareanu

Revenue Architect

Revenue Operations | RevTech Agency
mobilePhone
+40723513518
emailAddress
daniel@revtechagency.com
website
www.revtechagency.com
0 Upvotes
quentin_lamamy
Key Advisor | Diamond Partner
Key Advisor | Diamond Partner

I'm not sure to understand your question


0 Upvotes
dsecareanu
Top Contributor | Platinum Partner
Top Contributor | Platinum Partner

Thank you @quentin_lamamy - question though: how can the marketable status pe updated for contacts except the standard configured settings (API & forms)?

Daniel Secareanu

Revenue Architect

Revenue Operations | RevTech Agency
mobilePhone
+40723513518
emailAddress
daniel@revtechagency.com
website
www.revtechagency.com
0 Upvotes
quentin_lamamy
Solution
Key Advisor | Diamond Partner
Key Advisor | Diamond Partner

 Hi @dsecareanu ,

 

You are trying to edit an internal field, you can't edit it, you can only read it.