Create a *non subscriber* contact via API

SOLVE
Rachelina
Member

Hi everyone, 

I am a developer and we have a Hubspot integration that creates and updates contacts into our clients' Hubspot account.

We noticed that shortly after a contact is created we get "The lifecycle stage for this contact was updated to subscriber" on the contact.

Is there a way to create a contact via API without it being automatically updated into subscriber?

We may push some contacts that did not opt in and we want to prevent this behavior.

 

Thanks in advance

0 Upvotes
1 Accepted solution

Accepted Solutions
WendyGoh
Solution
HubSpot Moderator

Hi @Rachelina93,

 

Thanks for sharing your use case!

 

In this case, I do have two options that I'd love to share with you:

 

1. We can create a workflow to target only contact created via API and a lifecycle stage == Subscriber:

Screen Shot 2019-11-25 at 10.38.22 AM.png

 

And change the lifecycle stage to 'Other'.

 

OR

 

2. Create a custom lifecycle stage property (as the default lifecycle property is non-editable) and for this you can refer to this community thread: HubSpot Community - Quick Tip: How to create a custom Lifecycle Stage ... - HubSpot Community.

 

View solution in original post

0 Upvotes
7 Replies 7
WendyGoh
HubSpot Moderator

Hi @Rachelina,

 

When creating contact via HubSpot API, I would not expect it to automatically update contact's lifecycle stage into subcriber if it's not set. 

 

In this case, I'm suspecting that either:

1. There is a workflow ssetup to change the contact lifecycle stage to subscriber: Change the lifecycle stage of a list of contacts.

OR

2. The Lifecycle stage sync is being toggled on. With this sync toggled on, any updates to a company's Lifecycle stage value will update its associated contacts: Manage lifecycle stages sync settings.

 

Could we check on these and see if that's the cause of it? 

 

If you're still seeing contact that was created by API have their lifecycle stage automatically changed to subscriber, could you share with me:

1. Your portal ID

2. The specific create contact endpoint

3. The POST body

0 Upvotes
Rachelina
Member

Hi @WendyGoh ,

Thanks for your response.

 

I checked and:

1. No workflows present at all

2. Sync is not toggled on: Screen Shot 2019-11-20 at 12.36.07 PM.png

 

And I still se contacts becoming subscribers as soon as they're created via API 🙂

So about your requests:

 

1. Portal ID: 6345104

2.  We use both those endpoints:

/contacts/v1/contact/createOrUpdate/email/{email}

AND

/contacts/v1/contact/batch/

 3. The post body is merely {properties: [{key: value},{key: value}...]} with custom properties from our platform.. (+email for each contact when using batch)

0 Upvotes
WendyGoh
HubSpot Moderator

Hi @Rachelina,

 

So it looks like contact are created with a default lifecycle stage of 'Subscriber' via API. 

 

However, as a workaround, if you'd like to set the default lifecycle stage to i.e. 'Lead', you can set up a workflow and using the 'Set contact property value' action to set the lifecycle stage. 

 

0 Upvotes
Rachelina93
Member

Hi @WendyGoh,

 

Thank you for looking into it.

 

Problem with this solution is that we only push Contacts from our platform into theirs via API and we would like to have control on which Contacts are created as Subscribers and which aren't.

Our customers may have other Contacts in their Hubspot account that are not related to the ones we are pushing and we don't want to impact their workflow.

 

Also, I tried creating a Workflow  from our Hubspot account and it seems like there is no "lower" stage for a Contact then Subscriber.

 

Isn't there a concept of a Contact that has not subscribed yet, meaning he does not want to receive any Marketing Email?

 

If so, is there any way to define this upon Customer creation via API (adding some flag  into our post body)?

0 Upvotes
WendyGoh
Solution
HubSpot Moderator

Hi @Rachelina93,

 

Thanks for sharing your use case!

 

In this case, I do have two options that I'd love to share with you:

 

1. We can create a workflow to target only contact created via API and a lifecycle stage == Subscriber:

Screen Shot 2019-11-25 at 10.38.22 AM.png

 

And change the lifecycle stage to 'Other'.

 

OR

 

2. Create a custom lifecycle stage property (as the default lifecycle property is non-editable) and for this you can refer to this community thread: HubSpot Community - Quick Tip: How to create a custom Lifecycle Stage ... - HubSpot Community.

 

View solution in original post

0 Upvotes
Rachelina
Member

Hi @WendyGoh ,

 

Thanks for your responsiveness.

 

I tried what you suggested and it looks like a possible solution, we will consider implementing it.

 

0 Upvotes
WendyGoh
HubSpot Moderator

Hi @Rachelina,

 

Awesome! Glad that all's well here!

0 Upvotes