HubSpot: Difference between revisions

From Starfish ETL
Jump to navigation Jump to search
Line 24: Line 24:
}
}
</syntaxhighlight>
</syntaxhighlight>
See [C# Scripting|https://wiki.starfishetl.com/index.php/Using_Starfish_Scripting_Class_Properties_%26_Methods_in_C#Useful_Functions] for ConvertObj2String.
See [[https://wiki.starfishetl.com/index.php/Using_Starfish_Scripting_Class_Properties_%26_Methods_in_C#Useful_Functions|C# Scripting]] for ConvertObj2String.


=Updating Contacts=
=Updating Contacts=
When updating contacts, if you are matching on email address, you must be sure NOT to pass in a blank email address.  HubSpot will not know which contact to update and will update a random contact with incorrect data.  You can either exclude blank emails from your origin or check the "Skip if Blank" checkbox on the email address field.  I prefer to do both.
When updating contacts, if you are matching on email address, you must be sure NOT to pass in a blank email address.  HubSpot will not know which contact to update and will update a random contact with incorrect data.  You can either exclude blank emails from your origin or check the "Skip if Blank" checkbox on the email address field.  I prefer to do both.

Revision as of 00:44, 27 January 2023

Date Fields

While the HubSpot API documentation states that you should pass Dates to the HubSpot API in Unix format, https://legacydocs.hubspot.com/docs/faq/how-should-timestamps-be-formatted-for-hubspots-apis, the Starfish HubSpot connector will do this conversion for you. You do need to be sure to pass that date in a specific format and at midnight. See the following examples.

Using API v3, for a date only field, you need to explicitly set the date to midnight UTC. VBScript:

Function ScriptedField
  ScriptedField=FormatDate("@@ORG:date_entered@@", "yyyy-MM-ddT00:00:00Z")
End Function

C#:

object ScriptedField()
{
    string strDte = ConvertObj2String(Starfish.OriginData["INVOICE_SENT_DATE_C"]);
    
    if (!string.IsNullOrEmpty(strDte))
    {
        DateTime dte = Convert.ToDateTime(strDte);
        strDte = dte.ToString("yyyy-MM-dd 00:00:00Z");
    }
    
	return strDte;
}

See [Scripting] for ConvertObj2String.

Updating Contacts

When updating contacts, if you are matching on email address, you must be sure NOT to pass in a blank email address. HubSpot will not know which contact to update and will update a random contact with incorrect data. You can either exclude blank emails from your origin or check the "Skip if Blank" checkbox on the email address field. I prefer to do both.