Workflow add create or update contact step

We have workflows where we need to find a contact and if they exist update a property and if they don’t create them.

Example scenario: Referrals.

  1. Referrer submits a form with a propect’s contact details and their own. Both contacts will need to be created, so the form contains both sets of details.
  2. Prospect is created by form submission and then a workflow fires a create contact step to create the referrer and mark an “IsReferrer” property to true
  3. If they are already in the CRM the step will error, when really we want is to update the fact “IsReferrer” property to true.

In general, it would be useful to have a create or update step for contacts, companies and deals.

@RCiarleglio I’ve got the same issue in many client projects. Sadly, HubSpot already offers the endpoint to create OR update contacts, but is missing the function in workflows. Even third party integrators like Zapier or Make offer this action, so if you’re using one of them already, maybe try it that way:

There are tons of use cases that would be solved for me with this additional workflow action.

Right now, the only workaround I’m aware of contains custom code workflow actions. If you have Operations Hub Professional, you could create the referrer contact with the ‘create contact action’ but without an email address at first, and store the email from the form submission in an additional property. Then you could modify this custom code workflow template to search for the email address based on the value of the additional property. An if/then-branch should then decide to merge both contacts if the email already exists, or to copy the value in the main email property if not.

Hope this helps!
Best regards

Alex from made2GROW

thanks @made2GROW_Alex appreicate the input

I am aware of both of those workarounds, however op hub pro is a lot to commit to for just this feature and the client doesn’t always want that hub if they are price sensitive. Zapier is an option but again feels a little silly to have to use another system to do this… hence me submitting the idea.