Create or update a HubSpot contact
Input
email requiredThe contact's email address. This is the key: an address already on the account is updated rather than duplicated.
dry_run optionalWhen true, works out whether the contact exists and fills the form, then stops before saving. Nothing is created or changed.
Default: falselastName optionalportalId optionalThe HubSpot account id, when the login has more than one. Omit it to use the default account.
firstName optionallegalBasis optionalGDPR legal basis for processing the contact's data, used when creating. Required on accounts with GDPR features on (HubSpot will not create the contact without it); ignored for an existing contact. Never defaulted — the caller must choose it.
Output
email requiredsaved requiredTrue only when a save happened AND the contact was re-read with the requested values.
action requiredcreated / updated = saved and confirmed; unchanged = the contact exists and already has these values, so nothing was saved; would_* = dry run.
dryRun requiredportalId requiredchanged optionalWhich fields were changed on an existing contact.
contactId optionalcontactUrl optionalaccountUsed optionalexistedBefore optional