I think I found a solution to this problem. On around line 340, getPersonId is not returning an integer, it is returning an object. It needs to be replaced with something like this:
https://pastebin.com/JRTixfsT
to make the comparison work.
Also, if they’re using the same email address that already exists in Highrise, the update won’t work either. You’ll get a “Email [email protected] has already been taken” message.
If you want to to override the existing email, you’ll have to replace line 137 with:
https://pastebin.com/tXYXnKwp
The downside for this quick fix is that you can’t update or add any email addresses if they change it in future form submissions.
I don’t see anything in the Highrise API that says that it shouldn’t update the email address. I’ll send them a note and see what they have to say.